From ca67aa42ef60ccae76357d981e8bc66d5ba5fa85 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:33:04 +0100 Subject: [PATCH 001/175] Add auto-generated pyhton classes for GX Credential Schema Signed-off-by: Anja Strunk --- generator/common/gx-schema.py | 8957 ++++++++++++++++++++++ generator/gx_schema/code_artifact.py | 14 + gax-cpu.py => generator/gx_schema/cpu.py | 2 +- generator/gx_schema/credential.py | 8 + generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 + generator/gx_schema/operation_system.py | 26 + generator/gx_schema/participant.py | 14 + generator/gx_schema/resource.py | 17 + generator/gx_schema/software_resource.py | 43 + generator/gx_schema/virtual_resource.py | 26 + generator/gx_schema/vm_image.py | 17 + generator/iaas/gen_vm_image.py | 0 generator/test.py | 0 14 files changed, 9155 insertions(+), 1 deletion(-) create mode 100644 generator/common/gx-schema.py create mode 100644 generator/gx_schema/code_artifact.py rename gax-cpu.py => generator/gx_schema/cpu.py (98%) create mode 100644 generator/gx_schema/credential.py create mode 100644 generator/gx_schema/cyptography.py create mode 100644 generator/gx_schema/image.py create mode 100644 generator/gx_schema/operation_system.py create mode 100644 generator/gx_schema/participant.py create mode 100644 generator/gx_schema/resource.py create mode 100644 generator/gx_schema/software_resource.py create mode 100644 generator/gx_schema/virtual_resource.py create mode 100644 generator/gx_schema/vm_image.py create mode 100644 generator/iaas/gen_vm_image.py create mode 100644 generator/test.py diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py new file mode 100644 index 0000000..9ffe1d3 --- /dev/null +++ b/generator/common/gx-schema.py @@ -0,0 +1,8957 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-11-16T13:30:52 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[str] = None + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + if self.gps is not None and not isinstance(self.gps, str): + self.gps = str(self.gps) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if not isinstance(self.supportedOversubscriptionRatio, list): + self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] + self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[str] = "\"none\"" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): + self.gpuInterconnection = str(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class Latest-N(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX["Latest-N"] + class_class_curie: ClassVar[str] = "gx:Latest-N" + class_name: ClassVar[str] = "Latest-N" + class_model_uri: ClassVar[URIRef] = GX.Latest-N + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: Union[str, URI] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, URI): + self.unit = URI(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: Union[str, URI] = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" + firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + Others = PermissibleValue( + text="Others", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for enchryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operationg system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operationg system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), + model_uri=GX.unit, domain=None, range=Union[str, URI]) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[str]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), + model_uri=GX.latest_N__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/code_artifact.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/gax-cpu.py b/generator/gx_schema/cpu.py similarity index 98% rename from gax-cpu.py rename to generator/gx_schema/cpu.py index 5fc62c3..62689cb 100644 --- a/gax-cpu.py +++ b/generator/gx_schema/cpu.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # -# gax-cpu.py +# cpu.py """ These classes reflect the Gaia-X view on physical infra diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py new file mode 100644 index 0000000..a687cea --- /dev/null +++ b/generator/gx_schema/credential.py @@ -0,0 +1,8 @@ +from abc import ABC +from abc import abstractmethod + + +class GxCredential(ABC): + @abstractmethod + def generate_gx_cred(self) -> str: + return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py new file mode 100644 index 0000000..ed83c1f --- /dev/null +++ b/generator/gx_schema/image.py @@ -0,0 +1,32 @@ +from code_artifact import CodeArtifact +""""" +This class reflects the class 'Image' of Gaia-X Credential schema. + +""" + +from cpu import CPU + +class Image(CodeArtifact): + + def __init__(self, + fileSize: int, + operatingSystem: str, + cpuReq: CPU, + gpuReq: GPU, + ramReq: Memory, + videoRamSize: int, + rootDiskReq: Disk, + encryption: Enrcyption, + secureBoot: boolean, + vPMU: boolean, + updateStrategfy: UpdateStrategy, + license_included: boolean, + maintenance: Maintenance ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() + + + + diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/operation_system.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/participant.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py new file mode 100644 index 0000000..70bd985 --- /dev/null +++ b/generator/gx_schema/resource.py @@ -0,0 +1,17 @@ +""""" +These classe reflect the class 'Resource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx.gx_credential import GxCredential + + +class Resource(GxCredential): + aggregation_of_resources: Resource + + def __init__(self, aggregation_of_resources: Resource = None) -> None: + self.aggregation_of_resources = aggregation_of_resources + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py new file mode 100644 index 0000000..5c24cdd --- /dev/null +++ b/generator/gx_schema/software_resource.py @@ -0,0 +1,43 @@ +""""" +These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class SoftwareResource(Resource): + checksum: HypervisorType + signature: HypervisorType + version: HypervisorType + patch_level: Location + buidl_date: Location + + def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, + patch_level: Location, buidl_date: Location) -> None: + self.checksum = checksum + self.signature = signature + self.version = version + self.patch_level = patch_level + self.buidl_date = buidl_date + + + + + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/virtual_resource.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py new file mode 100644 index 0000000..bc557b6 --- /dev/null +++ b/generator/gx_schema/vm_image.py @@ -0,0 +1,17 @@ +class VmImage(): + + def __init__(self, + fileSize: int, + operatingSystem: str, + diskFormat: str, + hypervisorType: str, + firmwareType: str, + hwRngTypeOfImage: str, + watchDogAction: strl, + cpuReq: CPU) -> None: + pass + + + + + diff --git a/generator/iaas/gen_vm_image.py b/generator/iaas/gen_vm_image.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/test.py b/generator/test.py new file mode 100644 index 0000000..e69de29 From 0ddef71f4f290bd528c01947c4ab78b3aacf5417 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:42:23 +0100 Subject: [PATCH 002/175] Update python classes Signed-off-by: Anja Strunk --- generator/common/gx-schema.py | 16 ++++----- generator/gx_schema/code_artifact.py | 14 -------- generator/gx_schema/cpu.py | 36 -------------------- generator/gx_schema/credential.py | 8 ----- generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 ------------------ generator/gx_schema/operation_system.py | 26 -------------- generator/gx_schema/participant.py | 14 -------- generator/gx_schema/resource.py | 17 ---------- generator/gx_schema/software_resource.py | 43 ------------------------ generator/gx_schema/virtual_resource.py | 26 -------------- generator/gx_schema/vm_image.py | 17 ---------- 12 files changed, 8 insertions(+), 241 deletions(-) delete mode 100644 generator/gx_schema/code_artifact.py delete mode 100644 generator/gx_schema/cpu.py delete mode 100644 generator/gx_schema/credential.py delete mode 100644 generator/gx_schema/cyptography.py delete mode 100644 generator/gx_schema/image.py delete mode 100644 generator/gx_schema/operation_system.py delete mode 100644 generator/gx_schema/participant.py delete mode 100644 generator/gx_schema/resource.py delete mode 100644 generator/gx_schema/software_resource.py delete mode 100644 generator/gx_schema/virtual_resource.py delete mode 100644 generator/gx_schema/vm_image.py diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py index 9ffe1d3..d519c1d 100644 --- a/generator/common/gx-schema.py +++ b/generator/common/gx-schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:30:52 +# Generation date: 2023-11-16T13:40:58 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -475,16 +475,16 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass -class Latest-N(YAMLRoot): +class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX["Latest-N"] - class_class_curie: ClassVar[str] = "gx:Latest-N" - class_name: ClassVar[str] = "Latest-N" - class_model_uri: ClassVar[URIRef] = GX.Latest-N + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN value: Optional[int] = None @@ -8740,8 +8740,8 @@ class slots: slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) -slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), - model_uri=GX.latest_N__value, domain=None, range=Optional[int]) +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/code_artifact.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/cpu.py b/generator/gx_schema/cpu.py deleted file mode 100644 index 62689cb..0000000 --- a/generator/gx_schema/cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py deleted file mode 100644 index a687cea..0000000 --- a/generator/gx_schema/credential.py +++ /dev/null @@ -1,8 +0,0 @@ -from abc import ABC -from abc import abstractmethod - - -class GxCredential(ABC): - @abstractmethod - def generate_gx_cred(self) -> str: - return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py deleted file mode 100644 index e69de29..0000000 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py deleted file mode 100644 index ed83c1f..0000000 --- a/generator/gx_schema/image.py +++ /dev/null @@ -1,32 +0,0 @@ -from code_artifact import CodeArtifact -""""" -This class reflects the class 'Image' of Gaia-X Credential schema. - -""" - -from cpu import CPU - -class Image(CodeArtifact): - - def __init__(self, - fileSize: int, - operatingSystem: str, - cpuReq: CPU, - gpuReq: GPU, - ramReq: Memory, - videoRamSize: int, - rootDiskReq: Disk, - encryption: Enrcyption, - secureBoot: boolean, - vPMU: boolean, - updateStrategfy: UpdateStrategy, - license_included: boolean, - maintenance: Maintenance ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() - - - - diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/operation_system.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/participant.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py deleted file mode 100644 index 70bd985..0000000 --- a/generator/gx_schema/resource.py +++ /dev/null @@ -1,17 +0,0 @@ -""""" -These classe reflect the class 'Resource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx.gx_credential import GxCredential - - -class Resource(GxCredential): - aggregation_of_resources: Resource - - def __init__(self, aggregation_of_resources: Resource = None) -> None: - self.aggregation_of_resources = aggregation_of_resources - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py deleted file mode 100644 index 5c24cdd..0000000 --- a/generator/gx_schema/software_resource.py +++ /dev/null @@ -1,43 +0,0 @@ -""""" -These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class SoftwareResource(Resource): - checksum: HypervisorType - signature: HypervisorType - version: HypervisorType - patch_level: Location - buidl_date: Location - - def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, - patch_level: Location, buidl_date: Location) -> None: - self.checksum = checksum - self.signature = signature - self.version = version - self.patch_level = patch_level - self.buidl_date = buidl_date - - - - - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/virtual_resource.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py deleted file mode 100644 index bc557b6..0000000 --- a/generator/gx_schema/vm_image.py +++ /dev/null @@ -1,17 +0,0 @@ -class VmImage(): - - def __init__(self, - fileSize: int, - operatingSystem: str, - diskFormat: str, - hypervisorType: str, - firmwareType: str, - hwRngTypeOfImage: str, - watchDogAction: strl, - cpuReq: CPU) -> None: - pass - - - - - From ddefa2d02957143d4c4724614d7e79df7f2ca36c Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 14:44:49 +0100 Subject: [PATCH 003/175] Add CLI interface for openstack and kubernetes Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py | 27 +++++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 28 insertions(+) create mode 100644 generator/gen-gx-credentials.py diff --git a/generator/gen-gx-credentials.py b/generator/gen-gx-credentials.py new file mode 100644 index 0000000..8bcdbb9 --- /dev/null +++ b/generator/gen-gx-credentials.py @@ -0,0 +1,27 @@ +import click + +@click.group() +def cli(): + pass + +@click.command() +@click.argument('cloud') +def openstack(cloud): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + click.echo(f"Hello {cloud}!") + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + + +if __name__ == '__main__': + cli() + diff --git a/requirements.txt b/requirements.txt index d3962ed..80b4586 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ kubernetes==26.1.0 openstacksdk==1.1.* PyYAML==6.* +click==8.1.7 From 3d4a6e1435f49a855ae9e362474d6948105b34bc Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 15:26:20 +0100 Subject: [PATCH 004/175] Build framework Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py => src/cli.py | 11 ++++--- .../gx-schema.py => src/common/gx_schema.py | 10 +++---- {generator => src}/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 ++++++++++ {generator => src}/test.py | 0 src/wallet/file_wallet.py | 10 +++++++ src/wallet/wallet.py | 30 +++++++++++++++++++ src/wallet/xfsc_wallet.py | 11 +++++++ 8 files changed, 78 insertions(+), 9 deletions(-) rename generator/gen-gx-credentials.py => src/cli.py (66%) rename generator/common/gx-schema.py => src/common/gx_schema.py (99%) rename {generator => src}/iaas/gen_vm_image.py (100%) create mode 100644 src/iaas/opentack_connector.py rename {generator => src}/test.py (100%) create mode 100644 src/wallet/file_wallet.py create mode 100644 src/wallet/wallet.py create mode 100644 src/wallet/xfsc_wallet.py diff --git a/generator/gen-gx-credentials.py b/src/cli.py similarity index 66% rename from generator/gen-gx-credentials.py rename to src/cli.py index 8bcdbb9..0941e59 100644 --- a/generator/gen-gx-credentials.py +++ b/src/cli.py @@ -1,15 +1,20 @@ import click +from iaas.opentack_connector import OpenstackConnector @click.group() def cli(): pass + @click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud): +def openstack(cloud, timeout): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - click.echo(f"Hello {cloud}!") + + conn = OpenstackConnector(cloud, timeout=timeout) + @click.command() @@ -21,7 +26,5 @@ def kubernetes(): cli.add_command(openstack) cli.add_command(kubernetes) - if __name__ == '__main__': cli() - diff --git a/generator/common/gx-schema.py b/src/common/gx_schema.py similarity index 99% rename from generator/common/gx-schema.py rename to src/common/gx_schema.py index d519c1d..ccefae2 100644 --- a/generator/common/gx-schema.py +++ b/src/common/gx_schema.py @@ -8520,7 +8520,7 @@ class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random src is based in electronic quantum effects.") _defn = EnumDefinition( name="RNGTypes", @@ -8531,19 +8531,19 @@ def _addvals(cls): setattr(cls, "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) + description="Hardware random src is based on electronic noise.")) setattr(cls, "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) + description="Hardware random src is based on chaos.")) setattr(cls, "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) + description="Hardware random src is based in electronic free-running oscillators.")) setattr(cls, "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) class VMDiskType(EnumDefinitionImpl): diff --git a/generator/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py similarity index 100% rename from generator/iaas/gen_vm_image.py rename to src/iaas/gen_vm_image.py diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py new file mode 100644 index 0000000..76c99d7 --- /dev/null +++ b/src/iaas/opentack_connector.py @@ -0,0 +1,15 @@ +import openstack +impirt sys + + +class OpenstackConnector(): + """Abstraction for Openstack API calls.""" + def __init__(self, cloud, timeout): + self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + self.conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + self.conn.authorize() diff --git a/generator/test.py b/src/test.py similarity index 100% rename from generator/test.py rename to src/test.py diff --git a/src/wallet/file_wallet.py b/src/wallet/file_wallet.py new file mode 100644 index 0000000..a71a2e8 --- /dev/null +++ b/src/wallet/file_wallet.py @@ -0,0 +1,10 @@ +from wallet import WalletConnector + + +class FileSystemWallet(WalletConnector): + """ + Abstraction for filesystem acting as wallet. + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) diff --git a/src/wallet/wallet.py b/src/wallet/wallet.py new file mode 100644 index 0000000..592bd61 --- /dev/null +++ b/src/wallet/wallet.py @@ -0,0 +1,30 @@ +from abc import ABCMeta +from abc import abstractmethod +from linkml_runtime.utils.yamlutils import YAMLRoot + + +class WalletConnector(ABCMeta): + """ + Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector + wraps API calls for different kind of wallets. + """ + + @abstractmethod + def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + pass + + @abstractmethod + def get_provider_cred_did(self, service_offering: str) -> str: + """Returns DID of provider of given service offering. + + Parameters + ---------- + service_offering : str + DID of service offering + + Returns + ------- + str + DID of service offering's provider + """ + return "" diff --git a/src/wallet/xfsc_wallet.py b/src/wallet/xfsc_wallet.py new file mode 100644 index 0000000..b699aa1 --- /dev/null +++ b/src/wallet/xfsc_wallet.py @@ -0,0 +1,11 @@ +from wallet import WalletConnector + + +class XFSCWallet(WalletConnector): + """ + Abstraction XFSC wallet, called Organization Credential Manager. + See https://projects.eclipse.org/projects/technology.xfsc + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) From 5fb3a51412e328f946e443568c29b796d7447dee Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 17 Nov 2023 11:11:15 +0100 Subject: [PATCH 005/175] Update vm image generations Signed-off-by: Anja Strunk --- generator/cli.py | 49 +++++++++ generator/common/const.py | 4 + {src => generator}/common/gx_schema.py | 32 +++--- .../openstack/discovery_vm_images.py | 87 +++++++++++++++ .../discovery/openstack/opentack_discovery.py | 102 ++++++++++++++++++ {src => generator}/test.py | 0 {src => generator}/wallet/file_wallet.py | 0 {src => generator}/wallet/wallet.py | 0 {src => generator}/wallet/xfsc_wallet.py | 0 src/cli.py | 30 ------ src/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 --- 12 files changed, 259 insertions(+), 60 deletions(-) create mode 100644 generator/cli.py create mode 100644 generator/common/const.py rename {src => generator}/common/gx_schema.py (99%) create mode 100644 generator/discovery/openstack/discovery_vm_images.py create mode 100644 generator/discovery/openstack/opentack_discovery.py rename {src => generator}/test.py (100%) rename {src => generator}/wallet/file_wallet.py (100%) rename {src => generator}/wallet/wallet.py (100%) rename {src => generator}/wallet/xfsc_wallet.py (100%) delete mode 100644 src/cli.py delete mode 100644 src/iaas/gen_vm_image.py delete mode 100644 src/iaas/opentack_connector.py diff --git a/generator/cli.py b/generator/cli.py new file mode 100644 index 0000000..b363ee3 --- /dev/null +++ b/generator/cli.py @@ -0,0 +1,49 @@ +import click +import openstack as os +import sys + +from generator.discovery.openstack.opentack_discovery import OsCloud + + +@click.group() +def cli(): + pass + + +@click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') +@click.argument('cloud') +def openstack(cloud, timeout): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + + # init Openstack Connections + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + conn.authorize() + + # generate Gaia-X Credentials + os_cloud = OsCloud(conn) + props = os_cloud.discover_properties() + + + + + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + +if __name__ == '__main__': + cli() diff --git a/generator/common/const.py b/generator/common/const.py new file mode 100644 index 0000000..fc0af98 --- /dev/null +++ b/generator/common/const.py @@ -0,0 +1,4 @@ +DEFAULT_RESOURCE_POLICY = "default: allow intent" + +UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" \ No newline at end of file diff --git a/src/common/gx_schema.py b/generator/common/gx_schema.py similarity index 99% rename from src/common/gx_schema.py rename to generator/common/gx_schema.py index ccefae2..543b40a 100644 --- a/src/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:40:58 +# Generation date: 2023-11-17T10:12:38 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -272,7 +272,7 @@ class CPU(Device): class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU - cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" cpuFlag: Optional[Union[str, List[str]]] = empty_list() smtEnabled: Optional[Union[bool, Bool]] = False numberOfCores: Optional[int] = None @@ -656,8 +656,8 @@ class Memory(Device): class_model_uri: ClassVar[URIRef] = GX.Memory memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" eccEnabled: Optional[Union[bool, Bool]] = False hardwareEncryption: Optional[Union[bool, Bool]] = False @@ -1383,9 +1383,9 @@ class VMImage(Image): copyrightOwnedBy: Union[str, List[str]] = None license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" - firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" @@ -3993,8 +3993,8 @@ def _addvals(cls): class Architectures(EnumDefinitionImpl): - Others = PermissibleValue( - text="Others", + other = PermissibleValue( + text="other", description="CPU architecture not specified above.") _defn = EnumDefinition( @@ -5198,6 +5198,8 @@ class OSDistribution(EnumDefinitionImpl): @classmethod def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) setattr(cls, "CentOS Linux", @@ -8484,7 +8486,7 @@ class FirmType(EnumDefinitionImpl): """ BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") - others = PermissibleValue(text="others") + other = PermissibleValue(text="other") _defn = EnumDefinition( name="FirmType", @@ -8520,7 +8522,7 @@ class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random src is based in electronic quantum effects.") + description="Hardware random generator is based in electronic quantum effects.") _defn = EnumDefinition( name="RNGTypes", @@ -8531,19 +8533,19 @@ def _addvals(cls): setattr(cls, "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random src is based on electronic noise.")) + description="Hardware random generator is based on electronic noise.")) setattr(cls, "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random src is based on chaos.")) + description="Hardware random generator is based on chaos.")) setattr(cls, "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random src is based in electronic free-running oscillators.")) + description="Hardware random generator is based in electronic free-running oscillators.")) setattr(cls, "None", PermissibleValue( text="None", - description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) class VMDiskType(EnumDefinitionImpl): diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py new file mode 100644 index 0000000..2bec6ca --- /dev/null +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -0,0 +1,87 @@ +from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import VMImage as GX_Image + +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +from typing import List + +import generator.common.const as const + + +class VmDiscovery(): + + def __init__(self, conn: Connection) -> None: + self.conn = conn + + + #def collect_vm_images(self, conn: Connection) -> List[str]: + def discover_vm_images(self) -> List[GX_Image]: + """ + Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. + + @param conn: Connection to openstack cloud VM images are to be collected + @return: list of VM images + """ + + images = list() + for image in self.conn.list_images(): + self._convert_to_gx_image(image) + + return images + + def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: + """ + Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + @param os_image: Openstack image properties + @return: Gaia-X compliant virtual machine image + """ + + # collect all properties + cpu_req = self._get_cpu_req(os_image.architecture) + ram_req = self._get_min_ram_req(os_image.min_ram) + root_disk_req = self._get_min_disk_req(os_image.min_disk) + + return GX_Image(copyrightOwnedBy='TBA', + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + version=os_image.os_version) + + @staticmethod + def _get_cpu_req(arch: str) -> CPU: + if arch == "i686": + return CPU(cpuArchitecture="x86-32") + if arch in ["x86_64", "ia64"]: + return CPU(cpuArchitecture="x86-64") + if arch == "aarch6": + return CPU(cpuArchitecture="AArch-32") + if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return CPU(cpuArchitecture="RISC-V") + return CPU(cpuArchitecture=cpu_arch_types.other) + + @staticmethod + def _get_min_ram_req(min_ram_size: str) -> Memory: + # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. + # But OpenStack uses MiB. + size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize = size) + + @staticmethod + def _get_min_disk_req(disk_size: str) -> Disk: + size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize = size) + + + def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + if os_distro == "arch": + return OperatingSystem(version=os_version, os_distro="Arch Linux") + if os_distro == "centos": + return OperatingSystem(version=os_version, os_distro="CentOS Linux") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py new file mode 100644 index 0000000..b7feca9 --- /dev/null +++ b/generator/discovery/openstack/opentack_discovery.py @@ -0,0 +1,102 @@ +import openstack +from openstack.connection import Connection +import sys + +from generator.discovery.openstack.discovery_vm_images import VmDiscovery + +class OsCloud: + "Abstraction for openStack cloud with all its services" + def __init__(self, conn: Connection) -> None: + # import copy + self.conn = conn + self.auth = conn.auth + self.regions = list(conn.identity.regions()) + + def discover_properties(self): + vm_dis = VmDiscovery(self.conn) + vm_dis.discover_vm_images() + + + # Create per region service catalogs + """self.regcat = {} + for region in self.regions: + reg = region.id + self.regcat[reg] = [] + for svc in conn.service_catalog: + svccat = osServiceCat(svc, reg) + if svccat.ep: + self.regcat[reg].append(svccat) + if debug: + print(f"#DEBUG: Svc Cat region {reg}: {self.regcat}", file=sys.stderr) + # Well-known OpenStack services + self.ostacksvc = {} + if "project_id" in conn.auth: + prj_id = conn.auth["project_id"] + else: + prj_id = conn.identity.get_project_id() + # Iterate over regions + for region in self.regions: + # Keep list of already handled services to avoid duplicates/aliases + handled = [] + # Dictionary to collect OpenStack services + ostacksvc = {} + reg = region.id + if debug: + print(f"#INFO: Creation service catalog for region {reg}", file=sys.stderr) + # Iterate over service catalog + for svc in self.regcat[reg]: + assert svc.ep + assert reg == svc.region + # Treating those two legacy services as non-OpenStack (just list EPs) + if svc.type in [*handled, "compute_legacy", "cloudformation"]: + continue + newsvc = None + for osClass in OSClasses: + if svc.type in osClass.svcID: + newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend(osClass.svcID) + break + if not newsvc: + newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend((svc.type, newsvc.stype,)) + # Only attach if conn is non-empty + if newsvc.conn: + ostacksvc[newsvc.stype] = newsvc + if debug: + print(f"#DEBUG: Region {reg} added OS Svc {newsvc}", file=sys.stderr) + svc.consumed = True + elif debug: + print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) + # Handle remaining services that are listed + for svc in self.regcat[reg]: + if not svc.consumed and svc.type not in ostacksvc: + ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) + if debug: + print(f"#DEBUG: Region {reg} added Non-OS {ostacksvc[svc.type]}", file=sys.stderr) + svc.consumed = True + self.ostacksvc[reg] = ostacksvc + # TODO: Iterate over non-consumed services (global, non-region specifc) + + def values(self, prefix=''): + "dict representing stored data" + inner = {"regions": list(map(lambda x: x.id, self.regions))} + if outjson: + inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") + else: + inner["auth_url"] = self.auth["auth_url"] + for reg, ostacksvc in self.ostacksvc.items(): + inner[reg] = {} + for svckey in ostacksvc: + svc = ostacksvc[svckey] + inner[reg] = appenddicts(inner[reg], svc.values()) + if outjson: + inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") + if prefix: + return add_prefix_to_dict_keys(inner, prefix) + return inner + + def __str__(self): + # print(self.values()) + if outjson: + return json.dumps({"OpenStackService": self.values()}, indent=indent) + return yaml.dump({"openstack": self.values()}, default_flow_style=False)""" diff --git a/src/test.py b/generator/test.py similarity index 100% rename from src/test.py rename to generator/test.py diff --git a/src/wallet/file_wallet.py b/generator/wallet/file_wallet.py similarity index 100% rename from src/wallet/file_wallet.py rename to generator/wallet/file_wallet.py diff --git a/src/wallet/wallet.py b/generator/wallet/wallet.py similarity index 100% rename from src/wallet/wallet.py rename to generator/wallet/wallet.py diff --git a/src/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py similarity index 100% rename from src/wallet/xfsc_wallet.py rename to generator/wallet/xfsc_wallet.py diff --git a/src/cli.py b/src/cli.py deleted file mode 100644 index 0941e59..0000000 --- a/src/cli.py +++ /dev/null @@ -1,30 +0,0 @@ -import click -from iaas.opentack_connector import OpenstackConnector - -@click.group() -def cli(): - pass - - -@click.command() -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') -def openstack(cloud, timeout): - """Generates Gaia-X Credentials for openstack cloud CLOUD. - CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - - conn = OpenstackConnector(cloud, timeout=timeout) - - - -@click.command() -def kubernetes(): - """Generates Gaia-X Credentials for kubernetes.""" - pass - - -cli.add_command(openstack) -cli.add_command(kubernetes) - -if __name__ == '__main__': - cli() diff --git a/src/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py deleted file mode 100644 index 76c99d7..0000000 --- a/src/iaas/opentack_connector.py +++ /dev/null @@ -1,15 +0,0 @@ -import openstack -impirt sys - - -class OpenstackConnector(): - """Abstraction for Openstack API calls.""" - def __init__(self, cloud, timeout): - self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) - try: - self.conn.authorize() - except Exception: - print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') - self.conn.authorize() From 96c5aee52e6a29e84524cba87cf8667cd644671b Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 18 Dec 2023 13:00:10 +0100 Subject: [PATCH 006/175] Add default values for operating system Signed-off-by: Anja Strunk --- config/config.yaml | 107 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 config/config.yaml diff --git a/config/config.yaml b/config/config.yaml new file mode 100644 index 0000000..bae2265 --- /dev/null +++ b/config/config.yaml @@ -0,0 +1,107 @@ +vm image: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: DEFAULT + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 + Arch Linux: + copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" + resource policy: DEFAULT + license: + - https://gitlab.archlinux.org/archlinux + CentOS Linux: + copyright owner: "The CentOS Project and others" + resource policy: DEFAULT + license: + - https://github.com/CentOS/ + Debian: + copyright owner: "Ian Murdock and others" + resource policy: DEFAULT + license: + - https://www.debian.org/legal/licenses/index.en.html + Fedora: + copyright owner: "Fedora-Project" + resource policy: DEFAULT + license: + - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ + FreeBSD: + copyright owner: "The FreeBSD Project" + resource policy: DEFAULT + license: + - GPL-3.0 + - LGPL-2.0 + Gentoo Linux: + copyright owner: "Gentoo Foundation, Inc." + resource policy: DEFAULT + license: + - https://www.gentoo.org/glep/glep-0076.html + Mandrakelinux: + copyright owner: "Mandriva Linux" + resource policy: DEFAULT + license: + - GPL-3.0 + Mandriva Linux: + copyright owner: "Mandriva S. A." + resource policy: DEFAULT + license: + - GPL-3.0 + Mandriva Enterprise Server: + copyright owner: "Mandriva S. A." + resource policy: DEFAULT + license: + - GPL-3.0 + MS-DOS: + copyright owner: "Microsoft Corporation" + resource policy: DEFAULT + license: + - https://www.microsoft.com/licensing/docs/view/Licensing-Guides + NetBSD: + copyright owner: "The NetBSD Foundation" + resource policy: DEFAULTV + license: + - https://www.netbsd.org/about/redistribution.html + Novell NetWare: + copyright owner: "Micro Focus International" + resource policy: DEFAULT + license: + - https://support.novell.com/techcenter/articles/ana19960702.html + OpenBSD: + copyright owner: "OpenBSD" + resource policy: DEFAULT + license: + - https://www.openbsd.org/policy.html + OpenSolaris: + copyright owner: "Sun Microsystems" + resource policy: DEFAULT + license: + - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html + openSUSE: + copyright owner: "openSUSE contributors & others" + resource policy: DEFAULT + license: + - https://en.opensuse.org/openSUSE:License + Rocky Linux: + copyright owner: "Rocky Enterprise Software Foundation" + resource policy: DEFAULT + license: + - https://rockylinux.org/licensing + Red Hat Enterprise Linux: + copyright owner: "Red Hat, Inc." + resource policy: DEFAULT + license: + - https://www.redhat.com/en/store/red-hat-enterprise-linux-server + SUSE Linux Enterprise Desktop: + copyright owner: "SUSE" + resource policy: "" + license: + - https://www.suse.com/products/terms_and_conditions.pdf + Ubuntu: + copyright owner: "Canonical" + resource policy: DEFAULT + license: + - https://ubuntu.com/legal/open-source-licences + Microsoft Windows: + copyright owner: "Microsoft Corporation" + resource policy: DEFAULT + license: + - https://www.microsoft.com/licensing \ No newline at end of file From abf552c6a506dc5fc77d529854f1cc996656df72 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 12:17:06 +0100 Subject: [PATCH 007/175] Support mandatory attributes of VM Images Signed-off-by: Anja Strunk --- config/config.yaml | 25 +- generator/cli.py | 13 +- generator/common/const.py | 34 +- generator/common/gaia-x.shacl | 2275 +++++++++++++++++ generator/common/gx_schema.py | 316 ++- .../openstack/discovery_vm_images.py | 192 +- .../discovery/openstack/opentack_discovery.py | 9 +- 7 files changed, 2798 insertions(+), 66 deletions(-) create mode 100644 generator/common/gaia-x.shacl diff --git a/config/config.yaml b/config/config.yaml index bae2265..27a563d 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -28,7 +28,7 @@ vm image: copyright owner: "The FreeBSD Project" resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." @@ -39,17 +39,17 @@ vm image: copyright owner: "Mandriva Linux" resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" resource policy: DEFAULT @@ -104,4 +104,19 @@ vm image: copyright owner: "Microsoft Corporation" resource policy: DEFAULT license: - - https://www.microsoft.com/licensing \ No newline at end of file + - https://www.microsoft.com/licensing + CirrOS: + copyright owner: "Canonical Ltd." + resource policy: DEFAULT + license: + - GPL-2.0-only + AlmaLinux: + copyright owner: "Canonical Ltd." + resource policy: DEFAULT + license: + - https://almalinux.org/p/the-almalinux-os-licensing-policy/ + Debian 11: + copyright owner: "AlmaLinux OS Foundation" + resource policy: DEFAULT + license: + - https://www.abc.org \ No newline at end of file diff --git a/generator/cli.py b/generator/cli.py index b363ee3..e691f57 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,6 +1,7 @@ import click import openstack as os import sys +import yaml from generator.discovery.openstack.opentack_discovery import OsCloud @@ -11,9 +12,10 @@ def cli(): @click.command() +@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout): +def openstack(cloud, timeout, config): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,12 +30,9 @@ def openstack(cloud, timeout): conn.authorize() # generate Gaia-X Credentials - os_cloud = OsCloud(conn) - props = os_cloud.discover_properties() - - - - + with open(config, "r") as config_file: + os_cloud = OsCloud(conn, yaml.safe_load(config_file)) + props = os_cloud.discover_properties() @click.command() diff --git a/generator/common/const.py b/generator/common/const.py index fc0af98..bfb6edc 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,4 +1,34 @@ DEFAULT_RESOURCE_POLICY = "default: allow intent" -UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" -UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" \ No newline at end of file +UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" + + +CONFIG_VM_IMAGE = "vm image" +CONFIG_RESOURCE_POLICY = "resource policy" +CONFIG_LICENSE = "license" +CONFIG_COPYRIGHT = "copyright owner" + +CONFIG_OS_ALP = "Alpine Linux" +CONFIG_OS_ARCH = "Arch Linux" +CONFIG_OS_CENTOS = "CentOS Linux" +CONFIG_OS_DEBIAN = "Debian" +CONFIG_OS_FEDORA = "Fedora" +CONFIG_OS_FREEBSD = "FreeBSD" +CONFIG_OS_GENTOO = "Gentoo Linux" +CONFIG_OS_MANDRAKE = "Mandrake Linux" +CONFIG_OS_MANDRIVA = "Mandriva Linux" +CONFIG_OS_MES = "Mandriva Enterprise Server" +CONFIG_OS_MSDOS = "MS-DOS" +CONFIG_OS_NETBSD = "NetBSD" +CONFIG_OS_NOVELL = "Novell Netware" +CONFIG_OS_OPENBSD = "OpenBSD" +CONFIG_OS_SOLARIS = "OpenSolaris" +CONFIG_OS_OPEN_SUSE = "openSUSE" +CONFIG_OS_ROCKY = "Rocky Linux" +CONFIG_OS_RHEL = "Red Hat Enterprise Linux" +CONFIG_OS_SLED = "SUSE Linux Enterprise Desktop" +CONFIG_OS_UBUNTU = "Ubuntu" +CONFIG_OS_WINDOWS = "Microsoft Windows" +CONFIG_OS_CIRROS = "CirrOS" +CONFIG_OS_ALMALINUX = "AlmaLinux" \ No newline at end of file diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl new file mode 100644 index 0000000..e13e0ae --- /dev/null +++ b/generator/common/gaia-x.shacl @@ -0,0 +1,2275 @@ +@prefix gx: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:CodeArtifact a sh:NodeShape ; + sh:closed false ; + sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Code Artifact" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:CodeArtifact . + +gx:DataResource a sh:NodeShape ; + sh:closed false ; + sh:description "A dataset exposed through a service instance." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Resource" ; + sh:property [ sh:class gx:DataExchangeComponent ; + sh:description "A resolvable link to the data exchange component that exposes the data resource." ; + sh:minCount 1 ; + sh:name "exposed through" ; + sh:order 1 ; + sh:path gx:exposedThrough ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is obsolete." ; + sh:maxCount 1 ; + sh:name "obsolete dateTime" ; + sh:order 2 ; + sh:path gx:obsoleteDateTime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to participant legally enabling the data usage." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "produced by" ; + sh:order 0 ; + sh:path gx:producedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:Consent ; + sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; + sh:name "consent" ; + sh:order 6 ; + sh:path gx:consent ], + [ sh:datatype xsd:boolean ; + sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "contains PII" ; + sh:order 4 ; + sh:path gx:containsPII ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 9 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:Participant ; + sh:description "data controller Participant as defined in GDPR." ; + sh:name "data controller" ; + sh:order 5 ; + sh:path gx:dataController ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 7 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; + sh:maxCount 1 ; + sh:name "expiration dateTime" ; + sh:order 3 ; + sh:path gx:expirationDateTime ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 8 ; + sh:path gx:license ] ; + sh:targetClass gx:DataResource . + +gx:Device a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 1 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 2 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 3 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:vendor ] ; + sh:targetClass gx:Device . + +gx:GaiaX a sh:NodeShape ; + sh:closed false ; + sh:description "Top level element of Gaia-X ecosystem." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:GaiaX . + +gx:GaiaXEntity a sh:NodeShape ; + sh:closed false ; + sh:description "Root class for Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Gaia-X Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:GaiaXEntity . + +gx:Hypervisor a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:hypervisorType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:Hypervisor . + +gx:Image a sh:NodeShape ; + sh:closed false ; + sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Image" ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 5 ; + sh:path gx:videoRamSize ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:encryption ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 9 ; + sh:path gx:secureBoot ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:signature ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 2 ; + sh:path gx:cpuReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:updateStrategy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 10 ; + sh:path gx:vPMU ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 24 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 11 ; + sh:path gx:multiQueues ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 23 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:checkSum ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 19 ; + sh:path gx:buildDate ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 3 ; + sh:path gx:gpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 20 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 25 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 18 ; + sh:path gx:patchLevel ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 6 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 22 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 13 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:checksum ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 4 ; + sh:path gx:ramReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 1 ; + sh:path gx:operatingSystem ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 0 ; + sh:path gx:fileSize ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 21 ; + sh:path gx:license ] ; + sh:targetClass gx:Image . + +gx:InstantiationRequirement a sh:NodeShape ; + sh:closed false ; + sh:description "A container class to gather all requirements for compute service offering instantiations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Instantiation Requirement" ; + sh:targetClass gx:InstantiationRequirement . + +gx:Issuer a sh:NodeShape ; + sh:closed false ; + sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; + sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 0 ; + sh:path gx:issuerTermsAndConditions ] ; + sh:targetClass gx:Issuer . + +gx:PXEImage a sh:NodeShape ; + sh:closed false ; + sh:description "PXE image for physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "PXE image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 4 ; + sh:path gx:gpuReq ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 5 ; + sh:path gx:ramReq ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 21 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 11 ; + sh:path gx:vPMU ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:checkSum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:encryption ], + [ sh:description "Disk format. Default \"ISO\"." ; + sh:in ( "WINPE" "ISO" ) ; + sh:maxCount 1 ; + sh:name "disk format" ; + sh:order 0 ; + sh:path gx:pxeImageDiskFormat ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 23 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 20 ; + sh:path gx:buildDate ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:checksum ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 10 ; + sh:path gx:secureBoot ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 1 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 14 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 26 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 22 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 19 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 25 ; + sh:path gx:name ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:maintenance ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path gx:version ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 12 ; + sh:path gx:multiQueues ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 7 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 6 ; + sh:path gx:videoRamSize ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 3 ; + sh:path gx:cpuReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 2 ; + sh:path gx:operatingSystem ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:updateStrategy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 24 ; + sh:path gx:aggregationOfResources ] ; + sh:targetClass gx:PXEImage . + +gx:RegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:RegistrationNumber . + +gx:Resource a sh:NodeShape ; + sh:closed false ; + sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 1 ; + sh:path gx:name ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 0 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 2 ; + sh:path gx:description ] ; + sh:targetClass gx:Resource . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:ConfidentialComputing a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "indicates whether confidential server has an associated attestation service." ; + sh:maxCount 1 ; + sh:name "attestation service URI" ; + sh:order 1 ; + sh:path gx:attestationServiceURI ], + [ sh:datatype xsd:string ; + sh:description "Particular confidential computing technology used by the flavors as defined in..." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:technology ] ; + sh:targetClass gx:ConfidentialComputing . + +gx:Consent a sh:NodeShape ; + sh:closed false ; + sh:description "Information on the legitimate processing of information related to PII." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Consent" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; + sh:minCount 1 ; + sh:name "purpose" ; + sh:order 2 ; + sh:path gx:purpose ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; + sh:minCount 1 ; + sh:name "data protection contact point" ; + sh:order 1 ; + sh:path gx:dataProtectionContactPoint ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; + sh:minCount 1 ; + sh:name "consent withdrawal contact point" ; + sh:order 3 ; + sh:path gx:consentWithdrawalContactPoint ], + [ sh:datatype xsd:string ; + sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal Basis" ; + sh:order 0 ; + sh:path gx:legalBasis ] ; + sh:targetClass gx:Consent . + +gx:DataExchangeComponent a sh:NodeShape ; + sh:closed false ; + sh:description "A service/resource used to make a data resource available." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Exchange Component" ; + sh:targetClass gx:DataExchangeComponent . + +gx:EORI a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The Economic Operators Registration and Identification number (EORI)." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:eori ] ; + sh:targetClass gx:EORI . + +gx:EUID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:euid ] ; + sh:targetClass gx:EUID . + +gx:GPSLocation a sh:NodeShape ; + sh:closed false ; + sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; + sh:maxCount 1 ; + sh:name "crs" ; + sh:order 3 ; + sh:path gx:crs ; + sh:pattern "^CRS" ], + [ sh:datatype xsd:string ; + sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; + sh:maxCount 1 ; + sh:name "altitude" ; + sh:order 2 ; + sh:path gx:altitude ], + [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "latitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 0 ; + sh:path gx:latitude ], + [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "longitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 1 ; + sh:path gx:longitude ] ; + sh:targetClass gx:GPSLocation . + +gx:LatestN a sh:NodeShape ; + sh:closed false ; + sh:description "Number of latest N outdated image versions, which will be valid." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:order 0 ; + sh:path gx:value ] ; + sh:targetClass gx:LatestN . + +gx:LeiCode a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unique LEI number as defined by https://www.gleif.org." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:LeiCode . + +gx:LocalRegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The state issued company number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:local ] ; + sh:targetClass gx:LocalRegistrationNumber . + +gx:Participant a sh:NodeShape ; + sh:closed false ; + sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ] ; + sh:targetClass gx:Participant . + +gx:ServerFlavor a sh:NodeShape ; + sh:closed false ; + sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Server Flavor" ; + sh:property [ sh:class gx:ConfidentialComputing ; + sh:description "Details with respect to confidential computing capabilities of the flavor." ; + sh:maxCount 1 ; + sh:name "confidential computing" ; + sh:order 6 ; + sh:path gx:confidentialComputing ], + [ sh:class gx:Memory ; + sh:description "Size of RAM of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:ram ], + [ sh:datatype xsd:string ; + sh:description "Network capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:network ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 9 ; + sh:path gx:hwRngTypeOfFlavor ], + [ sh:class gx:GPU ; + sh:description "GPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:gpu ], + [ sh:class gx:Disk ; + sh:description "Additional volume capabilities of boot volume of the flavor." ; + sh:name "additional volume" ; + sh:order 5 ; + sh:path gx:additionalVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; + sh:maxCount 1 ; + sh:name "Hardware-assisted virtualization" ; + sh:order 8 ; + sh:path gx:hardwareAssistedVirtualization ], + [ sh:class gx:SoftwareResource ; + sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:hypervisor ], + [ sh:class gx:CPU ; + sh:description "CPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "CPU requirements" ; + sh:order 0 ; + sh:path gx:cpu ], + [ sh:class gx:Disk ; + sh:description "Boot volume capabilities of boot volume of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "boot volume" ; + sh:order 4 ; + sh:path gx:bootVolume ] ; + sh:targetClass gx:ServerFlavor . + +gx:StandardConformity a sh:NodeShape ; + sh:closed false ; + sh:description "Details about standard applied to Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Name of the standard." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "title" ; + sh:order 0 ; + sh:path gx:title ], + [ sh:datatype xsd:anyURI ; + sh:description "Provides a link to schemas or details about applied standards." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "standard reference" ; + sh:order 1 ; + sh:path gx:standardReference ], + [ sh:datatype xsd:string ; + sh:description "Publisher of the standard." ; + sh:maxCount 1 ; + sh:name "publisher" ; + sh:order 2 ; + sh:path gx:publisher ] ; + sh:targetClass gx:StandardConformity . + +gx:VMImage a sh:NodeShape ; + sh:closed false ; + sh:description "Image for virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "VM image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 8 ; + sh:path gx:gpuReq ], + [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; + sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; + sh:maxCount 1 ; + sh:name "VM Image disk format" ; + sh:order 0 ; + sh:path gx:vmImageDiskFormat ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path gx:maintenance ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 28 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 15 ; + sh:path gx:vPMU ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path gx:signature ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path gx:checksum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:encryption ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 25 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 14 ; + sh:path gx:secureBoot ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 3 ; + sh:path gx:hwRngTypeOfImage ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 29 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 16 ; + sh:path gx:multiQueues ], + [ sh:description "Type of firmware which which guests are booted." ; + sh:in ( "BIOS" "UEFI" "other" ) ; + sh:maxCount 1 ; + sh:name "Firmware type" ; + sh:order 2 ; + sh:path gx:firmwareType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 26 ; + sh:path gx:license ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 11 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:updateStrategy ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 7 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 23 ; + sh:path gx:patchLevel ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 5 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 24 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 30 ; + sh:path gx:description ], + [ sh:description "Hypervisor type required by the image" ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:name "Hypervisor type" ; + sh:order 1 ; + sh:path gx:hypervisorType ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 6 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 27 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:checkSum ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 10 ; + sh:path gx:videoRamSize ], + [ sh:description "Define the action to be performed if server hangs." ; + sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; + sh:maxCount 1 ; + sh:name "Watchdog action" ; + sh:order 4 ; + sh:path gx:watchDogAction ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 18 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 9 ; + sh:path gx:ramReq ] ; + sh:targetClass gx:VMImage . + +gx:VatID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The VAT identification number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:vatID ] ; + sh:targetClass gx:VatID . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:GPSUnit a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of a geographical point." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 180 ; + sh:minCount 1 ; + sh:minInclusive -180 ; + sh:name "degrees" ; + sh:order 0 ; + sh:path gx:degrees ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:maxInclusive 1 ; + sh:minInclusive 0 ; + sh:name "decimals" ; + sh:order 3 ; + sh:path gx:decimals ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "seconds" ; + sh:order 2 ; + sh:path gx:seconds ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "minutes" ; + sh:order 1 ; + sh:path gx:minutes ] ; + sh:targetClass gx:GPSUnit . + +gx:Encryption a sh:NodeShape ; + sh:closed false ; + sh:description "Encryption capabilities of a Gaia-X entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; + sh:in ( "BYOK" "HYOK" "managed" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "key management" ; + sh:order 1 ; + sh:path gx:keyManagement ], + [ sh:description "Supported algorithm used to encrypt." ; + sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "encryption algorithm" ; + sh:order 0 ; + sh:path gx:cipher ] ; + sh:targetClass gx:Encryption . + +gx:MaintenanceSubscription a sh:NodeShape ; + sh:closed false ; + sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; + sh:maxCount 1 ; + sh:name "Subscription required" ; + sh:order 1 ; + sh:path gx:subscriptionRequired ], + [ sh:datatype xsd:date ; + sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; + sh:maxCount 1 ; + sh:name "Maintenance until" ; + sh:order 2 ; + sh:path gx:maintainedUntil ], + [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; + sh:maxCount 1 ; + sh:name "Subscription included" ; + sh:order 0 ; + sh:path gx:subscriptionIncluded ] ; + sh:targetClass gx:MaintenanceSubscription . + +gx:UpdateStrategy a sh:NodeShape ; + sh:closed false ; + sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; + sh:maxCount 1 ; + sh:name "Old versions Valid until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; + sh:order 2 ; + sh:path gx:oldVersionsValidUntil ], + [ sh:datatype xsd:integer ; + sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; + sh:maxCount 1 ; + sh:minInclusive 0 ; + sh:name "Hotfix hours" ; + sh:order 1 ; + sh:path gx:hotfixHours ], + [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; + sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; + sh:maxCount 1 ; + sh:name "Replace Frequency" ; + sh:order 0 ; + sh:path gx:replaceFrequency ], + [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; + sh:maxCount 1 ; + sh:name "Provided until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; + sh:order 3 ; + sh:path gx:providedUntil ] ; + sh:targetClass gx:UpdateStrategy . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Full address of the entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "the street address of a postal address" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ], + [ sh:class gx:GPSLocation ; + sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; + sh:order 1 ; + sh:path gx:gps ], + [ sh:datatype xsd:string ; + sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ], + [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; + sh:order 0 ; + sh:path gx:countryCode ], + [ sh:datatype xsd:string ; + sh:description "String of a street-address" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ] ; + sh:targetClass . + +gx:CPU a sh:NodeShape ; + sh:closed false ; + sh:description "Computational processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Last Level Cache size of the CPU." ; + sh:maxCount 1 ; + sh:name "last level cache size" ; + sh:order 7 ; + sh:path gx:lastLevelCacheSize ], + [ sh:class ; + sh:description "Boost frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "boost CPU frequency" ; + sh:order 6 ; + sh:path gx:boostFrequency ], + [ sh:datatype xsd:string ; + sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; + sh:name "CPU flags" ; + sh:order 1 ; + sh:path gx:cpuFlag ], + [ sh:datatype xsd:integer ; + sh:description "Number of threads of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of threads" ; + sh:order 4 ; + sh:path gx:numberOfThreads ], + [ sh:class ; + sh:description "Base frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "base CPU frequency" ; + sh:order 5 ; + sh:path gx:baseFrequency ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:vendor ], + [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; + sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; + sh:maxCount 1 ; + sh:name "CPU architecture" ; + sh:order 0 ; + sh:path gx:cpuArchitecture ], + [ sh:datatype xsd:boolean ; + sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; + sh:maxCount 1 ; + sh:name "smt enabled" ; + sh:order 2 ; + sh:path gx:smtEnabled ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 12 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 10 ; + sh:path gx:generation ], + [ sh:class ; + sh:description "CPU Thermal Design Power." ; + sh:maxCount 1 ; + sh:name "thermal design power" ; + sh:order 8 ; + sh:path gx:thermalDesignPower ], + [ sh:datatype xsd:integer ; + sh:description "Number of cores of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of CPU cores" ; + sh:order 3 ; + sh:path gx:numberOfCores ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 11 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:CPU . + +gx:ComputeServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Compute Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 2 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 8 ; + sh:path gx:keyword ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 13 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 6 ; + sh:path gx:dataProtectionRegime ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 0 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 10 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 7 ; + sh:path gx:dataAccountExport ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 12 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 1 ; + sh:path gx:providedBy ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 11 ; + sh:path gx:hostedOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 9 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 4 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 5 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:ComputeServiceOffering . + +gx:DataAccountExport a sh:NodeShape ; + sh:closed false ; + sh:description "List of methods to export data from your account out of the service." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; + sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "format type" ; + sh:order 2 ; + sh:path gx:formatType ], + [ sh:description "Type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "access type" ; + sh:order 1 ; + sh:path gx:accessType ], + [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "request type" ; + sh:order 0 ; + sh:path gx:requestType ] ; + sh:targetClass gx:DataAccountExport . + +gx:Endpoint a sh:NodeShape ; + sh:closed false ; + sh:description "An endpoint is a mean to access and interact with a service or a resource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:StandardConformity ; + sh:description "Provides information about applied standards." ; + sh:minCount 1 ; + sh:name "standard conformity" ; + sh:order 1 ; + sh:path gx:standardConformity ], + [ sh:datatype xsd:string ; + sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:formalDescription ], + [ sh:datatype xsd:anyURI ; + sh:description "The URL of the endpoint where it can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint URL" ; + sh:order 0 ; + sh:path gx:endpointURL ] ; + sh:targetClass gx:Endpoint . + +gx:GPU a sh:NodeShape ; + sh:closed false ; + sh:description "Graphical processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 6 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:description "Interconnection of multiple GPUs within a server system" ; + sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:gpuInterconnection ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path gx:vendor ], + [ sh:datatype xsd:integer ; + sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "gpu processing units" ; + sh:order 2 ; + sh:path gx:gpuProcessingUnits ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 5 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 7 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; + sh:maxCount 1 ; + sh:name "GPU path through" ; + sh:order 3 ; + sh:path gx:gpuPassthrough ], + [ sh:class gx:MemorySize ; + sh:description "Size of memory of the GPU." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:gpuMemory ] ; + sh:targetClass gx:GPU . + +gx:InfrastructureServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Infrastructure Service Offering" ; + sh:property [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:InfrastructureServiceOffering . + +gx:Memory a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of RAM." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; + sh:maxCount 1 ; + sh:name "Hardware Encryption enabled" ; + sh:order 4 ; + sh:path gx:hardwareEncryption ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 7 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "Memory size of RAM." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "memory size" ; + sh:order 0 ; + sh:path gx:memorySize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path gx:vendor ], + [ sh:datatype xsd:boolean ; + sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; + sh:maxCount 1 ; + sh:name "error correction code (ecc)" ; + sh:order 3 ; + sh:path gx:eccEnabled ], + [ sh:description "DRAM technology name defined by JEDEC" ; + sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; + sh:maxCount 1 ; + sh:name "memory class" ; + sh:order 1 ; + sh:path gx:memoryClass ], + [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; + sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; + sh:maxCount 1 ; + sh:name "memory rank" ; + sh:order 2 ; + sh:path gx:memoryRank ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 6 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 8 ; + sh:path gx:supportedOversubscriptionRatio ] ; + sh:targetClass gx:Memory . + +gx:ServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ] ; + sh:targetClass gx:ServiceOffering . + +gx:TermsAndConditions a sh:NodeShape ; + sh:closed false ; + sh:description "Terms and Conditions applying to a service offering." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "sha256 hash of the document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hash ], + [ sh:datatype xsd:anyURI ; + sh:description "A resolvable link to document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:url ] ; + sh:targetClass gx:TermsAndConditions . + +gx:VirtualMachineServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Machine Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 5 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:servicePolicy ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 8 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 9 ; + sh:path gx:dataAccountExport ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 13 ; + sh:path gx:hostedOn ], + [ sh:class gx:VMImage ; + sh:description "Compute Service Code Artifacts" ; + sh:minCount 1 ; + sh:name "code artifact" ; + sh:order 0 ; + sh:path gx:codeArtifact ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 15 ; + sh:path gx:description ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 4 ; + sh:path gx:dependsOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 11 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 6 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 2 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:ServerFlavor ; + sh:description "Set of technical requirements or conditions to instantiate this service offering." ; + sh:minCount 1 ; + sh:name "instantiation requirement" ; + sh:order 1 ; + sh:path gx:instantiationReq ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 10 ; + sh:path gx:keyword ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 3 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 14 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 12 ; + sh:path gx:endpoint ] ; + sh:targetClass gx:VirtualMachineServiceOffering . + +gx:Disk a sh:NodeShape ; + sh:closed false ; + sh:description "Capabilities of a physical or virtual hard drive." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 5 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "The size of the hard drive." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Disk size" ; + sh:order 0 ; + sh:path gx:diskSize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Type of disk controller the disk is attached to." ; + sh:maxCount 1 ; + sh:name "Disk Bus Type" ; + sh:order 2 ; + sh:path gx:diskBusType ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 6 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:description "The type of storage drive." ; + sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; + sh:maxCount 1 ; + sh:name "Disk Type" ; + sh:order 1 ; + sh:path gx:diskType ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 4 ; + sh:path gx:generation ] ; + sh:targetClass gx:Disk . + +gx:SoftwareResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Gaia-X Virtual Resource describing an executable program." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Software Resource" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ] ; + sh:targetClass gx:SoftwareResource . + +gx:OperatingSystem a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing an operating system." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Operation System" ; + sh:property [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Operation System Distribution" ; + sh:order 0 ; + sh:path gx:osDistribution ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ] ; + sh:targetClass gx:OperatingSystem . + +gx:Signature a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the signature" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:signatureValue ], + [ sh:description "Defines the algorithm used to calculate or verify the signature." ; + sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:signatureAlgorithm ] ; + sh:targetClass gx:Signature . + +gx:CheckSum a sh:NodeShape ; + sh:closed false ; + sh:description "Detail on how to calculate or verify a checksum." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Algorithm used to create checksum." ; + sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:checkSumCalculation ], + [ sh:datatype xsd:string ; + sh:description "Value of the check sum." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:checkSumValue ] ; + sh:targetClass gx:CheckSum . + +gx:MemorySize a sh:NodeShape ; + sh:closed false ; + sh:description "The number of bits, that can be stored on a digital storage." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Memory size" ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass gx:MemorySize . + +gx:LegalPerson a sh:NodeShape ; + sh:closed false ; + sh:description "A legal person, who is uniquely identified by its registration number." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Legal Person" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class ; + sh:description "The full legal address of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal address" ; + sh:order 1 ; + sh:path gx:legalAddress ], + [ sh:class ; + sh:description "Full physical location of the headquarter of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:headquartersAddress ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; + sh:order 4 ; + sh:path gx:subOrganisationOf ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; + sh:order 3 ; + sh:path gx:parentOrganizationOf ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; + sh:minCount 1 ; + sh:name "registration number" ; + sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; + sh:order 0 ; + sh:path gx:registrationNumber ] ; + sh:targetClass gx:LegalPerson . + +gx:PhysicalResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Physical Resource" ; + sh:property [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; + sh:name "manufactured by" ; + sh:order 2 ; + sh:path gx:manufacturedBy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; + sh:name "owned by" ; + sh:order 1 ; + sh:path gx:ownedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; + sh:minCount 1 ; + sh:name "maintained by" ; + sh:order 0 ; + sh:path gx:maintainedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 4 ; + sh:path gx:aggregationOfResources ], + [ sh:class ; + sh:description "A list of physical locations." ; + sh:minCount 1 ; + sh:order 3 ; + sh:path gx:location ] ; + sh:targetClass gx:PhysicalResource . + +gx:VirtualResource a sh:NodeShape ; + sh:closed false ; + sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Resource" ; + sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 0 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 4 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 5 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 1 ; + sh:path gx:license ] ; + sh:targetClass gx:VirtualResource . + diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 543b40a..57a648a 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-17T10:12:38 +# Generation date: 2023-12-19T11:59:13 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -91,7 +91,7 @@ class Address(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None - gps: Optional[str] = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -102,8 +102,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) - if self.gps is not None and not isinstance(self.gps, str): - self.gps = str(self.gps) + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -117,6 +116,78 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + @dataclass class GaiaXEntity(YAMLRoot): """ @@ -241,7 +312,7 @@ class Device(YAMLRoot): vendor: Optional[str] = None generation: Optional[str] = None defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() + supportedOversubscriptionRatio: Optional[int] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.vendor is not None and not isinstance(self.vendor, str): @@ -253,9 +324,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - if not isinstance(self.supportedOversubscriptionRatio, list): - self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] - self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) super().__post_init__(**kwargs) @@ -388,7 +458,7 @@ class GPU(Device): class_model_uri: ClassVar[URIRef] = GX.GPU gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[str] = "\"none\"" + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" gpuProcessingUnits: Optional[int] = None gpuPassthrough: Optional[Union[bool, Bool]] = False @@ -396,8 +466,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): - self.gpuInterconnection = str(self.gpuInterconnection) + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): self.gpuProcessingUnits = int(self.gpuProcessingUnits) @@ -695,7 +765,7 @@ class Quantity(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Quantity value: float = None - unit: Union[str, URI] = None + unit: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.value): @@ -705,8 +775,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.unit): self.MissingRequiredField("unit") - if not isinstance(self.unit, URI): - self.unit = URI(self.unit) + if not isinstance(self.unit, str): + self.unit = str(self.unit) super().__post_init__(**kwargs) @@ -724,7 +794,7 @@ class Frequency(Quantity): class_model_uri: ClassVar[URIRef] = GX.Frequency value: float = None - unit: Union[str, URI] = None + unit: str = None @dataclass class MemorySize(Quantity): @@ -739,7 +809,7 @@ class MemorySize(Quantity): class_model_uri: ClassVar[URIRef] = GX.MemorySize value: float = None - unit: Union[str, URI] = None + unit: str = None @dataclass class Power(Quantity): @@ -754,7 +824,7 @@ class Power(Quantity): class_model_uri: ClassVar[URIRef] = GX.Power value: float = None - unit: Union[str, URI] = None + unit: str = None class Participant(GaiaXEntity): """ @@ -1064,7 +1134,7 @@ class PXEImage(Image): copyrightOwnedBy: Union[str, List[str]] = None license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): @@ -1140,7 +1210,7 @@ class ServiceOffering(GaiaXEntity): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" dependsOn: Optional[Union[str, List[str]]] = empty_list() aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() @@ -1213,7 +1283,7 @@ class InfrastructureServiceOffering(ServiceOffering): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): @@ -1230,7 +1300,7 @@ class ComputeServiceOffering(InfrastructureServiceOffering): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -1257,7 +1327,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): @@ -1368,6 +1438,117 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + @dataclass class VMImage(Image): """ @@ -4043,7 +4224,7 @@ class EncryptionAlgorithm(EnumDefinitionImpl): description="TBD") other = PermissibleValue( text="other", - description="Algorithm for enchryption not further described.") + description="Algorithm for encryption not further described.") _defn = EnumDefinition( name="EncryptionAlgorithm", @@ -4148,6 +4329,24 @@ def _addvals(cls): setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. @@ -5190,6 +5389,9 @@ class OSDistribution(EnumDefinitionImpl): OpenSolaris = PermissibleValue(text="OpenSolaris") openSUSE = PermissibleValue(text="openSUSE") Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") _defn = EnumDefinition( name="OSDistribution", @@ -8568,14 +8770,14 @@ class slots: slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), model_uri=GX.value, domain=None, range=float) -slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), - model_uri=GX.unit, domain=None, range=Union[str, URI]) +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), model_uri=GX.address__countryCode, domain=None, range=str) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[str]) + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) @@ -8586,6 +8788,31 @@ class slots: slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), model_uri=GX.address__locality, domain=None, range=Optional[str]) +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) @@ -8647,7 +8874,7 @@ class slots: model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) @@ -8671,7 +8898,7 @@ class slots: model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) @@ -8907,6 +9134,39 @@ class slots: slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py index 2bec6ca..82f6146 100644 --- a/generator/discovery/openstack/discovery_vm_images.py +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -1,3 +1,5 @@ +import typing + from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk @@ -12,14 +14,15 @@ import generator.common.const as const +from typing import Dict class VmDiscovery(): - def __init__(self, conn: Connection) -> None: + def __init__(self, conn: Connection, config: Dict) -> None: self.conn = conn + self.config = config - - #def collect_vm_images(self, conn: Connection) -> List[str]: + # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[GX_Image]: """ Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. @@ -36,23 +39,43 @@ def discover_vm_images(self) -> List[GX_Image]: def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ - Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + Converts Openstack image to a Gaia-X virtual machine image. @param os_image: Openstack image properties - @return: Gaia-X compliant virtual machine image + @return: Gaia-X virtual machine image """ # collect all properties cpu_req = self._get_cpu_req(os_image.architecture) ram_req = self._get_min_ram_req(os_image.min_ram) root_disk_req = self._get_min_disk_req(os_image.min_disk) - - return GX_Image(copyrightOwnedBy='TBA', - license="TBA", - resourcePolicy=const.DEFAULT_RESOURCE_POLICY, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - version=os_image.os_version) + operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + #license = operatingSystem.license + #copyright_owner = operatingSystem.copyrightOwnedBy + #resource_policy= const.DEFAULT_RESOURCE_POLICY + + # read mandatory attributes from config or use default values + try: + license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + pass + try: + copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + pass + try: + resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + pass + + #return GX_Image(copyrightOwnedBy=copyright_owner, + # license=license, + # resourcePolicy=resource_policy, + # cpuReq=cpu_req, + # ramReq=ram_req, + # rootDiskReq=root_disk_req, + # operatingSystem=operatingSystem, + # version=os_image.os_version)# @staticmethod def _get_cpu_req(arch: str) -> CPU: @@ -70,18 +93,145 @@ def _get_cpu_req(arch: str) -> CPU: def _get_min_ram_req(min_ram_size: str) -> Memory: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) - return Memory(memorySize = size) + size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize=size) @staticmethod def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize = size) + size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size) - - def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + # Copyright owner and license not supported as Image properties, currently --> Default values are used if os_distro == "arch": - return OperatingSystem(version=os_version, os_distro="Arch Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) if os_distro == "centos": - return OperatingSystem(version=os_version, os_distro="CentOS Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) + if os_distro == "debian": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) + if os_distro == "fedora": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) + if os_distro == "freebsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) + if os_distro == "gentoo": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) + if os_distro == "mandrake": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) + if os_distro == "mandriva": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) + if os_distro == "mes": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) + if os_distro == "msdos": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) + if os_distro == "netbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) + if os_distro == "netware": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) + if os_distro == "openbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) + if os_distro == "opensolaris": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) + if os_distro == "opensuse": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + if os_distro == "rocky": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) + if os_distro == "rhel": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) + if os_distro == "sled": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) + if os_distro == "ubuntu": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) + if os_distro == "windows": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) + if os_distro == "cirros": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) + if os_distro == "almalinux": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) + + raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + + def _get_resource_policy(self, os: str) -> str: + policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] + if policy == "DEFAULT": + return const.DEFAULT_RESOURCE_POLICY + else: + return policy + + def _get_copyrightowner(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + + def _get_license(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + + + + + + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index b7feca9..9bd08ca 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,20 +1,23 @@ import openstack from openstack.connection import Connection +from typing import Dict import sys from generator.discovery.openstack.discovery_vm_images import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services" - def __init__(self, conn: Connection) -> None: + def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn self.auth = conn.auth self.regions = list(conn.identity.regions()) + self.config = config def discover_properties(self): - vm_dis = VmDiscovery(self.conn) - vm_dis.discover_vm_images() + vm_dis = VmDiscovery(self.conn, self.config) + creds = vm_dis.discover_vm_images() + print(creds) # Create per region service catalogs From 4a03ca8255722e27d0fb0d6c5fd77e8643948470 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 16:25:28 +0100 Subject: [PATCH 008/175] Discover mandatory attributes Signed-off-by: Anja Strunk --- generator/common/const.py | 2 + .../discovery/openstack/opentack_discovery.py | 2 +- ...ry_vm_images.py => vm_images_discovery.py} | 114 ++++++++++++++---- generator/test.py | 0 4 files changed, 96 insertions(+), 22 deletions(-) rename generator/discovery/openstack/{discovery_vm_images.py => vm_images_discovery.py} (77%) delete mode 100644 generator/test.py diff --git a/generator/common/const.py b/generator/common/const.py index bfb6edc..78b2e7c 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,4 +1,6 @@ DEFAULT_RESOURCE_POLICY = "default: allow intent" +DEFAULT_FIRMWARE_TYPE = "other" +DEFAULT_WATCHDOG_ACTION = "none" UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 9bd08ca..3492e40 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -3,7 +3,7 @@ from typing import Dict import sys -from generator.discovery.openstack.discovery_vm_images import VmDiscovery +from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services" diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/vm_images_discovery.py similarity index 77% rename from generator/discovery/openstack/discovery_vm_images.py rename to generator/discovery/openstack/vm_images_discovery.py index 82f6146..dd5a399 100644 --- a/generator/discovery/openstack/discovery_vm_images.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -16,6 +16,7 @@ from typing import Dict + class VmDiscovery(): def __init__(self, conn: Connection, config: Dict) -> None: @@ -44,19 +45,28 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @return: Gaia-X virtual machine image """ - # collect all properties + # Discover all SCS mandatory properties cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image.min_ram) - root_disk_req = self._get_min_disk_req(os_image.min_disk) - operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + ram_req = self._get_min_ram_req(os_image) + root_disk_req = self._get_min_disk_req(os_image) + operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + # Discover all SCS recommended attributes + secure_boot = self._is_secure_boot(os_image) + firmware_type = self._get_firmeware_type(os_image) + watchdog_action = self._get_watchdog_action(os_image) + v_pmu = self._is_vmpu(os_image) + video_ram_size = self._get_video_ram(os_image) + multiqueue = self._is_multiqueue_enabled(os_image) - #license = operatingSystem.license - #copyright_owner = operatingSystem.copyrightOwnedBy - #resource_policy= const.DEFAULT_RESOURCE_POLICY + # Discover Gaia-X mandatory attributes + img_license = operating_system.license + copyright_owner = operating_system.copyrightOwnedBy + resource_policy = const.DEFAULT_RESOURCE_POLICY # read mandatory attributes from config or use default values try: - license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] except KeyError: pass try: @@ -68,14 +78,22 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: except KeyError: pass - #return GX_Image(copyrightOwnedBy=copyright_owner, - # license=license, - # resourcePolicy=resource_policy, - # cpuReq=cpu_req, - # ramReq=ram_req, - # rootDiskReq=root_disk_req, - # operatingSystem=operatingSystem, - # version=os_image.os_version)# + # print(os_image.os_secure_boot) + + return GX_Image(copyrightOwnedBy=copyright_owner, + license=img_license, + resourcePolicy=resource_policy, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + operatingSystem=operating_system, + version=os_image.os_version, + secureBoot=secure_boot, + firmwareType=firmware_type, + watchDogAction=watchdog_action, + vPMU=v_pmu, + videoRamSize=video_ram_size, + multiQueues=multiqueue) @staticmethod def _get_cpu_req(arch: str) -> CPU: @@ -90,16 +108,22 @@ def _get_cpu_req(arch: str) -> CPU: return CPU(cpuArchitecture=cpu_arch_types.other) @staticmethod - def _get_min_ram_req(min_ram_size: str) -> Memory: + def _get_min_ram_req(image: OS_Image) -> Memory: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) + size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) + try: + hw_encryption = image.hw_mem_encryption + if hw_encryption: + return Memory(memorySize=size, hardwareEncryption=hw_encryption) + except AttributeError: + pass return Memory(memorySize=size) @staticmethod - def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size) + def _get_min_disk_req(image: OS_Image) -> Disk: + size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size, diskBusType=image.hw_disk_bus) def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: # Copyright owner and license not supported as Image properties, currently --> Default values are used @@ -229,9 +253,57 @@ def _get_copyrightowner(self, os: str) -> str: def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + def _is_secure_boot(self, image: OS_Image) -> bool: + try: + secure_boot = image.needs_secure_boot + if secure_boot: + return secure_boot + except AttributeError: + pass + return False + + def _get_firmeware_type(self, image: OS_Image) -> str: + try: + firmwareType = image.hw_firmware_type + if firmwareType: + return firmwareType + except AttributeError: + pass + return const.DEFAULT_FIRMWARE_TYPE + def _get_watchdog_action(self, image: OS_Image) -> str: + try: + action = image.hw_watchdog_action + if action: + return action + except AttributeError: + pass + return const.DEFAULT_WATCHDOG_ACTION + def _is_vmpu(self, image: OS_Image) -> bool: + try: + pmu = image.hw_pmu + if pmu: + return pmu + except AttributeError: + pass + return False + def _get_video_ram(self, image: OS_Image) -> MemorySize: + try: + ram_size = image.hw_video_ram + if ram_size: + return MemorySize(value=float()) + except AttributeError: + pass + def _is_multiqueue_enabled(self, image: OS_Image) -> bool: + try: + enabled = image.hw_vif_multiqueue_enabled + if enabled: + return enabled + except AttributeError: + pass + return False diff --git a/generator/test.py b/generator/test.py deleted file mode 100644 index e69de29..0000000 From 948887b7df4e9e18947570ab5ea2b9bb5dcce5f0 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 20 Dec 2023 12:03:09 +0100 Subject: [PATCH 009/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/exceptions.py | 5 + .../discovery/openstack/opentack_discovery.py | 2 - .../openstack/vm_images_discovery.py | 352 ++++++++++-------- 3 files changed, 208 insertions(+), 151 deletions(-) create mode 100644 generator/common/exceptions.py diff --git a/generator/common/exceptions.py b/generator/common/exceptions.py new file mode 100644 index 0000000..de8920d --- /dev/null +++ b/generator/common/exceptions.py @@ -0,0 +1,5 @@ + +class MissingMandatoryAttribute(AttributeError): + def __init__(self, *args, **kwargs): + super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 3492e40..48d739d 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -17,8 +17,6 @@ def __init__(self, conn: Connection, config: Dict) -> None: def discover_properties(self): vm_dis = VmDiscovery(self.conn, self.config) creds = vm_dis.discover_vm_images() - print(creds) - # Create per region service catalogs """self.regcat = {} diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index dd5a399..14e641f 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -6,8 +6,12 @@ from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +from generator.common.exceptions import MissingMandatoryAttribute + from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image from typing import List @@ -45,200 +49,185 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @return: Gaia-X virtual machine image """ - # Discover all SCS mandatory properties - cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image) - root_disk_req = self._get_min_disk_req(os_image) - operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) - - # Discover all SCS recommended attributes - secure_boot = self._is_secure_boot(os_image) - firmware_type = self._get_firmeware_type(os_image) - watchdog_action = self._get_watchdog_action(os_image) - v_pmu = self._is_vmpu(os_image) - video_ram_size = self._get_video_ram(os_image) - multiqueue = self._is_multiqueue_enabled(os_image) - - # Discover Gaia-X mandatory attributes - img_license = operating_system.license - copyright_owner = operating_system.copyrightOwnedBy - resource_policy = const.DEFAULT_RESOURCE_POLICY - - # read mandatory attributes from config or use default values - try: - img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] - except KeyError: - pass - try: - copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] - except KeyError: - pass - try: - resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] - except KeyError: - pass - - # print(os_image.os_secure_boot) - - return GX_Image(copyrightOwnedBy=copyright_owner, - license=img_license, - resourcePolicy=resource_policy, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - operatingSystem=operating_system, - version=os_image.os_version, - secureBoot=secure_boot, - firmwareType=firmware_type, - watchDogAction=watchdog_action, - vPMU=v_pmu, - videoRamSize=video_ram_size, - multiQueues=multiqueue) + # Initialize Gaia-X Image + gx_image = GX_Image(copyrightOwnedBy="TBA", + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY) + + # Discover optional attributes + self._add_secure_boot(os_image, gx_image) + self._add_firmeware_type(os_image, gx_image) + self._add_watchdog_action(os_image, gx_image) + self._add_vmpu(os_image, gx_image) + self._add_video_ram(os_image, gx_image) + self._add_multiqueue_enabled(os_image, gx_image) + self._add_update_strategy(os_image, gx_image) + self._add_name(os_image, gx_image) + self._add_description(os_image, gx_image) + self._add_cpu_req(os_image, gx_image) + self._add_min_ram_req(os_image, gx_image) + self._add_min_disk_req(os_image, gx_image) + self._add_operation_system_info(os_image, gx_image) + self._add_build_date(os_image, gx_image) + self._add_license_included(os_image, gx_image) + + # Discover mandatory attribute + self._add_license(os_image, gx_image) + self._add_copyrigthowner(os_image, gx_image) + self._add_resource_policy(os_image, gx_image) + + return gx_image @staticmethod - def _get_cpu_req(arch: str) -> CPU: - if arch == "i686": - return CPU(cpuArchitecture="x86-32") - if arch in ["x86_64", "ia64"]: - return CPU(cpuArchitecture="x86-64") - if arch == "aarch6": - return CPU(cpuArchitecture="AArch-32") - if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - return CPU(cpuArchitecture="RISC-V") - return CPU(cpuArchitecture=cpu_arch_types.other) + def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: + if os_image.architecture == "i686": + gx_image.cpuReq = CPU(cpuArchitecture="x86-32") + elif os_image.architecture in ["x86_64", "ia64"]: + gx_image.cpuReq = CPU(cpuArchitecture="x86-64") + elif os_image.architecture == "aarch6": + gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") + elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") + else: + gx_image.cpuReq = CPU(cpuArchitecture=cpu_arch_types.other) @staticmethod - def _get_min_ram_req(image: OS_Image) -> Memory: + def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) try: - hw_encryption = image.hw_mem_encryption - if hw_encryption: - return Memory(memorySize=size, hardwareEncryption=hw_encryption) - except AttributeError: - pass - return Memory(memorySize=size) + size = MemorySize(value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB) + mem_req = Memory(memorySize=size) + try: + mem_req.hardwareEncryption = os_image.hw_mem_encryption + except AttributeError: + pass + gx_image.ramReq = mem_req + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) @staticmethod - def _get_min_disk_req(image: OS_Image) -> Disk: - size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size, diskBusType=image.hw_disk_bus) + def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: + try: + size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) - def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Copyright owner and license not supported as Image properties, currently --> Default values are used - if os_distro == "arch": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + if os_image.os_distro == "arch": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), license=self._get_license(const.CONFIG_OS_ARCH)) - if os_distro == "centos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + elif os_image.os_distro == "centos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), license=self._get_license(const.CONFIG_OS_CENTOS)) - if os_distro == "debian": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + elif os_image.os_distro == "debian": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), license=self._get_license(const.CONFIG_OS_DEBIAN)) - if os_distro == "fedora": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + elif os_image.os_distro == "fedora": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), license=self._get_license(const.CONFIG_OS_FEDORA)) - if os_distro == "freebsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + elif os_image.os_distro == "freebsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), license=self._get_license(const.CONFIG_OS_FREEBSD)) - if os_distro == "gentoo": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + elif os_image.os_distro == "gentoo": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), license=self._get_license(const.CONFIG_OS_GENTOO)) - if os_distro == "mandrake": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + elif os_image.os_distro == "mandrake": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), license=self._get_license(const.CONFIG_OS_MANDRAKE)) - if os_distro == "mandriva": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + elif os_image.os_distro == "mandriva": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), license=self._get_license(const.CONFIG_OS_MANDRIVA)) - if os_distro == "mes": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + elif os_image.os_distro == "mes": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), license=self._get_license(const.CONFIG_OS_MES)) - if os_distro == "msdos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + elif os_image.os_distro == "msdos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), license=self._get_license(const.CONFIG_OS_MSDOS)) - if os_distro == "netbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + elif os_image.os_distro == "netbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), license=self._get_license(const.CONFIG_OS_NETBSD)) - if os_distro == "netware": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + elif os_image.os_distro == "netware": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), license=self._get_license(const.CONFIG_OS_NOVELL)) - if os_distro == "openbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + elif os_image.os_distro == "openbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), license=self._get_license(const.CONFIG_OS_OPENBSD)) - if os_distro == "opensolaris": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + elif os_image.os_distro == "opensolaris": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), license=self._get_license(const.CONFIG_OS_SOLARIS)) - if os_distro == "opensuse": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + elif os_image.os_distro == "opensuse": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) - if os_distro == "rocky": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + elif os_image.os_distro == "rocky": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), license=self._get_license(const.CONFIG_OS_ROCKY)) - if os_distro == "rhel": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + elif os_image.os_distro == "rhel": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), license=self._get_license(const.CONFIG_OS_RHEL)) - if os_distro == "sled": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + elif os_image.os_distro == "sled": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), license=self._get_license(const.CONFIG_OS_SLED)) - if os_distro == "ubuntu": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + elif os_image.os_distro == "ubuntu": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), license=self._get_license(const.CONFIG_OS_UBUNTU)) - if os_distro == "windows": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + elif os_image.os_distro == "windows": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), license=self._get_license(const.CONFIG_OS_WINDOWS)) - if os_distro == "cirros": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + elif os_image.os_distro == "cirros": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), license=self._get_license(const.CONFIG_OS_CIRROS)) - if os_distro == "almalinux": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + elif os_image.os_distro == "almalinux": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), license=self._get_license(const.CONFIG_OS_ALMALINUX)) - - raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + else: + raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") def _get_resource_policy(self, os: str) -> str: policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] @@ -250,60 +239,125 @@ def _get_resource_policy(self, os: str) -> str: def _get_copyrightowner(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + gx_image.license = gx_image.operatingSystem.copyrightOwnedBy + + def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # read mandatory attributes from config or use default values + try: + gx_image.license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + gx_image.license = gx_image.operatingSystem.license + def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # read mandatory attributes from config or use default values + try: + gx_image.rresource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + gx_image.rresource_policy = const.DEFAULT_RESOURCE_POLICY + def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _is_secure_boot(self, image: OS_Image) -> bool: + def _add_secure_boot(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - secure_boot = image.needs_secure_boot - if secure_boot: - return secure_boot + if not os_image.needs_secure_boot: + return + gx_image.secureBoot = os_image.needs_secure_boot except AttributeError: pass - return False - def _get_firmeware_type(self, image: OS_Image) -> str: + def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - firmwareType = image.hw_firmware_type - if firmwareType: - return firmwareType + if not os_image.hw_firmware_type: + return + gx_image.firmwareType = os_image.hw_firmware_type except AttributeError: - pass + gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - return const.DEFAULT_FIRMWARE_TYPE - - def _get_watchdog_action(self, image: OS_Image) -> str: + def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - action = image.hw_watchdog_action - if action: - return action + if not os_image.hw_watchdog_action: + return + gx_image.watchDogAction = os_image.hw_watchdog_action except AttributeError: pass - return const.DEFAULT_WATCHDOG_ACTION - - def _is_vmpu(self, image: OS_Image) -> bool: + def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - pmu = image.hw_pmu - if pmu: - return pmu + if not os_image.hw_pmu: + return + gx_image.vPMU = os_image.hw_pmu except AttributeError: pass - return False - def _get_video_ram(self, image: OS_Image) -> MemorySize: + def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - ram_size = image.hw_video_ram - if ram_size: - return MemorySize(value=float()) + if not os_image.hw_video_ram: + return + gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram)) except AttributeError: pass - def _is_multiqueue_enabled(self, image: OS_Image) -> bool: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - enabled = image.hw_vif_multiqueue_enabled - if enabled: - return enabled + if not os_image.hw_vif_multiqueue_enabled: + return + gx_image.multiQueues = os_image.hw_vif_multiqueue_enabled except AttributeError: pass - return False + + def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + os_image.updateStrategy = UpdateStrategy() + + # collect mandatory attributes + try: + os_image.updateStrategy.replaceFrequency = os_image.properties['replace_frequency'] + os_image.updateStrategy.oldVersionsValidUntil = os_image.properties['uuid_validity'] + os_image.updateStrategy.providedUntil = os_image.properties['provided_until'] + except KeyError as e: + raise MissingMandatoryAttribute(e.args) + + # collect optional attributes + try: + os_image.updateStrategy.hotfixHours = os_image.properties['hotfix_hours'] + except KeyError: + pass + + def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.description = os_image.properties[ + 'image_description'] + except KeyError: + pass + try: + gx_image.description = gx_image.description + " Managed by " + os_image.properties[ + 'managed_by_VENDOR'] + except KeyError: + pass + + def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + if not os_image.name: + return + gx_image.name = os_image.name + except KeyError: + pass + + def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.buildDate = os_image.properties['image_build_date'] + except KeyError: + pass + + @staticmethod + def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.licenseIncluded = os_image.properties['licenseIncluded'] + except KeyError: + gx_image.licenseIncluded = False + + + # ToDo: add aggrenation of From bb93b2f742a3d87399df710bbddc8e9fc9b95f45 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 21 Dec 2023 15:05:52 +0100 Subject: [PATCH 010/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 14 +++-- .../openstack/vm_images_discovery.py | 61 ++++++++++++++++++- 2 files changed, 69 insertions(+), 6 deletions(-) diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 57a648a..99d6757 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-19T11:59:13 +# Generation date: 2023-12-20T13:27:56 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -4262,14 +4262,18 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "ripemd-160", + setattr(cls, "sha-2", PermissibleValue( - text="ripemd-160", + text="sha-2", description="TBD")) setattr(cls, "sha-3", PermissibleValue( text="sha-3", description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) class KeyManagement(EnumDefinitionImpl): @@ -5378,7 +5382,7 @@ def _addvals(cls): class OSDistribution(EnumDefinitionImpl): """ - Possible values for operationg system distribution. + Possible values for operating system distribution. """ Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") @@ -5395,7 +5399,7 @@ class OSDistribution(EnumDefinitionImpl): _defn = EnumDefinition( name="OSDistribution", - description="Possible values for operationg system distribution.", + description="Possible values for operating system distribution.", ) @classmethod diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 14e641f..95b88da 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -7,6 +7,9 @@ from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm + from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image @@ -70,6 +73,9 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_operation_system_info(os_image, gx_image) self._add_build_date(os_image, gx_image) self._add_license_included(os_image, gx_image) + self._add_patch_level(os_image, gx_image) + self._add_version(os_image, gx_image) + self._add_checksum(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -357,7 +363,60 @@ def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.licenseIncluded = os_image.properties['licenseIncluded'] except KeyError: - gx_image.licenseIncluded = False + pass + + @staticmethod + def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.patchLevel = os_image.properties['patchlevel'] + except KeyError: + pass + + @staticmethod + def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.version = os_image.properties['internal_version'] + except KeyError: + pass + + @staticmethod + def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + algo = VmDiscovery._get_algo(os_image.hash_algo) + value = os_image.hash_value + gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + except AttributeError: + pass + + @staticmethod + def _get_algo(algo: str) -> str: + if algo in ['sha512', 'sha224', 'sha256' 'sha384']: + return 'sha-2' + if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + return algo + return ChecksumAlgorithm.other + + + @staticmethod + def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.maintenance = os_image.properties['maintained_until'] + except KeyError: + pass + + @staticmethod + def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + + @staticmethod + def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo + + except AttributeError: + pass # ToDo: add aggrenation of From 6c40238cbcd281d737d1512af4b0e6478b0a4a03 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:00:59 +0100 Subject: [PATCH 011/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 gax-cpu.py diff --git a/gax-cpu.py b/gax-cpu.py new file mode 100644 index 0000000..22a8c02 --- /dev/null +++ b/gax-cpu.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# gax-cpu.py +""" +These classes reflect the Gaia-X view on physical infra + +(c) Kurt Garloff , 3/2022 - 6/2022 +SPDX-License-Identifier: EPL-2.0 +""" + + +class CPU: + "CPU abstraction according to Gaia-X attributes" + def __init__(self): + "c'tor setting all vals to defaults" + # Gaia-X attrs + self.numberOfCores = 0 + self.numberOfThreads = 0 + self.frequency = 0 + self.boostFrequency = 0 + self.cacheSize = 0 + # This would not be interesting typically + self.allowedSocket = "" + # Virt. attrs -- not in GaX + self.dedicatedCore = False + self.dedicatedThread = False + self.limitOversubscr = False + + +class MEM: + "RAM of an instance" + def __init__(self): + "c'tor setting all vals to defaults" + self.memGB = 0 + self.ECC = True \ No newline at end of file From f4c021ba28c7a53bf01c9bd9329a3cb91cf950e7 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:03 +0100 Subject: [PATCH 012/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gax-cpu.py b/gax-cpu.py index 22a8c02..c6bb0f7 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,4 +33,5 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True \ No newline at end of file + self.ECC = True + \ No newline at end of file From 002dcb59a9f7da1e54eba148239f119b3abf2a68 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:30 +0100 Subject: [PATCH 013/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gax-cpu.py b/gax-cpu.py index c6bb0f7..22a8c02 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,5 +33,4 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True - \ No newline at end of file + self.ECC = True \ No newline at end of file From d7acc4d3bc2b6c6982a76c19ed7f730619ea7716 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:03:52 +0100 Subject: [PATCH 014/175] Remove unused files Signed-off-by: Anja Strunk --- generator/common/gaia-x.shacl | 2275 --------------------------------- 1 file changed, 2275 deletions(-) delete mode 100644 generator/common/gaia-x.shacl diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl deleted file mode 100644 index e13e0ae..0000000 --- a/generator/common/gaia-x.shacl +++ /dev/null @@ -1,2275 +0,0 @@ -@prefix gx: . -@prefix rdf: . -@prefix sh: . -@prefix xsd: . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:CodeArtifact a sh:NodeShape ; - sh:closed false ; - sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Code Artifact" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:CodeArtifact . - -gx:DataResource a sh:NodeShape ; - sh:closed false ; - sh:description "A dataset exposed through a service instance." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Resource" ; - sh:property [ sh:class gx:DataExchangeComponent ; - sh:description "A resolvable link to the data exchange component that exposes the data resource." ; - sh:minCount 1 ; - sh:name "exposed through" ; - sh:order 1 ; - sh:path gx:exposedThrough ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is obsolete." ; - sh:maxCount 1 ; - sh:name "obsolete dateTime" ; - sh:order 2 ; - sh:path gx:obsoleteDateTime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to participant legally enabling the data usage." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "produced by" ; - sh:order 0 ; - sh:path gx:producedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:Consent ; - sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; - sh:name "consent" ; - sh:order 6 ; - sh:path gx:consent ], - [ sh:datatype xsd:boolean ; - sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "contains PII" ; - sh:order 4 ; - sh:path gx:containsPII ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 9 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:Participant ; - sh:description "data controller Participant as defined in GDPR." ; - sh:name "data controller" ; - sh:order 5 ; - sh:path gx:dataController ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 7 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; - sh:maxCount 1 ; - sh:name "expiration dateTime" ; - sh:order 3 ; - sh:path gx:expirationDateTime ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 8 ; - sh:path gx:license ] ; - sh:targetClass gx:DataResource . - -gx:Device a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 1 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 2 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 3 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:vendor ] ; - sh:targetClass gx:Device . - -gx:GaiaX a sh:NodeShape ; - sh:closed false ; - sh:description "Top level element of Gaia-X ecosystem." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:GaiaX . - -gx:GaiaXEntity a sh:NodeShape ; - sh:closed false ; - sh:description "Root class for Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Gaia-X Entity" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ] ; - sh:targetClass gx:GaiaXEntity . - -gx:Hypervisor a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:hypervisorType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:Hypervisor . - -gx:Image a sh:NodeShape ; - sh:closed false ; - sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Image" ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 5 ; - sh:path gx:videoRamSize ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:encryption ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 9 ; - sh:path gx:secureBoot ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:signature ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 2 ; - sh:path gx:cpuReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:updateStrategy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 10 ; - sh:path gx:vPMU ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 24 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 11 ; - sh:path gx:multiQueues ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 23 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:checkSum ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 19 ; - sh:path gx:buildDate ], - [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 3 ; - sh:path gx:gpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 20 ; - sh:path gx:copyrightOwnedBy ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path gx:maintenance ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 25 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 18 ; - sh:path gx:patchLevel ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 6 ; - sh:path gx:rootDiskReq ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 22 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 13 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:checksum ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 4 ; - sh:path gx:ramReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 1 ; - sh:path gx:operatingSystem ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 0 ; - sh:path gx:fileSize ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 21 ; - sh:path gx:license ] ; - sh:targetClass gx:Image . - -gx:InstantiationRequirement a sh:NodeShape ; - sh:closed false ; - sh:description "A container class to gather all requirements for compute service offering instantiations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Instantiation Requirement" ; - sh:targetClass gx:InstantiationRequirement . - -gx:Issuer a sh:NodeShape ; - sh:closed false ; - sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; - sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 0 ; - sh:path gx:issuerTermsAndConditions ] ; - sh:targetClass gx:Issuer . - -gx:PXEImage a sh:NodeShape ; - sh:closed false ; - sh:description "PXE image for physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "PXE image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 4 ; - sh:path gx:gpuReq ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 5 ; - sh:path gx:ramReq ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 21 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 11 ; - sh:path gx:vPMU ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:checkSum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:encryption ], - [ sh:description "Disk format. Default \"ISO\"." ; - sh:in ( "WINPE" "ISO" ) ; - sh:maxCount 1 ; - sh:name "disk format" ; - sh:order 0 ; - sh:path gx:pxeImageDiskFormat ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 23 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 20 ; - sh:path gx:buildDate ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:checksum ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 10 ; - sh:path gx:secureBoot ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 1 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 14 ; - sh:path gx:licenseIncluded ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 26 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 22 ; - sh:path gx:license ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 19 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 25 ; - sh:path gx:name ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:maintenance ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path gx:version ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 12 ; - sh:path gx:multiQueues ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 7 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 6 ; - sh:path gx:videoRamSize ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 3 ; - sh:path gx:cpuReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 2 ; - sh:path gx:operatingSystem ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:updateStrategy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 24 ; - sh:path gx:aggregationOfResources ] ; - sh:targetClass gx:PXEImage . - -gx:RegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:RegistrationNumber . - -gx:Resource a sh:NodeShape ; - sh:closed false ; - sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 1 ; - sh:path gx:name ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 0 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 2 ; - sh:path gx:description ] ; - sh:targetClass gx:Resource . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:ConfidentialComputing a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; - sh:description "indicates whether confidential server has an associated attestation service." ; - sh:maxCount 1 ; - sh:name "attestation service URI" ; - sh:order 1 ; - sh:path gx:attestationServiceURI ], - [ sh:datatype xsd:string ; - sh:description "Particular confidential computing technology used by the flavors as defined in..." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:technology ] ; - sh:targetClass gx:ConfidentialComputing . - -gx:Consent a sh:NodeShape ; - sh:closed false ; - sh:description "Information on the legitimate processing of information related to PII." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Consent" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; - sh:minCount 1 ; - sh:name "purpose" ; - sh:order 2 ; - sh:path gx:purpose ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; - sh:minCount 1 ; - sh:name "data protection contact point" ; - sh:order 1 ; - sh:path gx:dataProtectionContactPoint ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; - sh:minCount 1 ; - sh:name "consent withdrawal contact point" ; - sh:order 3 ; - sh:path gx:consentWithdrawalContactPoint ], - [ sh:datatype xsd:string ; - sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal Basis" ; - sh:order 0 ; - sh:path gx:legalBasis ] ; - sh:targetClass gx:Consent . - -gx:DataExchangeComponent a sh:NodeShape ; - sh:closed false ; - sh:description "A service/resource used to make a data resource available." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Exchange Component" ; - sh:targetClass gx:DataExchangeComponent . - -gx:EORI a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The Economic Operators Registration and Identification number (EORI)." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:eori ] ; - sh:targetClass gx:EORI . - -gx:EUID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:euid ] ; - sh:targetClass gx:EUID . - -gx:GPSLocation a sh:NodeShape ; - sh:closed false ; - sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; - sh:maxCount 1 ; - sh:name "crs" ; - sh:order 3 ; - sh:path gx:crs ; - sh:pattern "^CRS" ], - [ sh:datatype xsd:string ; - sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; - sh:maxCount 1 ; - sh:name "altitude" ; - sh:order 2 ; - sh:path gx:altitude ], - [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "latitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 0 ; - sh:path gx:latitude ], - [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "longitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 1 ; - sh:path gx:longitude ] ; - sh:targetClass gx:GPSLocation . - -gx:LatestN a sh:NodeShape ; - sh:closed false ; - sh:description "Number of latest N outdated image versions, which will be valid." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:order 0 ; - sh:path gx:value ] ; - sh:targetClass gx:LatestN . - -gx:LeiCode a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Unique LEI number as defined by https://www.gleif.org." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path ] ; - sh:targetClass gx:LeiCode . - -gx:LocalRegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The state issued company number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:local ] ; - sh:targetClass gx:LocalRegistrationNumber . - -gx:Participant a sh:NodeShape ; - sh:closed false ; - sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ] ; - sh:targetClass gx:Participant . - -gx:ServerFlavor a sh:NodeShape ; - sh:closed false ; - sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Server Flavor" ; - sh:property [ sh:class gx:ConfidentialComputing ; - sh:description "Details with respect to confidential computing capabilities of the flavor." ; - sh:maxCount 1 ; - sh:name "confidential computing" ; - sh:order 6 ; - sh:path gx:confidentialComputing ], - [ sh:class gx:Memory ; - sh:description "Size of RAM of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:ram ], - [ sh:datatype xsd:string ; - sh:description "Network capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:network ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 9 ; - sh:path gx:hwRngTypeOfFlavor ], - [ sh:class gx:GPU ; - sh:description "GPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:gpu ], - [ sh:class gx:Disk ; - sh:description "Additional volume capabilities of boot volume of the flavor." ; - sh:name "additional volume" ; - sh:order 5 ; - sh:path gx:additionalVolume ], - [ sh:datatype xsd:boolean ; - sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; - sh:maxCount 1 ; - sh:name "Hardware-assisted virtualization" ; - sh:order 8 ; - sh:path gx:hardwareAssistedVirtualization ], - [ sh:class gx:SoftwareResource ; - sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:hypervisor ], - [ sh:class gx:CPU ; - sh:description "CPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "CPU requirements" ; - sh:order 0 ; - sh:path gx:cpu ], - [ sh:class gx:Disk ; - sh:description "Boot volume capabilities of boot volume of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "boot volume" ; - sh:order 4 ; - sh:path gx:bootVolume ] ; - sh:targetClass gx:ServerFlavor . - -gx:StandardConformity a sh:NodeShape ; - sh:closed false ; - sh:description "Details about standard applied to Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Name of the standard." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "title" ; - sh:order 0 ; - sh:path gx:title ], - [ sh:datatype xsd:anyURI ; - sh:description "Provides a link to schemas or details about applied standards." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "standard reference" ; - sh:order 1 ; - sh:path gx:standardReference ], - [ sh:datatype xsd:string ; - sh:description "Publisher of the standard." ; - sh:maxCount 1 ; - sh:name "publisher" ; - sh:order 2 ; - sh:path gx:publisher ] ; - sh:targetClass gx:StandardConformity . - -gx:VMImage a sh:NodeShape ; - sh:closed false ; - sh:description "Image for virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "VM image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 8 ; - sh:path gx:gpuReq ], - [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; - sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; - sh:maxCount 1 ; - sh:name "VM Image disk format" ; - sh:order 0 ; - sh:path gx:vmImageDiskFormat ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path gx:maintenance ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 28 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 15 ; - sh:path gx:vPMU ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path gx:signature ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path gx:checksum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:encryption ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 25 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 14 ; - sh:path gx:secureBoot ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 3 ; - sh:path gx:hwRngTypeOfImage ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 29 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 16 ; - sh:path gx:multiQueues ], - [ sh:description "Type of firmware which which guests are booted." ; - sh:in ( "BIOS" "UEFI" "other" ) ; - sh:maxCount 1 ; - sh:name "Firmware type" ; - sh:order 2 ; - sh:path gx:firmwareType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 26 ; - sh:path gx:license ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 11 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:updateStrategy ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 7 ; - sh:path gx:cpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 22 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 23 ; - sh:path gx:patchLevel ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 5 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 24 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 30 ; - sh:path gx:description ], - [ sh:description "Hypervisor type required by the image" ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:name "Hypervisor type" ; - sh:order 1 ; - sh:path gx:hypervisorType ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 6 ; - sh:path gx:operatingSystem ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 27 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:checkSum ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 10 ; - sh:path gx:videoRamSize ], - [ sh:description "Define the action to be performed if server hangs." ; - sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; - sh:maxCount 1 ; - sh:name "Watchdog action" ; - sh:order 4 ; - sh:path gx:watchDogAction ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 18 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 9 ; - sh:path gx:ramReq ] ; - sh:targetClass gx:VMImage . - -gx:VatID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The VAT identification number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:vatID ] ; - sh:targetClass gx:VatID . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:GPSUnit a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of a geographical point." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 180 ; - sh:minCount 1 ; - sh:minInclusive -180 ; - sh:name "degrees" ; - sh:order 0 ; - sh:path gx:degrees ], - [ sh:datatype xsd:float ; - sh:maxCount 1 ; - sh:maxInclusive 1 ; - sh:minInclusive 0 ; - sh:name "decimals" ; - sh:order 3 ; - sh:path gx:decimals ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "seconds" ; - sh:order 2 ; - sh:path gx:seconds ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "minutes" ; - sh:order 1 ; - sh:path gx:minutes ] ; - sh:targetClass gx:GPSUnit . - -gx:Encryption a sh:NodeShape ; - sh:closed false ; - sh:description "Encryption capabilities of a Gaia-X entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; - sh:in ( "BYOK" "HYOK" "managed" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "key management" ; - sh:order 1 ; - sh:path gx:keyManagement ], - [ sh:description "Supported algorithm used to encrypt." ; - sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "encryption algorithm" ; - sh:order 0 ; - sh:path gx:cipher ] ; - sh:targetClass gx:Encryption . - -gx:MaintenanceSubscription a sh:NodeShape ; - sh:closed false ; - sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; - sh:maxCount 1 ; - sh:name "Subscription required" ; - sh:order 1 ; - sh:path gx:subscriptionRequired ], - [ sh:datatype xsd:date ; - sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; - sh:maxCount 1 ; - sh:name "Maintenance until" ; - sh:order 2 ; - sh:path gx:maintainedUntil ], - [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; - sh:maxCount 1 ; - sh:name "Subscription included" ; - sh:order 0 ; - sh:path gx:subscriptionIncluded ] ; - sh:targetClass gx:MaintenanceSubscription . - -gx:UpdateStrategy a sh:NodeShape ; - sh:closed false ; - sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; - sh:maxCount 1 ; - sh:name "Old versions Valid until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; - sh:order 2 ; - sh:path gx:oldVersionsValidUntil ], - [ sh:datatype xsd:integer ; - sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; - sh:maxCount 1 ; - sh:minInclusive 0 ; - sh:name "Hotfix hours" ; - sh:order 1 ; - sh:path gx:hotfixHours ], - [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; - sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; - sh:maxCount 1 ; - sh:name "Replace Frequency" ; - sh:order 0 ; - sh:path gx:replaceFrequency ], - [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; - sh:maxCount 1 ; - sh:name "Provided until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; - sh:order 3 ; - sh:path gx:providedUntil ] ; - sh:targetClass gx:UpdateStrategy . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Full address of the entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "the street address of a postal address" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path ], - [ sh:class gx:GPSLocation ; - sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; - sh:order 1 ; - sh:path gx:gps ], - [ sh:datatype xsd:string ; - sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path ], - [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; - sh:order 0 ; - sh:path gx:countryCode ], - [ sh:datatype xsd:string ; - sh:description "String of a street-address" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path ] ; - sh:targetClass . - -gx:CPU a sh:NodeShape ; - sh:closed false ; - sh:description "Computational processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Last Level Cache size of the CPU." ; - sh:maxCount 1 ; - sh:name "last level cache size" ; - sh:order 7 ; - sh:path gx:lastLevelCacheSize ], - [ sh:class ; - sh:description "Boost frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "boost CPU frequency" ; - sh:order 6 ; - sh:path gx:boostFrequency ], - [ sh:datatype xsd:string ; - sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; - sh:name "CPU flags" ; - sh:order 1 ; - sh:path gx:cpuFlag ], - [ sh:datatype xsd:integer ; - sh:description "Number of threads of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of threads" ; - sh:order 4 ; - sh:path gx:numberOfThreads ], - [ sh:class ; - sh:description "Base frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "base CPU frequency" ; - sh:order 5 ; - sh:path gx:baseFrequency ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:vendor ], - [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; - sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; - sh:maxCount 1 ; - sh:name "CPU architecture" ; - sh:order 0 ; - sh:path gx:cpuArchitecture ], - [ sh:datatype xsd:boolean ; - sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; - sh:maxCount 1 ; - sh:name "smt enabled" ; - sh:order 2 ; - sh:path gx:smtEnabled ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 12 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 10 ; - sh:path gx:generation ], - [ sh:class ; - sh:description "CPU Thermal Design Power." ; - sh:maxCount 1 ; - sh:name "thermal design power" ; - sh:order 8 ; - sh:path gx:thermalDesignPower ], - [ sh:datatype xsd:integer ; - sh:description "Number of cores of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of CPU cores" ; - sh:order 3 ; - sh:path gx:numberOfCores ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 11 ; - sh:path gx:defaultOversubscriptionRatio ] ; - sh:targetClass gx:CPU . - -gx:ComputeServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Compute Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 2 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 8 ; - sh:path gx:keyword ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 13 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 6 ; - sh:path gx:dataProtectionRegime ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 0 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 10 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 7 ; - sh:path gx:dataAccountExport ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 12 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 1 ; - sh:path gx:providedBy ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 11 ; - sh:path gx:hostedOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 9 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 4 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 5 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:ComputeServiceOffering . - -gx:DataAccountExport a sh:NodeShape ; - sh:closed false ; - sh:description "List of methods to export data from your account out of the service." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; - sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "format type" ; - sh:order 2 ; - sh:path gx:formatType ], - [ sh:description "Type of data support: digital, physical." ; - sh:in ( "digital" "physical" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "access type" ; - sh:order 1 ; - sh:path gx:accessType ], - [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; - sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "request type" ; - sh:order 0 ; - sh:path gx:requestType ] ; - sh:targetClass gx:DataAccountExport . - -gx:Endpoint a sh:NodeShape ; - sh:closed false ; - sh:description "An endpoint is a mean to access and interact with a service or a resource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:StandardConformity ; - sh:description "Provides information about applied standards." ; - sh:minCount 1 ; - sh:name "standard conformity" ; - sh:order 1 ; - sh:path gx:standardConformity ], - [ sh:datatype xsd:string ; - sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:formalDescription ], - [ sh:datatype xsd:anyURI ; - sh:description "The URL of the endpoint where it can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint URL" ; - sh:order 0 ; - sh:path gx:endpointURL ] ; - sh:targetClass gx:Endpoint . - -gx:GPU a sh:NodeShape ; - sh:closed false ; - sh:description "Graphical processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 6 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:description "Interconnection of multiple GPUs within a server system" ; - sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:gpuInterconnection ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path gx:vendor ], - [ sh:datatype xsd:integer ; - sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "gpu processing units" ; - sh:order 2 ; - sh:path gx:gpuProcessingUnits ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 5 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 7 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:boolean ; - sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; - sh:maxCount 1 ; - sh:name "GPU path through" ; - sh:order 3 ; - sh:path gx:gpuPassthrough ], - [ sh:class gx:MemorySize ; - sh:description "Size of memory of the GPU." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:gpuMemory ] ; - sh:targetClass gx:GPU . - -gx:InfrastructureServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Infrastructure Service Offering" ; - sh:property [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:InfrastructureServiceOffering . - -gx:Memory a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of RAM." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; - sh:maxCount 1 ; - sh:name "Hardware Encryption enabled" ; - sh:order 4 ; - sh:path gx:hardwareEncryption ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 7 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "Memory size of RAM." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "memory size" ; - sh:order 0 ; - sh:path gx:memorySize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path gx:vendor ], - [ sh:datatype xsd:boolean ; - sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; - sh:maxCount 1 ; - sh:name "error correction code (ecc)" ; - sh:order 3 ; - sh:path gx:eccEnabled ], - [ sh:description "DRAM technology name defined by JEDEC" ; - sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; - sh:maxCount 1 ; - sh:name "memory class" ; - sh:order 1 ; - sh:path gx:memoryClass ], - [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; - sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; - sh:maxCount 1 ; - sh:name "memory rank" ; - sh:order 2 ; - sh:path gx:memoryRank ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 6 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 8 ; - sh:path gx:supportedOversubscriptionRatio ] ; - sh:targetClass gx:Memory . - -gx:ServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Service Offering" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ] ; - sh:targetClass gx:ServiceOffering . - -gx:TermsAndConditions a sh:NodeShape ; - sh:closed false ; - sh:description "Terms and Conditions applying to a service offering." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "sha256 hash of the document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:hash ], - [ sh:datatype xsd:anyURI ; - sh:description "A resolvable link to document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:url ] ; - sh:targetClass gx:TermsAndConditions . - -gx:VirtualMachineServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Machine Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 5 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:servicePolicy ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 8 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 9 ; - sh:path gx:dataAccountExport ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 13 ; - sh:path gx:hostedOn ], - [ sh:class gx:VMImage ; - sh:description "Compute Service Code Artifacts" ; - sh:minCount 1 ; - sh:name "code artifact" ; - sh:order 0 ; - sh:path gx:codeArtifact ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 15 ; - sh:path gx:description ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 4 ; - sh:path gx:dependsOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 11 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 6 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 2 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:ServerFlavor ; - sh:description "Set of technical requirements or conditions to instantiate this service offering." ; - sh:minCount 1 ; - sh:name "instantiation requirement" ; - sh:order 1 ; - sh:path gx:instantiationReq ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 10 ; - sh:path gx:keyword ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 3 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 14 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 12 ; - sh:path gx:endpoint ] ; - sh:targetClass gx:VirtualMachineServiceOffering . - -gx:Disk a sh:NodeShape ; - sh:closed false ; - sh:description "Capabilities of a physical or virtual hard drive." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 5 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "The size of the hard drive." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Disk size" ; - sh:order 0 ; - sh:path gx:diskSize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:vendor ], - [ sh:datatype xsd:string ; - sh:description "Type of disk controller the disk is attached to." ; - sh:maxCount 1 ; - sh:name "Disk Bus Type" ; - sh:order 2 ; - sh:path gx:diskBusType ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 6 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:description "The type of storage drive." ; - sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; - sh:maxCount 1 ; - sh:name "Disk Type" ; - sh:order 1 ; - sh:path gx:diskType ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 4 ; - sh:path gx:generation ] ; - sh:targetClass gx:Disk . - -gx:SoftwareResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Gaia-X Virtual Resource describing an executable program." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Software Resource" ; - sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ] ; - sh:targetClass gx:SoftwareResource . - -gx:OperatingSystem a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing an operating system." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Operation System" ; - sh:property [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Operation System Distribution" ; - sh:order 0 ; - sh:path gx:osDistribution ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ] ; - sh:targetClass gx:OperatingSystem . - -gx:Signature a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Value of the signature" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:signatureValue ], - [ sh:description "Defines the algorithm used to calculate or verify the signature." ; - sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:signatureAlgorithm ] ; - sh:targetClass gx:Signature . - -gx:CheckSum a sh:NodeShape ; - sh:closed false ; - sh:description "Detail on how to calculate or verify a checksum." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Algorithm used to create checksum." ; - sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:checkSumCalculation ], - [ sh:datatype xsd:string ; - sh:description "Value of the check sum." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:checkSumValue ] ; - sh:targetClass gx:CheckSum . - -gx:MemorySize a sh:NodeShape ; - sh:closed false ; - sh:description "The number of bits, that can be stored on a digital storage." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Memory size" ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass gx:MemorySize . - -gx:LegalPerson a sh:NodeShape ; - sh:closed false ; - sh:description "A legal person, who is uniquely identified by its registration number." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Legal Person" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class ; - sh:description "The full legal address of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal address" ; - sh:order 1 ; - sh:path gx:legalAddress ], - [ sh:class ; - sh:description "Full physical location of the headquarter of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:headquartersAddress ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; - sh:order 4 ; - sh:path gx:subOrganisationOf ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; - sh:order 3 ; - sh:path gx:parentOrganizationOf ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; - sh:minCount 1 ; - sh:name "registration number" ; - sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; - sh:order 0 ; - sh:path gx:registrationNumber ] ; - sh:targetClass gx:LegalPerson . - -gx:PhysicalResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Physical Resource" ; - sh:property [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; - sh:name "manufactured by" ; - sh:order 2 ; - sh:path gx:manufacturedBy ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; - sh:name "owned by" ; - sh:order 1 ; - sh:path gx:ownedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; - sh:minCount 1 ; - sh:name "maintained by" ; - sh:order 0 ; - sh:path gx:maintainedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 4 ; - sh:path gx:aggregationOfResources ], - [ sh:class ; - sh:description "A list of physical locations." ; - sh:minCount 1 ; - sh:order 3 ; - sh:path gx:location ] ; - sh:targetClass gx:PhysicalResource . - -gx:VirtualResource a sh:NodeShape ; - sh:closed false ; - sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Resource" ; - sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 0 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 4 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 5 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 1 ; - sh:path gx:license ] ; - sh:targetClass gx:VirtualResource . - From 3cf1f167ee05be0d606f69bf1b8c0d8e4a59a4c8 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 3 Jan 2024 13:55:06 +0100 Subject: [PATCH 015/175] Add JSON-LD serialization Signed-off-by: Anja Strunk --- generator/cli.py | 3 + generator/common/gx_schema.py | 110 +- generator/common/gx_schema_org.py | 9224 +++++++++++++++++ generator/common/json_ld.py | 184 + .../discovery/openstack/opentack_discovery.py | 97 +- .../openstack/vm_images_discovery.py | 272 +- test.py | 0 7 files changed, 9657 insertions(+), 233 deletions(-) create mode 100644 generator/common/gx_schema_org.py create mode 100644 generator/common/json_ld.py create mode 100644 test.py diff --git a/generator/cli.py b/generator/cli.py index e691f57..0244287 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -5,6 +5,8 @@ from generator.discovery.openstack.opentack_discovery import OsCloud +import json +import generator.common.json_ld as json_ld @click.group() def cli(): @@ -33,6 +35,7 @@ def openstack(cloud, timeout, config): with open(config, "r") as config_file: os_cloud = OsCloud(conn, yaml.safe_load(config_file)) props = os_cloud.discover_properties() + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 99d6757..d64bb65 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 +# Generation date: 2023-12-28T18:05:45 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -90,7 +90,7 @@ class Address(YAMLRoot): class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: str = None + countryCode: Union[CountryNameAlpha2, str] = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -128,8 +128,8 @@ class GPSLocation(YAMLRoot): class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: str = None - longitude: str = None + latitude: Union[GPSUnit, dict] = None + longitude: Union[GPSUnit, dict] = None altitude: Optional[str] = None crs: Optional[str] = None @@ -281,6 +281,7 @@ class Signature(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Signature signature: str = None + hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -289,6 +290,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.signature, str): self.signature = str(self.signature) + if self._is_empty(self.hashAlgorithm): + self.MissingRequiredField("hashAlgorithm") + if not isinstance(self.hashAlgorithm, ChecksumAlgorithm): + self.hashAlgorithm = ChecksumAlgorithm(self.hashAlgorithm) + if self._is_empty(self.signatureAlgorithm): self.MissingRequiredField("signatureAlgorithm") if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): @@ -525,8 +531,8 @@ class UpdateStrategy(YAMLRoot): replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None + oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None + providedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -850,7 +856,7 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -897,7 +903,7 @@ class Resource(GaiaXEntity): class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -920,8 +926,8 @@ class VirtualResource(Resource): class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -998,8 +1004,8 @@ class SoftwareResource(VirtualResource): class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1038,8 +1044,8 @@ class CodeArtifact(SoftwareResource): class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1055,8 +1061,8 @@ class Image(CodeArtifact): class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1131,8 +1137,8 @@ class PXEImage(Image): class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1155,8 +1161,8 @@ class OperatingSystem(SoftwareResource): class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1181,8 +1187,8 @@ class Hypervisor(SoftwareResource): class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1211,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() + hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1450,8 +1456,8 @@ class DataResource(VirtualResource): class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1561,8 +1567,8 @@ class VMImage(Image): class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -4262,9 +4268,21 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "sha-2", + setattr(cls, "sha-224", + PermissibleValue( + text="sha-224", + description="TBD")) + setattr(cls, "sha-256", + PermissibleValue( + text="sha-256", + description="TBD")) + setattr(cls, "sha-512", PermissibleValue( - text="sha-2", + text="sha-512", + description="TBD")) + setattr(cls, "sha-384", + PermissibleValue( + text="sha-384", description="TBD")) setattr(cls, "sha-3", PermissibleValue( @@ -8778,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) + model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8793,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) + model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) + model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8865,6 +8883,9 @@ class slots: slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), + model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) + slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) @@ -8968,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9028,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9076,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9103,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9220,4 +9241,7 @@ class slots: model_uri=GX.confidentialComputing__technology, domain=None, range=str) slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + +Process finished with exit code 0 + diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py new file mode 100644 index 0000000..7821417 --- /dev/null +++ b/generator/common/gx_schema_org.py @@ -0,0 +1,9224 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-12-20T13:27:56 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class LatestN(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, str): + self.unit = str(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: str = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: str = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: str = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + other = PermissibleValue( + text="other", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for encryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "sha-2", + PermissibleValue( + text="sha-2", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operating system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operating system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py new file mode 100644 index 0000000..0c74864 --- /dev/null +++ b/generator/common/json_ld.py @@ -0,0 +1,184 @@ +""" +Methods and classes needed/useful for JSON-LD serialization. +""" +import inspect + +from generator.common.gx_schema import SCHEMA +from generator.common.gx_schema import VCARD +from generator.common.gx_schema import GX +from generator.common.gx_schema import QUDT +from generator.common.gx_schema import YAMLRoot +from generator.common.gx_schema import slots + +from json import JSONDecoder + +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.enumerations import EnumDefinitionImpl + +from typing import List + +from uuid import uuid4 + + +class JsonLdObject: + """Wrapper class to store properties and id of a GX object instance. This class is required, because python + classes of Gaia-X Credential does not have an attribute to store instance's id.""" + + def __init__(self, gx_object: YAMLRoot, gx_id=None): + """ + + @param gx_object: Gaia-X object + @type gx_object: YAMLRoot + @param gx_id: id of Gaia-X object + """ + self.gx_object = gx_object + self.gx_id = gx_id + if self.gx_id is None: + self.gx_id = str(uuid4()) + + +def get_json_ld_context() -> dict: + """ + Returns JSON-LD context as dict + + @return: JSON-LD context as dictionary + @rtype: dict + """ + return { + "@context": + { + GX.prefix: GX, + QUDT.prefix: QUDT, + SCHEMA.prefix: SCHEMA, + VCARD.prefix: VCARD, + "xsd": "http://www.w3.org/2001/XMLSchema#" + } + } + + +def to_json_ld(obj) -> dict: + """ + JSON serializer callback method. + 1) Adds object's id, if any + 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type + information as string, we need to add type to non-string attributes explicitly. + 3) Adds curie to instance and its attributes + 4) Filters out empty values (None, {}, and []) + + @param obj: object to be serialized + @return: object as dictionary + @rtype: dict + """ + json_ld = dict() + + if isinstance(obj, JsonLdObject): + # if JsonLdObject adds id + gx_object = obj.gx_object + json_ld['@id'] = obj.gx_id + json_ld.update(to_json_ld(gx_object)) + return json_ld + elif isinstance(obj, YAMLRoot): + # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict + json_ld['@type'] = get_types(obj.__class__) + for key, value in obj.__dict__.items(): + if value is None or value == [] or value == {}: + # skip emtpy values + continue + slot_curie = get_slot_curie(key, obj) + if isinstance(value, XSDDateTime): + # Add type for datetime + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:dateTime" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, XSDDate): + # add type for date + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:date" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, float): + # add type for float + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:float" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, str) and value.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:anyURI" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, bool): + # add type for boolean + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:boolean" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, list): + # call to_json_ld for each entry in list + json_ld[slot_curie] = list() + for item in value: + json_ld[slot_curie].append(to_json_ld(item)) + elif isinstance(value, EnumDefinitionImpl): + # add text for enumeration values instead of code + json_ld[slot_curie] = value.code.text + elif isinstance(value, YAMLRoot): + json_ld[slot_curie] = to_json_ld(value) + else: + json_ld[slot_curie] = value + return json_ld + elif isinstance(obj, str): + if obj.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld["@type"] = "xsd:anyURI" + json_ld["@value"] = obj + return json_ld + else: + return obj + else: + return JSONDecoder().decode(obj) + + +def get_slot_curie(slot_name:str, gx_object: object)-> str: + """ + Returns curie of slot with given SLOT_NAME of given GX_OBJECT. + @param slot_name: name of slot whose curie is requested + @type slot_name: str + @param gx_object: GX object given slot may belong to + @type gx_object: object + @return: slot's curie as str, if given GX_OBJECT has slot with given SLOT_NAME. Otherwise None + """ + for s_class in _get_super_classes(gx_object.__class__): + s_class = s_class.__name__[0].lower() + s_class.__name__[1:] + if hasattr(slots, s_class + "__" + slot_name): + return getattr(slots, s_class + "__" + slot_name).curie + elif hasattr(slots, slot_name): + return getattr(slots, slot_name).curie + + +def get_types(gaia_object: type) -> List[type]: + """ + Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. + @param gaia_object: GX object, whose type is to be retrived + @type gaia_object: type + @return: list of types if given GX_OBJECT + @rtype: list of types + """ + types = [] + for base in inspect.getmro(gaia_object): + if isinstance(base, YAMLRoot): + types.append(base.class_class_curie) + return types + + +def _get_super_classes(class_name) -> List: + """ + Returns all super classes of class with given CLASS_NAME + @param class_name: name of class + @return: list of all super classdes + """ + classes = [] + for base in inspect.getmro(class_name): + try: + classes.append(base) + except AttributeError: + pass + return classes diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 48d739d..a6f21f2 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,8 +1,14 @@ +import json + import openstack from openstack.connection import Connection from typing import Dict import sys +from uuid import uuid4 +import generator.common.json_ld as json_ld +from generator.common.gx_schema import VMImage + from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: @@ -14,90 +20,15 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config - def discover_properties(self): + def discover_properties(self) -> dict: + props = json_ld.get_json_ld_context() + props['@graph'] = [] + vm_dis = VmDiscovery(self.conn, self.config) - creds = vm_dis.discover_vm_images() + for img in vm_dis.discover_vm_images(): + props['@graph'].append(img) + return props + - # Create per region service catalogs - """self.regcat = {} - for region in self.regions: - reg = region.id - self.regcat[reg] = [] - for svc in conn.service_catalog: - svccat = osServiceCat(svc, reg) - if svccat.ep: - self.regcat[reg].append(svccat) - if debug: - print(f"#DEBUG: Svc Cat region {reg}: {self.regcat}", file=sys.stderr) - # Well-known OpenStack services - self.ostacksvc = {} - if "project_id" in conn.auth: - prj_id = conn.auth["project_id"] - else: - prj_id = conn.identity.get_project_id() - # Iterate over regions - for region in self.regions: - # Keep list of already handled services to avoid duplicates/aliases - handled = [] - # Dictionary to collect OpenStack services - ostacksvc = {} - reg = region.id - if debug: - print(f"#INFO: Creation service catalog for region {reg}", file=sys.stderr) - # Iterate over service catalog - for svc in self.regcat[reg]: - assert svc.ep - assert reg == svc.region - # Treating those two legacy services as non-OpenStack (just list EPs) - if svc.type in [*handled, "compute_legacy", "cloudformation"]: - continue - newsvc = None - for osClass in OSClasses: - if svc.type in osClass.svcID: - newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) - handled.extend(osClass.svcID) - break - if not newsvc: - newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) - handled.extend((svc.type, newsvc.stype,)) - # Only attach if conn is non-empty - if newsvc.conn: - ostacksvc[newsvc.stype] = newsvc - if debug: - print(f"#DEBUG: Region {reg} added OS Svc {newsvc}", file=sys.stderr) - svc.consumed = True - elif debug: - print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) - # Handle remaining services that are listed - for svc in self.regcat[reg]: - if not svc.consumed and svc.type not in ostacksvc: - ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) - if debug: - print(f"#DEBUG: Region {reg} added Non-OS {ostacksvc[svc.type]}", file=sys.stderr) - svc.consumed = True - self.ostacksvc[reg] = ostacksvc - # TODO: Iterate over non-consumed services (global, non-region specifc) - def values(self, prefix=''): - "dict representing stored data" - inner = {"regions": list(map(lambda x: x.id, self.regions))} - if outjson: - inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") - else: - inner["auth_url"] = self.auth["auth_url"] - for reg, ostacksvc in self.ostacksvc.items(): - inner[reg] = {} - for svckey in ostacksvc: - svc = ostacksvc[svckey] - inner[reg] = appenddicts(inner[reg], svc.values()) - if outjson: - inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") - if prefix: - return add_prefix_to_dict_keys(inner, prefix) - return inner - def __str__(self): - # print(self.values()) - if outjson: - return json.dumps({"OpenStackService": self.values()}, indent=indent) - return yaml.dump({"openstack": self.values()}, default_flow_style=False)""" diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 95b88da..ab2b7cd 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,4 +1,7 @@ import typing +from json import JSONDecoder +import json +import urllib3 from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU @@ -9,10 +12,13 @@ from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import CheckSum from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import GaiaXEntity from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +import generator.common.json_ld as json_ld +from generator.common.json_ld import JsonLdObject from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection @@ -23,26 +29,37 @@ from typing import Dict +import yaml +# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd +# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self, conn: Connection, config: Dict) -> None: - self.conn = conn - self.config = config + def __init__(self) -> None: + with open("config/config.yaml", "r") as config_file: + self.config = yaml.safe_load(config_file) + + + + #def __init__(self, conn: Connection, config: Dict) -> None: + # self.conn = conn + # self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: - def discover_vm_images(self) -> List[GX_Image]: + def discover_vm_images(self) -> List[JsonLdObject]: """ Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. @param conn: Connection to openstack cloud VM images are to be collected @return: list of VM images """ - images = list() for image in self.conn.list_images(): - self._convert_to_gx_image(image) - + #images.append(self._convert_to_gx_image(image)) + images.append( + JsonLdObject( + self._convert_to_gx_image(image), gx_id=image.id)) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -124,114 +141,156 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> # Copyright owner and license not supported as Image properties, currently --> Default values are used if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") @@ -249,25 +308,26 @@ def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: - gx_image.license = gx_image.operatingSystem.copyrightOwnedBy + gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + gx_image.license = [self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]] except KeyError: gx_image.license = gx_image.operatingSystem.license + def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.rresource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: - gx_image.rresource_policy = const.DEFAULT_RESOURCE_POLICY + gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _add_secure_boot(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -299,7 +359,7 @@ def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return @@ -307,7 +367,7 @@ def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: except AttributeError: pass - def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -396,7 +456,6 @@ def _get_algo(algo: str) -> str: return algo return ChecksumAlgorithm.other - @staticmethod def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: try: @@ -411,12 +470,11 @@ def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo except AttributeError: pass - - # ToDo: add aggrenation of + # ToDo: add aggrenation of diff --git a/test.py b/test.py new file mode 100644 index 0000000..e69de29 From 214cd309b9c233472e82fd68aba9aa85992e0390 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 4 Jan 2024 15:31:00 +0100 Subject: [PATCH 016/175] Workaround for unions of data types Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 185 +- generator/common/gx_schema_org.py | 9224 ----------------------------- generator/common/json_ld.py | 100 +- 3 files changed, 134 insertions(+), 9375 deletions(-) delete mode 100644 generator/common/gx_schema_org.py diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index d64bb65..1a6e2a5 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-28T18:05:45 +# Generation date: 2024-01-04T09:32:21 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -72,7 +72,7 @@ class GaiaX(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_uri: ClassVar[URIRef] = GX["GaiaX"] class_class_curie: ClassVar[str] = "gx:GaiaX" class_name: ClassVar[str] = "GaiaX" class_model_uri: ClassVar[URIRef] = GX.GaiaX @@ -85,12 +85,12 @@ class Address(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_uri: ClassVar[URIRef] = VCARD["Address"] class_class_curie: ClassVar[str] = "vcard:Address" class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: Union[CountryNameAlpha2, str] = None + countryCode: str = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -123,13 +123,13 @@ class GPSLocation(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] class_class_curie: ClassVar[str] = "gx:GPSLocation" class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: Union[GPSUnit, dict] = None - longitude: Union[GPSUnit, dict] = None + latitude: str = None + longitude: str = None altitude: Optional[str] = None crs: Optional[str] = None @@ -160,7 +160,7 @@ class GPSUnit(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] class_class_curie: ClassVar[str] = "gx:GPSUnit" class_name: ClassVar[str] = "GPSUnit" class_model_uri: ClassVar[URIRef] = GX.GPSUnit @@ -195,7 +195,7 @@ class GaiaXEntity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] class_class_curie: ClassVar[str] = "gx:GaiaXEntity" class_name: ClassVar[str] = "GaiaXEntity" class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity @@ -220,7 +220,7 @@ class Encryption(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_uri: ClassVar[URIRef] = GX["Encryption"] class_class_curie: ClassVar[str] = "gx:Encryption" class_name: ClassVar[str] = "Encryption" class_model_uri: ClassVar[URIRef] = GX.Encryption @@ -249,7 +249,7 @@ class CheckSum(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_uri: ClassVar[URIRef] = GX["CheckSum"] class_class_curie: ClassVar[str] = "gx:CheckSum" class_name: ClassVar[str] = "CheckSum" class_model_uri: ClassVar[URIRef] = GX.CheckSum @@ -275,7 +275,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class Signature(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_uri: ClassVar[URIRef] = GX["Signature"] class_class_curie: ClassVar[str] = "gx:Signature" class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature @@ -310,7 +310,7 @@ class Device(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Device + class_class_uri: ClassVar[URIRef] = GX["Device"] class_class_curie: ClassVar[str] = "gx:Device" class_name: ClassVar[str] = "Device" class_model_uri: ClassVar[URIRef] = GX.Device @@ -343,7 +343,7 @@ class CPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_uri: ClassVar[URIRef] = GX["CPU"] class_class_curie: ClassVar[str] = "gx:CPU" class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU @@ -397,7 +397,7 @@ class Disk(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_uri: ClassVar[URIRef] = GX["Disk"] class_class_curie: ClassVar[str] = "gx:Disk" class_name: ClassVar[str] = "Disk" class_model_uri: ClassVar[URIRef] = GX.Disk @@ -428,7 +428,7 @@ class Endpoint(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_uri: ClassVar[URIRef] = GX["Endpoint"] class_class_curie: ClassVar[str] = "gx:Endpoint" class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint @@ -458,7 +458,7 @@ class GPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_uri: ClassVar[URIRef] = GX["GPU"] class_class_curie: ClassVar[str] = "gx:GPU" class_name: ClassVar[str] = "GPU" class_model_uri: ClassVar[URIRef] = GX.GPU @@ -491,7 +491,7 @@ class MaintenanceSubscription(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" class_name: ClassVar[str] = "MaintenanceSubscription" class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription @@ -524,15 +524,15 @@ class UpdateStrategy(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] class_class_curie: ClassVar[str] = "gx:UpdateStrategy" class_name: ClassVar[str] = "UpdateStrategy" class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None - providedUntil: Optional[Union[str, XSDDate]] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -557,7 +557,7 @@ class LatestN(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_uri: ClassVar[URIRef] = GX["LatestN"] class_class_curie: ClassVar[str] = "gx:LatestN" class_name: ClassVar[str] = "Latest_N" class_model_uri: ClassVar[URIRef] = GX.LatestN @@ -577,7 +577,7 @@ class InstantiationRequirement(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" class_name: ClassVar[str] = "InstantiationRequirement" class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement @@ -590,7 +590,7 @@ class Issuer(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_uri: ClassVar[URIRef] = GX["Issuer"] class_class_curie: ClassVar[str] = "gx:Issuer" class_name: ClassVar[str] = "Issuer" class_model_uri: ClassVar[URIRef] = GX.Issuer @@ -613,7 +613,7 @@ class RegistrationNumber(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] class_class_curie: ClassVar[str] = "gx:RegistrationNumber" class_name: ClassVar[str] = "RegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber @@ -623,7 +623,7 @@ class RegistrationNumber(YAMLRoot): class LocalRegistrationNumber(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["LocalRegistrationNumber"] class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" class_name: ClassVar[str] = "LocalRegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber @@ -643,7 +643,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class VatID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_uri: ClassVar[URIRef] = GX["VatID"] class_class_curie: ClassVar[str] = "gx:VatID" class_name: ClassVar[str] = "VatID" class_model_uri: ClassVar[URIRef] = GX.VatID @@ -663,7 +663,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class LeiCode(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_uri: ClassVar[URIRef] = GX["LeiCode"] class_class_curie: ClassVar[str] = "gx:LeiCode" class_name: ClassVar[str] = "LeiCode" class_model_uri: ClassVar[URIRef] = GX.LeiCode @@ -683,7 +683,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EORI(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_uri: ClassVar[URIRef] = GX["EORI"] class_class_curie: ClassVar[str] = "gx:EORI" class_name: ClassVar[str] = "EORI" class_model_uri: ClassVar[URIRef] = GX.EORI @@ -703,7 +703,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EUID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_uri: ClassVar[URIRef] = GX["EUID"] class_class_curie: ClassVar[str] = "gx:EUID" class_name: ClassVar[str] = "EUID" class_model_uri: ClassVar[URIRef] = GX.EUID @@ -726,7 +726,7 @@ class Memory(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_uri: ClassVar[URIRef] = GX["Memory"] class_class_curie: ClassVar[str] = "gx:Memory" class_name: ClassVar[str] = "Memory" class_model_uri: ClassVar[URIRef] = GX.Memory @@ -765,7 +765,7 @@ class Quantity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] class_class_curie: ClassVar[str] = "qudt:Quantity" class_name: ClassVar[str] = "Quantity" class_model_uri: ClassVar[URIRef] = GX.Quantity @@ -809,7 +809,7 @@ class MemorySize(Quantity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_uri: ClassVar[URIRef] = GX["MemorySize"] class_class_curie: ClassVar[str] = "gx:MemorySize" class_name: ClassVar[str] = "MemorySize" class_model_uri: ClassVar[URIRef] = GX.MemorySize @@ -838,7 +838,7 @@ class Participant(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_uri: ClassVar[URIRef] = GX["Participant"] class_class_curie: ClassVar[str] = "gx:Participant" class_name: ClassVar[str] = "Participant" class_model_uri: ClassVar[URIRef] = GX.Participant @@ -851,12 +851,12 @@ class LegalPerson(Participant): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] class_class_curie: ClassVar[str] = "gx:LegalPerson" class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -898,12 +898,12 @@ class Resource(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_uri: ClassVar[URIRef] = GX["Resource"] class_class_curie: ClassVar[str] = "gx:Resource" class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -921,13 +921,13 @@ class VirtualResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] class_class_curie: ClassVar[str] = "gx:VirtualResource" class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -960,7 +960,7 @@ class PhysicalResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] class_class_curie: ClassVar[str] = "gx:PhysicalResource" class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource @@ -999,13 +999,13 @@ class SoftwareResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] class_class_curie: ClassVar[str] = "gx:SoftwareResource" class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1039,13 +1039,13 @@ class CodeArtifact(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] class_class_curie: ClassVar[str] = "gx:CodeArtifact" class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1056,13 +1056,13 @@ class Image(CodeArtifact): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Image + class_class_uri: ClassVar[URIRef] = GX["Image"] class_class_curie: ClassVar[str] = "gx:Image" class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1132,13 +1132,13 @@ class PXEImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_uri: ClassVar[URIRef] = GX["PXEImage"] class_class_curie: ClassVar[str] = "gx:PXEImage" class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1156,13 +1156,13 @@ class OperatingSystem(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] class_class_curie: ClassVar[str] = "gx:OperatingSystem" class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1182,13 +1182,13 @@ class Hypervisor(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] class_class_curie: ClassVar[str] = "gx:Hypervisor" class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1208,7 +1208,7 @@ class ServiceOffering(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] class_class_curie: ClassVar[str] = "gx:ServiceOffering" class_name: ClassVar[str] = "ServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ServiceOffering @@ -1217,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() - aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + hostedOn: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1281,7 +1281,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" class_name: ClassVar[str] = "InfrastructureServiceOffering" class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering @@ -1298,7 +1298,7 @@ class ComputeServiceOffering(InfrastructureServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" class_name: ClassVar[str] = "ComputeServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering @@ -1323,7 +1323,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" class_name: ClassVar[str] = "VirtualMachineServiceOffering" class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering @@ -1354,7 +1354,7 @@ class TermsAndConditions(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] class_class_curie: ClassVar[str] = "gx:TermsAndConditions" class_name: ClassVar[str] = "TermsAndConditions" class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions @@ -1383,7 +1383,7 @@ class DataAccountExport(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] class_class_curie: ClassVar[str] = "gx:DataAccountExport" class_name: ClassVar[str] = "DataAccountExport" class_model_uri: ClassVar[URIRef] = GX.DataAccountExport @@ -1418,7 +1418,7 @@ class StandardConformity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] class_class_curie: ClassVar[str] = "gx:StandardConformity" class_name: ClassVar[str] = "StandardConformity" class_model_uri: ClassVar[URIRef] = GX.StandardConformity @@ -1451,13 +1451,13 @@ class DataResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_uri: ClassVar[URIRef] = GX["DataResource"] class_class_curie: ClassVar[str] = "gx:DataResource" class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1506,7 +1506,7 @@ class Consent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_uri: ClassVar[URIRef] = GX["Consent"] class_class_curie: ClassVar[str] = "gx:Consent" class_name: ClassVar[str] = "Consent" class_model_uri: ClassVar[URIRef] = GX.Consent @@ -1549,7 +1549,7 @@ class DataExchangeComponent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" class_name: ClassVar[str] = "DataExchangeComponent" class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent @@ -1562,13 +1562,13 @@ class VMImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_uri: ClassVar[URIRef] = GX["VMImage"] class_class_curie: ClassVar[str] = "gx:VMImage" class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -1603,7 +1603,7 @@ class ServerFlavor(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] class_class_curie: ClassVar[str] = "gx:ServerFlavor" class_name: ClassVar[str] = "ServerFlavor" class_model_uri: ClassVar[URIRef] = GX.ServerFlavor @@ -1662,7 +1662,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class ConfidentialComputing(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_uri: ClassVar[URIRef] = GX["ConfidentialComputing"] class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" class_name: ClassVar[str] = "ConfidentialComputing" class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing @@ -8796,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) + model_uri=GX.address__countryCode, domain=None, range=str) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8811,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__latitude, domain=None, range=str) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__longitude, domain=None, range=str) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8989,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9049,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9097,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9124,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9242,6 +9242,3 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) - -Process finished with exit code 0 - diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py deleted file mode 100644 index 7821417..0000000 --- a/generator/common/gx_schema_org.py +++ /dev/null @@ -1,9224 +0,0 @@ -# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 -# Schema: gaia-x -# -# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x -# description: -# license: https://creativecommons.org/publicdomain/zero/1.0/ - -import dataclasses -import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any -from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime - -metamodel_version = "1.7.0" -version = None - -# Overwrite dataclasses _init_fn to add **kwargs in __init__ -dataclasses._init_fn = dataclasses_init_fn_with_kwargs - -# Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') -DEFAULT_ = GX - - -# Types - -# Class references -class LocalRegistrationNumberLocal(extended_str): - pass - - -class VatIDVatID(extended_str): - pass - - -class LeiCodeLeiCode(extended_str): - pass - - -class EORIEori(extended_str): - pass - - -class EUIDEuid(extended_str): - pass - - -class LegalPersonRegistrationNumber(extended_str): - pass - - -class GaiaX(YAMLRoot): - """ - Top level element of Gaia-X ecosystem. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaX - class_class_curie: ClassVar[str] = "gx:GaiaX" - class_name: ClassVar[str] = "GaiaX" - class_model_uri: ClassVar[URIRef] = GX.GaiaX - - - -@dataclass -class Address(YAMLRoot): - """ - Full address of the entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = VCARD.Address - class_class_curie: ClassVar[str] = "vcard:Address" - class_name: ClassVar[str] = "Address" - class_model_uri: ClassVar[URIRef] = GX.Address - - countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() - streetAddress: Optional[str] = None - postalCode: Optional[str] = None - locality: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.countryCode): - self.MissingRequiredField("countryCode") - if not isinstance(self.countryCode, str): - self.countryCode = str(self.countryCode) - - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) - - if self.streetAddress is not None and not isinstance(self.streetAddress, str): - self.streetAddress = str(self.streetAddress) - - if self.postalCode is not None and not isinstance(self.postalCode, str): - self.postalCode = str(self.postalCode) - - if self.locality is not None and not isinstance(self.locality, str): - self.locality = str(self.locality) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSLocation(YAMLRoot): - """ - Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSLocation - class_class_curie: ClassVar[str] = "gx:GPSLocation" - class_name: ClassVar[str] = "GPSLocation" - class_model_uri: ClassVar[URIRef] = GX.GPSLocation - - latitude: str = None - longitude: str = None - altitude: Optional[str] = None - crs: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.latitude): - self.MissingRequiredField("latitude") - if not isinstance(self.latitude, str): - self.latitude = str(self.latitude) - - if self._is_empty(self.longitude): - self.MissingRequiredField("longitude") - if not isinstance(self.longitude, str): - self.longitude = str(self.longitude) - - if self.altitude is not None and not isinstance(self.altitude, str): - self.altitude = str(self.altitude) - - if self.crs is not None and not isinstance(self.crs, str): - self.crs = str(self.crs) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSUnit(YAMLRoot): - """ - Definition of a geographical point. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSUnit - class_class_curie: ClassVar[str] = "gx:GPSUnit" - class_name: ClassVar[str] = "GPSUnit" - class_model_uri: ClassVar[URIRef] = GX.GPSUnit - - degrees: int = None - minutes: Optional[int] = None - seconds: Optional[int] = None - decimals: Optional[float] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.degrees): - self.MissingRequiredField("degrees") - if not isinstance(self.degrees, int): - self.degrees = int(self.degrees) - - if self.minutes is not None and not isinstance(self.minutes, int): - self.minutes = int(self.minutes) - - if self.seconds is not None and not isinstance(self.seconds, int): - self.seconds = int(self.seconds) - - if self.decimals is not None and not isinstance(self.decimals, float): - self.decimals = float(self.decimals) - - super().__post_init__(**kwargs) - - -@dataclass -class GaiaXEntity(YAMLRoot): - """ - Root class for Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity - class_class_curie: ClassVar[str] = "gx:GaiaXEntity" - class_name: ClassVar[str] = "GaiaXEntity" - class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity - - name: Optional[str] = None - description: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.name is not None and not isinstance(self.name, str): - self.name = str(self.name) - - if self.description is not None and not isinstance(self.description, str): - self.description = str(self.description) - - super().__post_init__(**kwargs) - - -@dataclass -class Encryption(YAMLRoot): - """ - Encryption capabilities of a Gaia-X entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Encryption - class_class_curie: ClassVar[str] = "gx:Encryption" - class_name: ClassVar[str] = "Encryption" - class_model_uri: ClassVar[URIRef] = GX.Encryption - - cipher: Union[str, "EncryptionAlgorithm"] = None - keyManagement: Union[str, "KeyManagement"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cipher): - self.MissingRequiredField("cipher") - if not isinstance(self.cipher, EncryptionAlgorithm): - self.cipher = EncryptionAlgorithm(self.cipher) - - if self._is_empty(self.keyManagement): - self.MissingRequiredField("keyManagement") - if not isinstance(self.keyManagement, KeyManagement): - self.keyManagement = KeyManagement(self.keyManagement) - - super().__post_init__(**kwargs) - - -@dataclass -class CheckSum(YAMLRoot): - """ - Detail on how to calculate or verify a checksum. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CheckSum - class_class_curie: ClassVar[str] = "gx:CheckSum" - class_name: ClassVar[str] = "CheckSum" - class_model_uri: ClassVar[URIRef] = GX.CheckSum - - checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.checkSumCalculation): - self.MissingRequiredField("checkSumCalculation") - if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): - self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) - - super().__post_init__(**kwargs) - - -@dataclass -class Signature(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Signature - class_class_curie: ClassVar[str] = "gx:Signature" - class_name: ClassVar[str] = "Signature" - class_model_uri: ClassVar[URIRef] = GX.Signature - - signature: str = None - signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) - - if self._is_empty(self.signatureAlgorithm): - self.MissingRequiredField("signatureAlgorithm") - if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): - self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) - - super().__post_init__(**kwargs) - - -@dataclass -class Device(YAMLRoot): - """ - Details with respect to properties and capabilities of a hardware or virtualized device. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Device - class_class_curie: ClassVar[str] = "gx:Device" - class_name: ClassVar[str] = "Device" - class_model_uri: ClassVar[URIRef] = GX.Device - - vendor: Optional[str] = None - generation: Optional[str] = None - defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vendor is not None and not isinstance(self.vendor, str): - self.vendor = str(self.vendor) - - if self.generation is not None and not isinstance(self.generation, str): - self.generation = str(self.generation) - - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): - self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) - - super().__post_init__(**kwargs) - - -@dataclass -class CPU(Device): - """ - Computational processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CPU - class_class_curie: ClassVar[str] = "gx:CPU" - class_name: ClassVar[str] = "CPU" - class_model_uri: ClassVar[URIRef] = GX.CPU - - cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" - cpuFlag: Optional[Union[str, List[str]]] = empty_list() - smtEnabled: Optional[Union[bool, Bool]] = False - numberOfCores: Optional[int] = None - numberOfThreads: Optional[int] = None - baseFrequency: Optional[Union[dict, "Frequency"]] = None - boostFrequency: Optional[Union[dict, "Frequency"]] = None - lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None - thermalDesignPower: Optional[Union[dict, "Power"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): - self.cpuArchitecture = Architectures(self.cpuArchitecture) - - if not isinstance(self.cpuFlag, list): - self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] - self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] - - if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): - self.smtEnabled = Bool(self.smtEnabled) - - if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): - self.numberOfCores = int(self.numberOfCores) - - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): - self.numberOfThreads = int(self.numberOfThreads) - - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): - self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): - self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): - self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): - self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) - - super().__post_init__(**kwargs) - - -@dataclass -class Disk(Device): - """ - Capabilities of a physical or virtual hard drive. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Disk - class_class_curie: ClassVar[str] = "gx:Disk" - class_name: ClassVar[str] = "Disk" - class_model_uri: ClassVar[URIRef] = GX.Disk - - diskSize: Union[dict, "MemorySize"] = None - diskType: Optional[Union[str, "DiskTypes"]] = "other" - diskBusType: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.diskSize): - self.MissingRequiredField("diskSize") - if not isinstance(self.diskSize, MemorySize): - self.diskSize = MemorySize(**as_dict(self.diskSize)) - - if self.diskType is not None and not isinstance(self.diskType, DiskTypes): - self.diskType = DiskTypes(self.diskType) - - if self.diskBusType is not None and not isinstance(self.diskBusType, str): - self.diskBusType = str(self.diskBusType) - - super().__post_init__(**kwargs) - - -@dataclass -class Endpoint(YAMLRoot): - """ - An endpoint is a mean to access and interact with a service or a resource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Endpoint - class_class_curie: ClassVar[str] = "gx:Endpoint" - class_name: ClassVar[str] = "Endpoint" - class_model_uri: ClassVar[URIRef] = GX.Endpoint - - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None - endpointURL: Optional[Union[str, URI]] = None - formalDescription: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.standardConformity): - self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) - - if self.endpointURL is not None and not isinstance(self.endpointURL, URI): - self.endpointURL = URI(self.endpointURL) - - if self.formalDescription is not None and not isinstance(self.formalDescription, str): - self.formalDescription = str(self.formalDescription) - - super().__post_init__(**kwargs) - - -@dataclass -class GPU(Device): - """ - Graphical processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPU - class_class_curie: ClassVar[str] = "gx:GPU" - class_name: ClassVar[str] = "GPU" - class_model_uri: ClassVar[URIRef] = GX.GPU - - gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" - gpuProcessingUnits: Optional[int] = None - gpuPassthrough: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): - self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): - self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): - self.gpuProcessingUnits = int(self.gpuProcessingUnits) - - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): - self.gpuPassthrough = Bool(self.gpuPassthrough) - - super().__post_init__(**kwargs) - - -@dataclass -class MaintenanceSubscription(YAMLRoot): - """ - A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" - class_name: ClassVar[str] = "MaintenanceSubscription" - class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - - subscriptionIncluded: Optional[Union[bool, Bool]] = False - subscriptionRequired: Optional[Union[bool, Bool]] = False - maintainedUntil: Optional[Union[str, XSDDate]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): - self.subscriptionIncluded = Bool(self.subscriptionIncluded) - - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): - self.subscriptionRequired = Bool(self.subscriptionRequired) - - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): - self.maintainedUntil = XSDDate(self.maintainedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class UpdateStrategy(YAMLRoot): - """ - Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the - lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own - unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them - referencable by its ID for a transition period for customers' convenience. This class defines important aspects of - providers image update policy. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy - class_class_curie: ClassVar[str] = "gx:UpdateStrategy" - class_name: ClassVar[str] = "UpdateStrategy" - class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy - - replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None - hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): - self.replaceFrequency = UpdateFrequency(self.replaceFrequency) - - if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): - self.hotfixHours = int(self.hotfixHours) - - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): - self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) - - if self.providedUntil is not None and not isinstance(self.providedUntil, str): - self.providedUntil = str(self.providedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class LatestN(YAMLRoot): - """ - Number of latest N outdated image versions, which will be valid. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LatestN - class_class_curie: ClassVar[str] = "gx:LatestN" - class_name: ClassVar[str] = "Latest_N" - class_model_uri: ClassVar[URIRef] = GX.LatestN - - value: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.value is not None and not isinstance(self.value, int): - self.value = int(self.value) - - super().__post_init__(**kwargs) - - -class InstantiationRequirement(YAMLRoot): - """ - A container class to gather all requirements for compute service offering instantiations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement - class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" - class_name: ClassVar[str] = "InstantiationRequirement" - class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement - - -@dataclass -class Issuer(YAMLRoot): - """ - An issuer of W3C Verifiable Credentials and Verifiable Presentations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Issuer - class_class_curie: ClassVar[str] = "gx:Issuer" - class_name: ClassVar[str] = "Issuer" - class_model_uri: ClassVar[URIRef] = GX.Issuer - - issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.issuerTermsAndConditions): - self.MissingRequiredField("issuerTermsAndConditions") - if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) - - super().__post_init__(**kwargs) - - -class RegistrationNumber(YAMLRoot): - """ - Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, - EODI, and EUID. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber - class_class_curie: ClassVar[str] = "gx:RegistrationNumber" - class_name: ClassVar[str] = "RegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber - - -@dataclass -class LocalRegistrationNumber(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" - class_name: ClassVar[str] = "LocalRegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - - local: Union[str, LocalRegistrationNumberLocal] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.local): - self.MissingRequiredField("local") - if not isinstance(self.local, LocalRegistrationNumberLocal): - self.local = LocalRegistrationNumberLocal(self.local) - - super().__post_init__(**kwargs) - - -@dataclass -class VatID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VatID - class_class_curie: ClassVar[str] = "gx:VatID" - class_name: ClassVar[str] = "VatID" - class_model_uri: ClassVar[URIRef] = GX.VatID - - vatID: Union[str, VatIDVatID] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.vatID): - self.MissingRequiredField("vatID") - if not isinstance(self.vatID, VatIDVatID): - self.vatID = VatIDVatID(self.vatID) - - super().__post_init__(**kwargs) - - -@dataclass -class LeiCode(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LeiCode - class_class_curie: ClassVar[str] = "gx:LeiCode" - class_name: ClassVar[str] = "LeiCode" - class_model_uri: ClassVar[URIRef] = GX.LeiCode - - leiCode: Union[str, LeiCodeLeiCode] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.leiCode): - self.MissingRequiredField("leiCode") - if not isinstance(self.leiCode, LeiCodeLeiCode): - self.leiCode = LeiCodeLeiCode(self.leiCode) - - super().__post_init__(**kwargs) - - -@dataclass -class EORI(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EORI - class_class_curie: ClassVar[str] = "gx:EORI" - class_name: ClassVar[str] = "EORI" - class_model_uri: ClassVar[URIRef] = GX.EORI - - eori: Union[str, EORIEori] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.eori): - self.MissingRequiredField("eori") - if not isinstance(self.eori, EORIEori): - self.eori = EORIEori(self.eori) - - super().__post_init__(**kwargs) - - -@dataclass -class EUID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EUID - class_class_curie: ClassVar[str] = "gx:EUID" - class_name: ClassVar[str] = "EUID" - class_model_uri: ClassVar[URIRef] = GX.EUID - - euid: Union[str, EUIDEuid] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.euid): - self.MissingRequiredField("euid") - if not isinstance(self.euid, EUIDEuid): - self.euid = EUIDEuid(self.euid) - - super().__post_init__(**kwargs) - - -@dataclass -class Memory(Device): - """ - Details with respect to properties and capabilities of RAM. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Memory - class_class_curie: ClassVar[str] = "gx:Memory" - class_name: ClassVar[str] = "Memory" - class_model_uri: ClassVar[URIRef] = GX.Memory - - memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" - eccEnabled: Optional[Union[bool, Bool]] = False - hardwareEncryption: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.memorySize): - self.MissingRequiredField("memorySize") - if not isinstance(self.memorySize, MemorySize): - self.memorySize = MemorySize(**as_dict(self.memorySize)) - - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): - self.memoryClass = MemoryClasses(self.memoryClass) - - if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): - self.memoryRank = MemoryRanks(self.memoryRank) - - if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): - self.eccEnabled = Bool(self.eccEnabled) - - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): - self.hardwareEncryption = Bool(self.hardwareEncryption) - - super().__post_init__(**kwargs) - - -@dataclass -class Quantity(YAMLRoot): - """ - Abstract parent class for all physical quantities, such as frequency, power or length. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT.Quantity - class_class_curie: ClassVar[str] = "qudt:Quantity" - class_name: ClassVar[str] = "Quantity" - class_model_uri: ClassVar[URIRef] = GX.Quantity - - value: float = None - unit: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.value): - self.MissingRequiredField("value") - if not isinstance(self.value, float): - self.value = float(self.value) - - if self._is_empty(self.unit): - self.MissingRequiredField("unit") - if not isinstance(self.unit, str): - self.unit = str(self.unit) - - super().__post_init__(**kwargs) - - -@dataclass -class Frequency(Quantity): - """ - Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" - class_name: ClassVar[str] = "Frequency" - class_model_uri: ClassVar[URIRef] = GX.Frequency - - value: float = None - unit: str = None - -@dataclass -class MemorySize(Quantity): - """ - The number of bits, that can be stored on a digital storage. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MemorySize - class_class_curie: ClassVar[str] = "gx:MemorySize" - class_name: ClassVar[str] = "MemorySize" - class_model_uri: ClassVar[URIRef] = GX.MemorySize - - value: float = None - unit: str = None - -@dataclass -class Power(Quantity): - """ - Definition of 'Power', according to http://qudt.org/quantitykind/Power. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" - class_name: ClassVar[str] = "Power" - class_model_uri: ClassVar[URIRef] = GX.Power - - value: float = None - unit: str = None - -class Participant(GaiaXEntity): - """ - An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Participant - class_class_curie: ClassVar[str] = "gx:Participant" - class_name: ClassVar[str] = "Participant" - class_model_uri: ClassVar[URIRef] = GX.Participant - - -@dataclass -class LegalPerson(Participant): - """ - A legal person, who is uniquely identified by its registration number. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LegalPerson - class_class_curie: ClassVar[str] = "gx:LegalPerson" - class_name: ClassVar[str] = "LegalPerson" - class_model_uri: ClassVar[URIRef] = GX.LegalPerson - - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - legalAddress: Union[dict, Address] = None - headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.registrationNumber): - self.MissingRequiredField("registrationNumber") - if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] - - if self._is_empty(self.legalAddress): - self.MissingRequiredField("legalAddress") - if not isinstance(self.legalAddress, Address): - self.legalAddress = Address(**as_dict(self.legalAddress)) - - if self._is_empty(self.headquartersAddress): - self.MissingRequiredField("headquartersAddress") - if not isinstance(self.headquartersAddress, Address): - self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) - - if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] - - if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] - - super().__post_init__(**kwargs) - - -@dataclass -class Resource(GaiaXEntity): - """ - Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist - independently of it. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Resource - class_class_curie: ClassVar[str] = "gx:Resource" - class_name: ClassVar[str] = "Resource" - class_model_uri: ClassVar[URIRef] = GX.Resource - - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualResource(Resource): - """ - It represents static data in any form and necessary information such as dataset, configuration file, license, - keypair, an AI model, neural network weights, etc. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualResource - class_class_curie: ClassVar[str] = "gx:VirtualResource" - class_name: ClassVar[str] = "VirtualResource" - class_model_uri: ClassVar[URIRef] = GX.VirtualResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.copyrightOwnedBy): - self.MissingRequiredField("copyrightOwnedBy") - if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] - - if self._is_empty(self.license): - self.MissingRequiredField("license") - if not isinstance(self.license, list): - self.license = [self.license] if self.license is not None else [] - self.license = [v if isinstance(v, str) else str(v) for v in self.license] - - if self._is_empty(self.resourcePolicy): - self.MissingRequiredField("resourcePolicy") - if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] - - super().__post_init__(**kwargs) - - -@dataclass -class PhysicalResource(Resource): - """ - A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are - entities that have a weight and position in physical space. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource - class_class_curie: ClassVar[str] = "gx:PhysicalResource" - class_name: ClassVar[str] = "PhysicalResource" - class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.maintainedBy): - self.MissingRequiredField("maintainedBy") - if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] - - if self._is_empty(self.location): - self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) - - if not isinstance(self.ownedBy, list): - self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] - - if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] - - super().__post_init__(**kwargs) - - -@dataclass -class SoftwareResource(VirtualResource): - """ - A Gaia-X Virtual Resource describing an executable program. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource - class_class_curie: ClassVar[str] = "gx:SoftwareResource" - class_name: ClassVar[str] = "SoftwareResource" - class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - checksum: Optional[Union[dict, CheckSum]] = None - signature: Optional[Union[dict, Signature]] = None - version: Optional[str] = None - patchLevel: Optional[str] = None - buildDate: Optional[Union[str, XSDDateTime]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.checksum is not None and not isinstance(self.checksum, CheckSum): - self.checksum = CheckSum(**as_dict(self.checksum)) - - if self.signature is not None and not isinstance(self.signature, Signature): - self.signature = Signature(**as_dict(self.signature)) - - if self.version is not None and not isinstance(self.version, str): - self.version = str(self.version) - - if self.patchLevel is not None and not isinstance(self.patchLevel, str): - self.patchLevel = str(self.patchLevel) - - if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): - self.buildDate = XSDDateTime(self.buildDate) - - super().__post_init__(**kwargs) - - -@dataclass -class CodeArtifact(SoftwareResource): - """ - A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact - class_class_curie: ClassVar[str] = "gx:CodeArtifact" - class_name: ClassVar[str] = "CodeArtifact" - class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - -@dataclass -class Image(CodeArtifact): - """ - A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of - OperatingSystem and CodeArtifact. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Image - class_class_curie: ClassVar[str] = "gx:Image" - class_name: ClassVar[str] = "Image" - class_model_uri: ClassVar[URIRef] = GX.Image - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - fileSize: Optional[Union[dict, "MemorySize"]] = None - operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None - cpuReq: Optional[Union[dict, CPU]] = None - gpuReq: Optional[Union[dict, GPU]] = None - ramReq: Optional[Union[dict, "Memory"]] = None - videoRamSize: Optional[Union[dict, "MemorySize"]] = None - rootDiskReq: Optional[Union[dict, Disk]] = None - encryption: Optional[Union[dict, Encryption]] = None - secureBoot: Optional[Union[bool, Bool]] = False - vPMU: Optional[Union[bool, Bool]] = False - multiQueues: Optional[Union[bool, Bool]] = False - updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None - licenseIncluded: Optional[Union[bool, Bool]] = False - maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): - self.fileSize = MemorySize(**as_dict(self.fileSize)) - - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): - self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) - - if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): - self.cpuReq = CPU(**as_dict(self.cpuReq)) - - if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): - self.gpuReq = GPU(**as_dict(self.gpuReq)) - - if self.ramReq is not None and not isinstance(self.ramReq, Memory): - self.ramReq = Memory(**as_dict(self.ramReq)) - - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): - self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) - - if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): - self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) - - if self.encryption is not None and not isinstance(self.encryption, Encryption): - self.encryption = Encryption(**as_dict(self.encryption)) - - if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): - self.secureBoot = Bool(self.secureBoot) - - if self.vPMU is not None and not isinstance(self.vPMU, Bool): - self.vPMU = Bool(self.vPMU) - - if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): - self.multiQueues = Bool(self.multiQueues) - - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): - self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): - self.licenseIncluded = Bool(self.licenseIncluded) - - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): - self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) - - super().__post_init__(**kwargs) - - -@dataclass -class PXEImage(Image): - """ - PXE image for physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PXEImage - class_class_curie: ClassVar[str] = "gx:PXEImage" - class_name: ClassVar[str] = "PXE_Image" - class_model_uri: ClassVar[URIRef] = GX.PXEImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): - self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) - - super().__post_init__(**kwargs) - - -@dataclass -class OperatingSystem(SoftwareResource): - """ - A special Gaia-X Software Resource describing an operating system. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem - class_class_curie: ClassVar[str] = "gx:OperatingSystem" - class_name: ClassVar[str] = "OperatingSystem" - class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - osDistribution: Union[str, "OSDistribution"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.osDistribution): - self.MissingRequiredField("osDistribution") - if not isinstance(self.osDistribution, OSDistribution): - self.osDistribution = OSDistribution(self.osDistribution) - - super().__post_init__(**kwargs) - - -@dataclass -class Hypervisor(SoftwareResource): - """ - A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Hypervisor - class_class_curie: ClassVar[str] = "gx:Hypervisor" - class_name: ClassVar[str] = "Hypervisor" - class_model_uri: ClassVar[URIRef] = GX.Hypervisor - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - hypervisorType: Union[str, "HypervisorType"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.hypervisorType): - self.MissingRequiredField("hypervisorType") - if not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - super().__post_init__(**kwargs) - - -@dataclass -class ServiceOffering(GaiaXEntity): - """ - A digital service available for order. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering - class_class_curie: ClassVar[str] = "gx:ServiceOffering" - class_name: ClassVar[str] = "ServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() - keyword: Optional[Union[str, List[str]]] = empty_list() - provisionType: Optional[Union[str, "ProvisionTypes"]] = None - endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.providedBy): - self.MissingRequiredField("providedBy") - if not isinstance(self.providedBy, LegalPersonRegistrationNumber): - self.providedBy = LegalPersonRegistrationNumber(self.providedBy) - - if self._is_empty(self.serviceOfferingTermsAndConditions): - self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) - - if self._is_empty(self.servicePolicy): - self.MissingRequiredField("servicePolicy") - if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] - - if self._is_empty(self.dataAccountExport): - self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) - - if not isinstance(self.dependsOn, list): - self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] - self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] - - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] - - if not isinstance(self.keyword, list): - self.keyword = [self.keyword] if self.keyword is not None else [] - self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): - self.provisionType = ProvisionTypes(self.provisionType) - - if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): - self.endpoint = Endpoint(**as_dict(self.endpoint)) - - if not isinstance(self.hostedOn, list): - self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] - self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] - - super().__post_init__(**kwargs) - - -@dataclass -class InfrastructureServiceOffering(ServiceOffering): - """ - A digital service available for order and offering computational, storage and/pr network capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" - class_name: ClassVar[str] = "InfrastructureServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - -@dataclass -class ComputeServiceOffering(InfrastructureServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" - class_name: ClassVar[str] = "ComputeServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): - self.tenantSeparation = TenantSeparation(self.tenantSeparation) - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualMachineServiceOffering(ComputeServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" - class_name: ClassVar[str] = "VirtualMachineServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.codeArtifact): - self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) - - if self._is_empty(self.instantiationReq): - self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class TermsAndConditions(YAMLRoot): - """ - Terms and Conditions applying to a service offering. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions - class_class_curie: ClassVar[str] = "gx:TermsAndConditions" - class_name: ClassVar[str] = "TermsAndConditions" - class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions - - url: Union[str, URI] = None - hash: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.url): - self.MissingRequiredField("url") - if not isinstance(self.url, URI): - self.url = URI(self.url) - - if self._is_empty(self.hash): - self.MissingRequiredField("hash") - if not isinstance(self.hash, str): - self.hash = str(self.hash) - - super().__post_init__(**kwargs) - - -@dataclass -class DataAccountExport(YAMLRoot): - """ - List of methods to export data from your account out of the service. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport - class_class_curie: ClassVar[str] = "gx:DataAccountExport" - class_name: ClassVar[str] = "DataAccountExport" - class_model_uri: ClassVar[URIRef] = GX.DataAccountExport - - requestType: Union[str, "RequestTypes"] = None - accessType: Union[str, "AccessTypes"] = None - formatType: Union[str, "MIMETypes"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.requestType): - self.MissingRequiredField("requestType") - if not isinstance(self.requestType, RequestTypes): - self.requestType = RequestTypes(self.requestType) - - if self._is_empty(self.accessType): - self.MissingRequiredField("accessType") - if not isinstance(self.accessType, AccessTypes): - self.accessType = AccessTypes(self.accessType) - - if self._is_empty(self.formatType): - self.MissingRequiredField("formatType") - if not isinstance(self.formatType, MIMETypes): - self.formatType = MIMETypes(self.formatType) - - super().__post_init__(**kwargs) - - -@dataclass -class StandardConformity(YAMLRoot): - """ - Details about standard applied to Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.StandardConformity - class_class_curie: ClassVar[str] = "gx:StandardConformity" - class_name: ClassVar[str] = "StandardConformity" - class_model_uri: ClassVar[URIRef] = GX.StandardConformity - - title: str = None - standardReference: Union[str, URI] = None - publisher: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.title): - self.MissingRequiredField("title") - if not isinstance(self.title, str): - self.title = str(self.title) - - if self._is_empty(self.standardReference): - self.MissingRequiredField("standardReference") - if not isinstance(self.standardReference, URI): - self.standardReference = URI(self.standardReference) - - if self.publisher is not None and not isinstance(self.publisher, str): - self.publisher = str(self.publisher) - - super().__post_init__(**kwargs) - - -@dataclass -class DataResource(VirtualResource): - """ - A dataset exposed through a service instance. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataResource - class_class_curie: ClassVar[str] = "gx:DataResource" - class_name: ClassVar[str] = "DataResource" - class_model_uri: ClassVar[URIRef] = GX.DataResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None - containsPII: Union[bool, Bool] = None - obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None - expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.producedBy): - self.MissingRequiredField("producedBy") - if not isinstance(self.producedBy, LegalPersonRegistrationNumber): - self.producedBy = LegalPersonRegistrationNumber(self.producedBy) - - if self._is_empty(self.exposedThrough): - self.MissingRequiredField("exposedThrough") - if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] - - if self._is_empty(self.containsPII): - self.MissingRequiredField("containsPII") - if not isinstance(self.containsPII, Bool): - self.containsPII = Bool(self.containsPII) - - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): - self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): - self.expirationDateTime = XSDDateTime(self.expirationDateTime) - - if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class Consent(YAMLRoot): - """ - Information on the legitimate processing of information related to PII. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Consent - class_class_curie: ClassVar[str] = "gx:Consent" - class_name: ClassVar[str] = "Consent" - class_model_uri: ClassVar[URIRef] = GX.Consent - - legalBasis: str = None - dataProtectionContactPoint: Union[str, List[str]] = None - purpose: Union[str, List[str]] = None - consentWithdrawalContactPoint: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.legalBasis): - self.MissingRequiredField("legalBasis") - if not isinstance(self.legalBasis, str): - self.legalBasis = str(self.legalBasis) - - if self._is_empty(self.dataProtectionContactPoint): - self.MissingRequiredField("dataProtectionContactPoint") - if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] - - if self._is_empty(self.purpose): - self.MissingRequiredField("purpose") - if not isinstance(self.purpose, list): - self.purpose = [self.purpose] if self.purpose is not None else [] - self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] - - if self._is_empty(self.consentWithdrawalContactPoint): - self.MissingRequiredField("consentWithdrawalContactPoint") - if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] - - super().__post_init__(**kwargs) - - -class DataExchangeComponent(YAMLRoot): - """ - A service/resource used to make a data resource available. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent - class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" - class_name: ClassVar[str] = "DataExchangeComponent" - class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent - - -@dataclass -class VMImage(Image): - """ - Image for virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VMImage - class_class_curie: ClassVar[str] = "gx:VMImage" - class_name: ClassVar[str] = "VM_Image" - class_model_uri: ClassVar[URIRef] = GX.VMImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" - firmwareType: Optional[Union[str, "FirmType"]] = "other" - hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" - watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): - self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): - self.firmwareType = FirmType(self.firmwareType) - - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): - self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): - self.watchDogAction = WatchDogActions(self.watchDogAction) - - super().__post_init__(**kwargs) - - -@dataclass -class ServerFlavor(YAMLRoot): - """ - Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or - virtual servers that can be launched. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor - class_class_curie: ClassVar[str] = "gx:ServerFlavor" - class_name: ClassVar[str] = "ServerFlavor" - class_model_uri: ClassVar[URIRef] = GX.ServerFlavor - - cpu: Union[dict, CPU] = None - ram: Union[dict, Memory] = None - bootVolume: Union[dict, Disk] = None - gpu: Optional[Union[dict, GPU]] = None - network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() - confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None - hypervisor: Optional[Union[dict, SoftwareResource]] = None - hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False - hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cpu): - self.MissingRequiredField("cpu") - if not isinstance(self.cpu, CPU): - self.cpu = CPU(**as_dict(self.cpu)) - - if self._is_empty(self.ram): - self.MissingRequiredField("ram") - if not isinstance(self.ram, Memory): - self.ram = Memory(**as_dict(self.ram)) - - if self._is_empty(self.bootVolume): - self.MissingRequiredField("bootVolume") - if not isinstance(self.bootVolume, Disk): - self.bootVolume = Disk(**as_dict(self.bootVolume)) - - if self.gpu is not None and not isinstance(self.gpu, GPU): - self.gpu = GPU(**as_dict(self.gpu)) - - if self.network is not None and not isinstance(self.network, str): - self.network = str(self.network) - - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): - self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) - - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): - self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) - - super().__post_init__(**kwargs) - - -@dataclass -class ConfidentialComputing(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing - class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" - class_name: ClassVar[str] = "ConfidentialComputing" - class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing - - technology: str = None - attestationServiceURI: Optional[Union[str, URI]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.technology): - self.MissingRequiredField("technology") - if not isinstance(self.technology, str): - self.technology = str(self.technology) - - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): - self.attestationServiceURI = URI(self.attestationServiceURI) - - super().__post_init__(**kwargs) - - -# Enumerations -class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") - VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") - UM = PermissibleValue( - text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") - SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") - VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") - BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") - BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") - VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") - IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") - CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") - KP = PermissibleValue( - text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") - LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") - DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") - MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") - FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") - FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") - TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") - HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") - IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") - KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") - CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") - MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") - MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") - BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") - KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") - MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") - RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") - ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") - SH = PermissibleValue( - text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") - KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") - MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") - SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") - PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") - VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") - GS = PermissibleValue( - text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") - SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") - TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") - TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") - AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") - TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") - US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") - GB = PermissibleValue( - text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") - CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") - - _defn = EnumDefinition( - name="CountryNameAlpha2", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) - -class CountryNameAlpha3(EnumDefinitionImpl): - - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") - ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") - BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") - BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") - BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") - IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") - CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") - CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") - CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") - COD = PermissibleValue( - text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") - COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") - DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") - FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") - FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") - ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") - HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") - IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") - PRK = PermissibleValue( - text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") - KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") - LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") - MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") - MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") - FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") - MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") - MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") - PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") - RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") - SHN = PermissibleValue( - text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") - KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") - MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") - SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") - VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") - STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") - SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") - SGS = PermissibleValue( - text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") - SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") - SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") - TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") - TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") - TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") - XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") - TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") - ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") - GBR = PermissibleValue( - text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") - USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") - UMI = PermissibleValue( - text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") - VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") - VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") - VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") - - _defn = EnumDefinition( - name="CountryNameAlpha3", - ) - -class CountryNameNumeric(EnumDefinitionImpl): - - _defn = EnumDefinition( - name="CountryNameNumeric", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", - PermissibleValue( - text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", - PermissibleValue( - text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", - PermissibleValue( - text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", - PermissibleValue( - text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", - PermissibleValue( - text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", - PermissibleValue( - text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", - PermissibleValue( - text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", - PermissibleValue( - text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", - PermissibleValue( - text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", - PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", - PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", - PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", - PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", - PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", - PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", - PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", - PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", - PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", - PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", - PermissibleValue( - text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) - -class EncryptionAlgorithm(EnumDefinitionImpl): - - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") - - _defn = EnumDefinition( - name="EncryptionAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) - -class ChecksumAlgorithm(EnumDefinitionImpl): - - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm to calcualte checksum not further described.") - - _defn = EnumDefinition( - name="ChecksumAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-2", - PermissibleValue( - text="sha-2", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) - -class KeyManagement(EnumDefinitionImpl): - - BYOK = PermissibleValue( - text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") - HYOK = PermissibleValue( - text="HYOK", - description="hold-your-own-key Key created by user and kept by user") - managed = PermissibleValue( - text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") - - _defn = EnumDefinition( - name="KeyManagement", - ) - -class SignatureAlgorithm(EnumDefinitionImpl): - - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for digital signatures not further described.") - - _defn = EnumDefinition( - name="SignatureAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) - -class DiskTypes(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="DiskTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) - -class GPUInterconnetionTypes(EnumDefinitionImpl): - - NVLink = PermissibleValue(text="NVLink") - RoCE2 = PermissibleValue(text="RoCE2") - other = PermissibleValue(text="other") - none = PermissibleValue(text="none") - - _defn = EnumDefinition( - name="GPUInterconnetionTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) - -class UpdateFrequency(EnumDefinitionImpl): - """ - Possible values for image's update frequency. - """ - yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") - quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") - weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") - daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") - critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") - - _defn = EnumDefinition( - name="UpdateFrequency", - description="Possible values for image's update frequency.", - ) - -class Validity1(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - none = PermissibleValue( - text="none", - description="No information are given.") - notice = PermissibleValue( - text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") - - _defn = EnumDefinition( - name="Validity1", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class Validity2(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - forever = PermissibleValue( - text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") - - _defn = EnumDefinition( - name="Validity2", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class GaiaXTermsAndConditions(EnumDefinitionImpl): - """ - SHA256 check sum of Gaia-X Terms and Conditions. - """ - _defn = EnumDefinition( - name="GaiaXTermsAndConditions", - description="SHA256 check sum of Gaia-X Terms and Conditions.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) - -class MemoryClasses(EnumDefinitionImpl): - - DDR4 = PermissibleValue(text="DDR4") - DDR5 = PermissibleValue(text="DDR5") - GDDR5 = PermissibleValue(text="GDDR5") - GDDR6 = PermissibleValue(text="GDDR6") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryClasses", - ) - -class MemoryRanks(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryRanks", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) - -class PXEDiskType(EnumDefinitionImpl): - - WINPE = PermissibleValue(text="WINPE") - ISO = PermissibleValue(text="ISO") - - _defn = EnumDefinition( - name="PXEDiskType", - ) - -class SPDX(EnumDefinitionImpl): - - AAL = PermissibleValue(text="AAL") - Abstyles = PermissibleValue(text="Abstyles") - ADSL = PermissibleValue(text="ADSL") - Afmparse = PermissibleValue(text="Afmparse") - Aladdin = PermissibleValue(text="Aladdin") - AMDPLPA = PermissibleValue(text="AMDPLPA") - AML = PermissibleValue(text="AML") - AMPAS = PermissibleValue(text="AMPAS") - APAFML = PermissibleValue(text="APAFML") - Baekmuk = PermissibleValue(text="Baekmuk") - Bahyph = PermissibleValue(text="Bahyph") - Barr = PermissibleValue(text="Barr") - Beerware = PermissibleValue(text="Beerware") - blessing = PermissibleValue(text="blessing") - Borceux = PermissibleValue(text="Borceux") - Caldera = PermissibleValue(text="Caldera") - CFITSIO = PermissibleValue(text="CFITSIO") - checkmk = PermissibleValue(text="checkmk") - ClArtistic = PermissibleValue(text="ClArtistic") - Clips = PermissibleValue(text="Clips") - Crossword = PermissibleValue(text="Crossword") - CrystalStacker = PermissibleValue(text="CrystalStacker") - Cube = PermissibleValue(text="Cube") - curl = PermissibleValue(text="curl") - diffmark = PermissibleValue(text="diffmark") - DOC = PermissibleValue(text="DOC") - Dotseqn = PermissibleValue(text="Dotseqn") - DSDP = PermissibleValue(text="DSDP") - dtoa = PermissibleValue(text="dtoa") - dvipdfm = PermissibleValue(text="dvipdfm") - eGenix = PermissibleValue(text="eGenix") - Entessa = PermissibleValue(text="Entessa") - EPICS = PermissibleValue(text="EPICS") - EUDatagrid = PermissibleValue(text="EUDatagrid") - Eurosym = PermissibleValue(text="Eurosym") - Fair = PermissibleValue(text="Fair") - FreeImage = PermissibleValue(text="FreeImage") - FSFAP = PermissibleValue(text="FSFAP") - FSFUL = PermissibleValue(text="FSFUL") - FSFULLR = PermissibleValue(text="FSFULLR") - FSFULLRWD = PermissibleValue(text="FSFULLRWD") - FTL = PermissibleValue(text="FTL") - GD = PermissibleValue(text="GD") - Giftware = PermissibleValue(text="Giftware") - GL2PS = PermissibleValue(text="GL2PS") - Glide = PermissibleValue(text="Glide") - Glulxe = PermissibleValue(text="Glulxe") - GLWTPL = PermissibleValue(text="GLWTPL") - gnuplot = PermissibleValue(text="gnuplot") - HaskellReport = PermissibleValue(text="HaskellReport") - HPND = PermissibleValue(text="HPND") - HTMLTIDY = PermissibleValue(text="HTMLTIDY") - ICU = PermissibleValue(text="ICU") - IJG = PermissibleValue(text="IJG") - ImageMagick = PermissibleValue(text="ImageMagick") - iMatix = PermissibleValue(text="iMatix") - Imlib2 = PermissibleValue(text="Imlib2") - Intel = PermissibleValue(text="Intel") - IPA = PermissibleValue(text="IPA") - ISC = PermissibleValue(text="ISC") - Jam = PermissibleValue(text="Jam") - JPNIC = PermissibleValue(text="JPNIC") - JSON = PermissibleValue(text="JSON") - Kazlib = PermissibleValue(text="Kazlib") - Latex2e = PermissibleValue(text="Latex2e") - Leptonica = PermissibleValue(text="Leptonica") - LGPLLR = PermissibleValue(text="LGPLLR") - Libpng = PermissibleValue(text="Libpng") - libtiff = PermissibleValue(text="libtiff") - LOOP = PermissibleValue(text="LOOP") - MakeIndex = PermissibleValue(text="MakeIndex") - metamail = PermissibleValue(text="metamail") - Minpack = PermissibleValue(text="Minpack") - MirOS = PermissibleValue(text="MirOS") - MIT = PermissibleValue(text="MIT") - MITNFA = PermissibleValue(text="MITNFA") - Motosoto = PermissibleValue(text="Motosoto") - mpich2 = PermissibleValue(text="mpich2") - mplus = PermissibleValue(text="mplus") - MTLL = PermissibleValue(text="MTLL") - Multics = PermissibleValue(text="Multics") - Mup = PermissibleValue(text="Mup") - Naumen = PermissibleValue(text="Naumen") - NCSA = PermissibleValue(text="NCSA") - NetCDF = PermissibleValue(text="NetCDF") - Newsletr = PermissibleValue(text="Newsletr") - NGPL = PermissibleValue(text="NGPL") - NLPL = PermissibleValue(text="NLPL") - Nokia = PermissibleValue(text="Nokia") - NOSL = PermissibleValue(text="NOSL") - Noweb = PermissibleValue(text="Noweb") - NRL = PermissibleValue(text="NRL") - NTP = PermissibleValue(text="NTP") - OFFIS = PermissibleValue(text="OFFIS") - OGTSL = PermissibleValue(text="OGTSL") - OML = PermissibleValue(text="OML") - OpenSSL = PermissibleValue(text="OpenSSL") - Plexus = PermissibleValue(text="Plexus") - PostgreSQL = PermissibleValue(text="PostgreSQL") - psfrag = PermissibleValue(text="psfrag") - psutils = PermissibleValue(text="psutils") - Qhull = PermissibleValue(text="Qhull") - Rdisc = PermissibleValue(text="Rdisc") - RSCPL = PermissibleValue(text="RSCPL") - Ruby = PermissibleValue(text="Ruby") - Saxpath = PermissibleValue(text="Saxpath") - SCEA = PermissibleValue(text="SCEA") - SchemeReport = PermissibleValue(text="SchemeReport") - Sendmail = PermissibleValue(text="Sendmail") - SGP4 = PermissibleValue(text="SGP4") - SISSL = PermissibleValue(text="SISSL") - Sleepycat = PermissibleValue(text="Sleepycat") - SMLNJ = PermissibleValue(text="SMLNJ") - SMPPL = PermissibleValue(text="SMPPL") - SNIA = PermissibleValue(text="SNIA") - snprintf = PermissibleValue(text="snprintf") - SunPro = PermissibleValue(text="SunPro") - SWL = PermissibleValue(text="SWL") - Symlinks = PermissibleValue(text="Symlinks") - TCL = PermissibleValue(text="TCL") - TermReadKey = PermissibleValue(text="TermReadKey") - TMate = PermissibleValue(text="TMate") - TOSL = PermissibleValue(text="TOSL") - TPDL = PermissibleValue(text="TPDL") - TTWL = PermissibleValue(text="TTWL") - UCAR = PermissibleValue(text="UCAR") - UnixCrypt = PermissibleValue(text="UnixCrypt") - Unlicense = PermissibleValue(text="Unlicense") - Vim = PermissibleValue(text="Vim") - VOSTROM = PermissibleValue(text="VOSTROM") - W3C = PermissibleValue(text="W3C") - w3m = PermissibleValue(text="w3m") - Wsuipa = PermissibleValue(text="Wsuipa") - WTFPL = PermissibleValue(text="WTFPL") - X11 = PermissibleValue(text="X11") - Xerox = PermissibleValue(text="Xerox") - Xfig = PermissibleValue(text="Xfig") - xinetd = PermissibleValue(text="xinetd") - xlock = PermissibleValue(text="xlock") - Xnet = PermissibleValue(text="Xnet") - xpp = PermissibleValue(text="xpp") - XSkat = PermissibleValue(text="XSkat") - Zed = PermissibleValue(text="Zed") - Zlib = PermissibleValue(text="Zlib") - - _defn = EnumDefinition( - name="SPDX", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) - -class OSDistribution(EnumDefinitionImpl): - """ - Possible values for operating system distribution. - """ - Debian = PermissibleValue(text="Debian") - Fedora = PermissibleValue(text="Fedora") - FreeBSD = PermissibleValue(text="FreeBSD") - Mandrakelinux = PermissibleValue(text="Mandrakelinux") - NetBSD = PermissibleValue(text="NetBSD") - OpenBSD = PermissibleValue(text="OpenBSD") - OpenSolaris = PermissibleValue(text="OpenSolaris") - openSUSE = PermissibleValue(text="openSUSE") - Ubuntu = PermissibleValue(text="Ubuntu") - CirrOS = PermissibleValue(text="CirrOS") - AlmaLinux = PermissibleValue(text="AlmaLinux") - others = PermissibleValue(text="others") - - _defn = EnumDefinition( - name="OSDistribution", - description="Possible values for operating system distribution.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) - -class HypervisorType(EnumDefinitionImpl): - """ - Possible values for hypervisor types. - """ - quemu = PermissibleValue(text="quemu") - KVM = PermissibleValue(text="KVM") - Xen = PermissibleValue(text="Xen") - ESXi = PermissibleValue(text="ESXi") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="HypervisorType", - description="Possible values for hypervisor types.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) - -class PersonalDataProtectionRegime(EnumDefinitionImpl): - - GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") - LGPD2019 = PermissibleValue( - text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") - PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") - CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") - VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") - - _defn = EnumDefinition( - name="PersonalDataProtectionRegime", - ) - -class RequestTypes(EnumDefinitionImpl): - - API = PermissibleValue(text="API") - email = PermissibleValue(text="email") - webform = PermissibleValue(text="webform") - unregisteredLetter = PermissibleValue(text="unregisteredLetter") - registeredLetter = PermissibleValue(text="registeredLetter") - supportCenter = PermissibleValue(text="supportCenter") - - _defn = EnumDefinition( - name="RequestTypes", - ) - -class AccessTypes(EnumDefinitionImpl): - - digital = PermissibleValue( - text="digital", - description="Access via digital service, such as e-mail or web form.") - physical = PermissibleValue( - text="physical", - description="Access via physical medium, such as letter or physical appointment.") - - _defn = EnumDefinition( - name="AccessTypes", - ) - -class MIMETypes(EnumDefinitionImpl): - - calendar = PermissibleValue(text="calendar") - cql = PermissibleValue(text="cql") - css = PermissibleValue(text="css") - csv = PermissibleValue(text="csv") - dns = PermissibleValue(text="dns") - encaprtp = PermissibleValue(text="encaprtp") - enriched = PermissibleValue(text="enriched") - example = PermissibleValue(text="example") - fhirpath = PermissibleValue(text="fhirpath") - flexfec = PermissibleValue(text="flexfec") - fwdred = PermissibleValue(text="fwdred") - gff3 = PermissibleValue(text="gff3") - hl7v2 = PermissibleValue(text="hl7v2") - html = PermissibleValue(text="html") - javascript = PermissibleValue(text="javascript") - markdown = PermissibleValue(text="markdown") - mizar = PermissibleValue(text="mizar") - n3 = PermissibleValue(text="n3") - parameters = PermissibleValue(text="parameters") - parityfec = PermissibleValue(text="parityfec") - plain = PermissibleValue(text="plain") - RED = PermissibleValue(text="RED") - richtext = PermissibleValue(text="richtext") - rtf = PermissibleValue(text="rtf") - rtploopback = PermissibleValue(text="rtploopback") - rtx = PermissibleValue(text="rtx") - SGML = PermissibleValue(text="SGML") - shacl = PermissibleValue(text="shacl") - shex = PermissibleValue(text="shex") - spdx = PermissibleValue(text="spdx") - strings = PermissibleValue(text="strings") - t140 = PermissibleValue(text="t140") - troff = PermissibleValue(text="troff") - turtle = PermissibleValue(text="turtle") - ulpfec = PermissibleValue(text="ulpfec") - vcard = PermissibleValue(text="vcard") - vtt = PermissibleValue(text="vtt") - wgsl = PermissibleValue(text="wgsl") - xml = PermissibleValue(text="xml") - A2L = PermissibleValue(text="A2L") - activemessage = PermissibleValue(text="activemessage") - AML = PermissibleValue(text="AML") - applefile = PermissibleValue(text="applefile") - ATF = PermissibleValue(text="ATF") - ATFX = PermissibleValue(text="ATFX") - atomicmail = PermissibleValue(text="atomicmail") - ATXML = PermissibleValue(text="ATXML") - cbor = PermissibleValue(text="cbor") - cccex = PermissibleValue(text="cccex") - cdni = PermissibleValue(text="cdni") - CEA = PermissibleValue(text="CEA") - cfw = PermissibleValue(text="cfw") - clr = PermissibleValue(text="clr") - cms = PermissibleValue(text="cms") - commonground = PermissibleValue(text="commonground") - cose = PermissibleValue(text="cose") - csrattrs = PermissibleValue(text="csrattrs") - cwl = PermissibleValue(text="cwl") - cwt = PermissibleValue(text="cwt") - cybercash = PermissibleValue(text="cybercash") - dashdelta = PermissibleValue(text="dashdelta") - DCD = PermissibleValue(text="DCD") - dicom = PermissibleValue(text="dicom") - DII = PermissibleValue(text="DII") - DIT = PermissibleValue(text="DIT") - dvcs = PermissibleValue(text="dvcs") - EDIFACT = PermissibleValue(text="EDIFACT") - efi = PermissibleValue(text="efi") - eshop = PermissibleValue(text="eshop") - exi = PermissibleValue(text="exi") - express = PermissibleValue(text="express") - fastinfoset = PermissibleValue(text="fastinfoset") - fastsoap = PermissibleValue(text="fastsoap") - fdf = PermissibleValue(text="fdf") - fits = PermissibleValue(text="fits") - gzip = PermissibleValue(text="gzip") - H224 = PermissibleValue(text="H224") - http = PermissibleValue(text="http") - hyperstudio = PermissibleValue(text="hyperstudio") - iges = PermissibleValue(text="iges") - index = PermissibleValue(text="index") - IOTP = PermissibleValue(text="IOTP") - ipfix = PermissibleValue(text="ipfix") - ipp = PermissibleValue(text="ipp") - ISUP = PermissibleValue(text="ISUP") - jose = PermissibleValue(text="jose") - json = PermissibleValue(text="json") - jwt = PermissibleValue(text="jwt") - linkset = PermissibleValue(text="linkset") - LXF = PermissibleValue(text="LXF") - macwriteii = PermissibleValue(text="macwriteii") - marc = PermissibleValue(text="marc") - mathematica = PermissibleValue(text="mathematica") - mbox = PermissibleValue(text="mbox") - MF4 = PermissibleValue(text="MF4") - mikey = PermissibleValue(text="mikey") - mipc = PermissibleValue(text="mipc") - mp21 = PermissibleValue(text="mp21") - mp4 = PermissibleValue(text="mp4") - msword = PermissibleValue(text="msword") - mxf = PermissibleValue(text="mxf") - nasdata = PermissibleValue(text="nasdata") - node = PermissibleValue(text="node") - nss = PermissibleValue(text="nss") - ODA = PermissibleValue(text="ODA") - ODX = PermissibleValue(text="ODX") - ogg = PermissibleValue(text="ogg") - oscore = PermissibleValue(text="oscore") - oxps = PermissibleValue(text="oxps") - p21 = PermissibleValue(text="p21") - passport = PermissibleValue(text="passport") - pdf = PermissibleValue(text="pdf") - PDX = PermissibleValue(text="PDX") - pkcs10 = PermissibleValue(text="pkcs10") - pkcs8 = PermissibleValue(text="pkcs8") - pkcs12 = PermissibleValue(text="pkcs12") - pkixcmp = PermissibleValue(text="pkixcmp") - postscript = PermissibleValue(text="postscript") - QSIG = PermissibleValue(text="QSIG") - raptorfec = PermissibleValue(text="raptorfec") - riscos = PermissibleValue(text="riscos") - sbe = PermissibleValue(text="sbe") - sdp = PermissibleValue(text="sdp") - sieve = PermissibleValue(text="sieve") - simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") - sipc = PermissibleValue(text="sipc") - slate = PermissibleValue(text="slate") - smpte336m = PermissibleValue(text="smpte336m") - sql = PermissibleValue(text="sql") - srgs = PermissibleValue(text="srgs") - TETRA_ISI = PermissibleValue(text="TETRA_ISI") - tnauthlist = PermissibleValue(text="tnauthlist") - trig = PermissibleValue(text="trig") - tzif = PermissibleValue(text="tzif") - vemmi = PermissibleValue(text="vemmi") - wasm = PermissibleValue(text="wasm") - widget = PermissibleValue(text="widget") - wita = PermissibleValue(text="wita") - xfdf = PermissibleValue(text="xfdf") - yaml = PermissibleValue(text="yaml") - yang = PermissibleValue(text="yang") - zip = PermissibleValue(text="zip") - zlib = PermissibleValue(text="zlib") - zstd = PermissibleValue(text="zstd") - - _defn = EnumDefinition( - name="MIMETypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) - -class ProvisionTypes(EnumDefinitionImpl): - - private = PermissibleValue( - text="private", - description="A service, which is provided for one customer exclusively.") - public = PermissibleValue( - text="public", - description="A service, which is used by several customers, simultaneously.") - hybrid = PermissibleValue( - text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") - - _defn = EnumDefinition( - name="ProvisionTypes", - ) - -class TenantSeparation(EnumDefinitionImpl): - - physical = PermissibleValue( - text="physical", - description="TBD") - - _defn = EnumDefinition( - name="TenantSeparation", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) - -class FirmType(EnumDefinitionImpl): - """ - Possible values for VM image's firmerequired hypervisor. - """ - BIOS = PermissibleValue(text="BIOS") - UEFI = PermissibleValue(text="UEFI") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="FirmType", - description="Possible values for VM image's firmerequired hypervisor.", - ) - -class WatchDogActions(EnumDefinitionImpl): - """ - Possible values for VM image's watchdog actions. - """ - disabled = PermissibleValue( - text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") - reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") - poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") - pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") - none = PermissibleValue( - text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") - - _defn = EnumDefinition( - name="WatchDogActions", - description="Possible values for VM image's watchdog actions.", - ) - -class RNGTypes(EnumDefinitionImpl): - - Quantum = PermissibleValue( - text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") - - _defn = EnumDefinition( - name="RNGTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Electrical noise", - PermissibleValue( - text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", - PermissibleValue( - text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", - PermissibleValue( - text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", - PermissibleValue( - text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) - -class VMDiskType(EnumDefinitionImpl): - - RAW = PermissibleValue(text="RAW") - QCOW2 = PermissibleValue(text="QCOW2") - VHD = PermissibleValue(text="VHD") - VMDK = PermissibleValue(text="VMDK") - ISO = PermissibleValue(text="ISO") - CVF = PermissibleValue(text="CVF") - CVA = PermissibleValue(text="CVA") - - _defn = EnumDefinition( - name="VMDiskType", - ) - -# Slots -class slots: - pass - -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) - -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 0c74864..092d38c 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -3,22 +3,20 @@ """ import inspect -from generator.common.gx_schema import SCHEMA -from generator.common.gx_schema import VCARD -from generator.common.gx_schema import GX -from generator.common.gx_schema import QUDT -from generator.common.gx_schema import YAMLRoot -from generator.common.gx_schema import slots - from json import JSONDecoder from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from typing import List +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots +from linkml_runtime.utils.yamlutils import TypedNode +from typing import List, Tuple from uuid import uuid4 +from datetime import date, datetime +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python @@ -70,7 +68,6 @@ def to_json_ld(obj) -> dict: @rtype: dict """ json_ld = dict() - if isinstance(obj, JsonLdObject): # if JsonLdObject adds id gx_object = obj.gx_object @@ -85,56 +82,44 @@ def to_json_ld(obj) -> dict: # skip emtpy values continue slot_curie = get_slot_curie(key, obj) - if isinstance(value, XSDDateTime): - # Add type for datetime - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:dateTime" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, XSDDate): - # add type for date - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:date" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, float): - # add type for float - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:float" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, str) and value.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:anyURI" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, bool): - # add type for boolean - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:boolean" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, list): + if isinstance(value, list): # call to_json_ld for each entry in list json_ld[slot_curie] = list() for item in value: json_ld[slot_curie].append(to_json_ld(item)) - elif isinstance(value, EnumDefinitionImpl): + elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code - json_ld[slot_curie] = value.code.text - elif isinstance(value, YAMLRoot): - json_ld[slot_curie] = to_json_ld(value) + return obj.code.text else: - json_ld[slot_curie] = value + json_ld[slot_curie] = to_json_ld(value) return json_ld - elif isinstance(obj, str): - if obj.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld["@type"] = "xsd:anyURI" - json_ld["@value"] = obj - return json_ld - else: - return obj + elif isinstance(obj, datetime): + # Add type for datetime + return { + "@type": "xsd:dateTime", + "@value": str(obj)} + elif isinstance(obj, date): + # add type for date + return { + "@type": "xsd:date", + "@value": str(obj)} + elif isinstance(obj, float): + # add type for float + return { + "@type": "xsd:float", + "@value": str(obj)} + elif isinstance(obj, URI): + # add type for URI + return { + "@type": "xsd:anyURI", + "@value": str(obj)} + elif isinstance(obj, bool): + # add type for boolean + return { + "@type": "xsd:boolean", + "@value": str(obj)} else: - return JSONDecoder().decode(obj) + return obj def get_slot_curie(slot_name:str, gx_object: object)-> str: @@ -153,19 +138,20 @@ def get_slot_curie(slot_name:str, gx_object: object)-> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie - -def get_types(gaia_object: type) -> List[type]: +def get_types(gx_object: type) -> List[type]: """ Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. - @param gaia_object: GX object, whose type is to be retrived - @type gaia_object: type + @param gx_object: GX object, whose type is to be retrived + @type gx_object: type @return: list of types if given GX_OBJECT @rtype: list of types """ types = [] - for base in inspect.getmro(gaia_object): - if isinstance(base, YAMLRoot): + for base in _get_super_classes(gx_object): + try: types.append(base.class_class_curie) + except AttributeError: + pass return types From 133a5f8ed404392b4d49b9b579ff108cddfea9a7 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 5 Jan 2024 15:01:01 +0100 Subject: [PATCH 017/175] Support siganure, finish JSON-LD serialization, refactoring Signed-off-by: Anja Strunk --- config/config.yaml | 2 +- generator/common/const.py | 4 + .../common/{exceptions.py => expections.py} | 6 +- generator/common/gx_schema.py | 38 ++-- generator/common/json_ld.py | 56 +++-- generator/data.json | 0 .../discovery/openstack/opentack_discovery.py | 19 +- .../openstack/vm_images_discovery.py | 207 +++++++++++------- 8 files changed, 205 insertions(+), 127 deletions(-) rename generator/common/{exceptions.py => expections.py} (53%) create mode 100644 generator/data.json diff --git a/config/config.yaml b/config/config.yaml index 27a563d..d25f0b6 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -57,7 +57,7 @@ vm image: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: DEFAULTV + resource policy: DEFAULT license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: diff --git a/generator/common/const.py b/generator/common/const.py index 78b2e7c..677960a 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,3 +1,7 @@ +""" +Constants used by SCS GX Credential Generator. +""" + DEFAULT_RESOURCE_POLICY = "default: allow intent" DEFAULT_FIRMWARE_TYPE = "other" DEFAULT_WATCHDOG_ACTION = "none" diff --git a/generator/common/exceptions.py b/generator/common/expections.py similarity index 53% rename from generator/common/exceptions.py rename to generator/common/expections.py index de8920d..5662b83 100644 --- a/generator/common/exceptions.py +++ b/generator/common/expections.py @@ -1,5 +1,7 @@ class MissingMandatoryAttribute(AttributeError): + """ + An exception that occurs when an SCS mandatory attributes are missing. + """ def __init__(self, *args, **kwargs): - super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") - + super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") \ No newline at end of file diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 1a6e2a5..fcd1d2a 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-01-04T09:32:21 +# Generation date: 2024-01-05T13:21:25 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -255,7 +255,7 @@ class CheckSum(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.CheckSum checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None + checkSumValue: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.checkSumCalculation): @@ -263,10 +263,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) + if self._is_empty(self.checkSumValue): + self.MissingRequiredField("checkSumValue") + if not isinstance(self.checkSumValue, str): + self.checkSumValue = str(self.checkSumValue) super().__post_init__(**kwargs) @@ -280,15 +280,15 @@ class Signature(YAMLRoot): class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature - signature: str = None + signatureValue: str = None hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) + if self._is_empty(self.signatureValue): + self.MissingRequiredField("signatureValue") + if not isinstance(self.signatureValue, str): + self.signatureValue = str(self.signatureValue) if self._is_empty(self.hashAlgorithm): self.MissingRequiredField("hashAlgorithm") @@ -1072,6 +1072,7 @@ class Image(CodeArtifact): videoRamSize: Optional[Union[dict, "MemorySize"]] = None rootDiskReq: Optional[Union[dict, Disk]] = None encryption: Optional[Union[dict, Encryption]] = None + checkSum: Optional[Union[dict, CheckSum]] = None secureBoot: Optional[Union[bool, Bool]] = False vPMU: Optional[Union[bool, Bool]] = False multiQueues: Optional[Union[bool, Bool]] = False @@ -1104,6 +1105,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.encryption is not None and not isinstance(self.encryption, Encryption): self.encryption = Encryption(**as_dict(self.encryption)) + if self.checkSum is not None and not isinstance(self.checkSum, CheckSum): + self.checkSum = CheckSum(**as_dict(self.checkSum)) + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): self.secureBoot = Bool(self.secureBoot) @@ -8877,11 +8881,11 @@ class slots: slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) +slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), + model_uri=GX.checkSum__checkSumValue, domain=None, range=str) -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), + model_uri=GX.signature__signatureValue, domain=None, range=str) slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) @@ -8955,6 +8959,9 @@ class slots: slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) +slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) + slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) @@ -9242,3 +9249,4 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 092d38c..d6736ad 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -3,31 +3,31 @@ """ import inspect -from json import JSONDecoder +from datetime import date, datetime + +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.yamlutils import TypedNode -from typing import List, Tuple +from typing import List from uuid import uuid4 -from datetime import date, datetime -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python - classes of Gaia-X Credential does not have an attribute to store instance's id.""" + classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials.""" - def __init__(self, gx_object: YAMLRoot, gx_id=None): + def __init__(self, gx_object: YAMLRoot, gx_id:str=None): """ + Create a new object of JsonLdObejct @param gx_object: Gaia-X object @type gx_object: YAMLRoot @param gx_id: id of Gaia-X object + @type gx_id: basestring """ self.gx_object = gx_object self.gx_id = gx_id @@ -37,7 +37,7 @@ def __init__(self, gx_object: YAMLRoot, gx_id=None): def get_json_ld_context() -> dict: """ - Returns JSON-LD context as dict + Return JSON-LD context as dict. @return: JSON-LD context as dictionary @rtype: dict @@ -49,7 +49,8 @@ def get_json_ld_context() -> dict: QUDT.prefix: QUDT, SCHEMA.prefix: SCHEMA, VCARD.prefix: VCARD, - "xsd": "http://www.w3.org/2001/XMLSchema#" + "xsd": "http://www.w3.org/2001/XMLSchema#", + "ex": "https://example.com/" } } @@ -58,7 +59,7 @@ def to_json_ld(obj) -> dict: """ JSON serializer callback method. 1) Adds object's id, if any - 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type + 2) Adds type information of instance and its attributes. As JSON-LD interprets all attributes without any type information as string, we need to add type to non-string attributes explicitly. 3) Adds curie to instance and its attributes 4) Filters out empty values (None, {}, and []) @@ -69,15 +70,23 @@ def to_json_ld(obj) -> dict: """ json_ld = dict() if isinstance(obj, JsonLdObject): - # if JsonLdObject adds id + # if JsonLdObject add id gx_object = obj.gx_object - json_ld['@id'] = obj.gx_id + json_ld['@id'] = "ex:" + obj.gx_id.replace(" ", "") + # call to_json_ld for gx_object json_ld.update(to_json_ld(gx_object)) return json_ld elif isinstance(obj, YAMLRoot): - # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict - json_ld['@type'] = get_types(obj.__class__) + # if YAMLRoot (= all top level classes in Gaia-X Credential Schema) + # Using one type is sufficient + # json_ld['@type'] = get_types(obj.__class__) + try: + # set type of Gaia-X object if possible + json_ld['@type'] = obj.class_class_curie + except AttributeError: + pass for key, value in obj.__dict__.items(): + # serialize each attribute of object if value is None or value == [] or value == {}: # skip emtpy values continue @@ -122,9 +131,9 @@ def to_json_ld(obj) -> dict: return obj -def get_slot_curie(slot_name:str, gx_object: object)-> str: +def get_slot_curie(slot_name: str, gx_object: object) -> str: """ - Returns curie of slot with given SLOT_NAME of given GX_OBJECT. + Return curie of slot with given SLOT_NAME of given GX_OBJECT. @param slot_name: name of slot whose curie is requested @type slot_name: str @param gx_object: GX object given slot may belong to @@ -138,10 +147,11 @@ def get_slot_curie(slot_name:str, gx_object: object)-> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie + def get_types(gx_object: type) -> List[type]: """ - Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. - @param gx_object: GX object, whose type is to be retrived + Return all types as curie of given GX_OBJECT. Types are instance's class as well as all super classes. + @param gx_object: GX object, whose type is to be retrieved @type gx_object: type @return: list of types if given GX_OBJECT @rtype: list of types @@ -157,9 +167,9 @@ def get_types(gx_object: type) -> List[type]: def _get_super_classes(class_name) -> List: """ - Returns all super classes of class with given CLASS_NAME + Return all super classes of class with given CLASS_NAME. @param class_name: name of class - @return: list of all super classdes + @return: list of all super classes """ classes = [] for base in inspect.getmro(class_name): diff --git a/generator/data.json b/generator/data.json new file mode 100644 index 0000000..e69de29 diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index a6f21f2..4b1f2c4 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,18 +1,14 @@ -import json +import generator.common.json_ld as json_ld + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery -import openstack from openstack.connection import Connection -from typing import Dict -import sys -from uuid import uuid4 -import generator.common.json_ld as json_ld -from generator.common.gx_schema import VMImage +from typing import Dict -from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: - "Abstraction for openStack cloud with all its services" + "Abstraction for openStack cloud with all its services." def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn @@ -21,6 +17,11 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.config = config def discover_properties(self) -> dict: + """ + Discover all attributes of OS Cloud. + + @return: all attributes as dict + """ props = json_ld.get_json_ld_context() props['@graph'] = [] diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index ab2b7cd..c6b9064 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,62 +1,54 @@ -import typing -from json import JSONDecoder -import json -import urllib3 +from linkml_runtime.utils.metamodelcore import URI -from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.expections import MissingMandatoryAttribute + +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX from generator.common.gx_schema import UpdateStrategy -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import GaiaXEntity - -from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image -import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject -from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image -from typing import List import generator.common.const as const -from typing import Dict +from typing import Dict, Union, List + +from datetime import datetime -import yaml # TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} -# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd -# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self) -> None: - with open("config/config.yaml", "r") as config_file: - self.config = yaml.safe_load(config_file) + # def __init__(self) -> None: + # with open("config/config.yaml", "r") as config_file: + # self.config = yaml.safe_load(config_file) - - - #def __init__(self, conn: Connection, config: Dict) -> None: - # self.conn = conn - # self.config = config + def __init__(self, conn: Connection, config: Dict) -> None: + self.conn = conn + self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[JsonLdObject]: """ - Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. + Return one credential for each VM image provided by openstack cloud. - @param conn: Connection to openstack cloud VM images are to be collected @return: list of VM images + @rtype: list[JsonLdObject] """ images = list() for image in self.conn.list_images(): - #images.append(self._convert_to_gx_image(image)) images.append( JsonLdObject( self._convert_to_gx_image(image), gx_id=image.id)) @@ -64,9 +56,11 @@ def discover_vm_images(self) -> List[JsonLdObject]: def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ - Converts Openstack image to a Gaia-X virtual machine image. + Convert Openstack image to a Gaia-X virtual machine image. @param os_image: Openstack image properties + @type os_image: OS_Image @return: Gaia-X virtual machine image + @rtype GX_Image """ # Initialize Gaia-X Image @@ -93,6 +87,7 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_patch_level(os_image, gx_image) self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) + self._add_signature(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -112,7 +107,7 @@ def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") else: - gx_image.cpuReq = CPU(cpuArchitecture=cpu_arch_types.other) + gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) @staticmethod def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: @@ -138,33 +133,38 @@ def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: raise MissingMandatoryAttribute(e.args) def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: - # Copyright owner and license not supported as Image properties, currently --> Default values are used + # Copyright owner and license not supported as Image properties, currently --> Default values from config are used + if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ARCH))) elif os_image.os_distro == "centos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CENTOS))) elif os_image.os_distro == "debian": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_DEBIAN))) elif os_image.os_distro == "fedora": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FEDORA))) elif os_image.os_distro == "freebsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, @@ -172,14 +172,16 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_FREEBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FREEBSD))) elif os_image.os_distro == "gentoo": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_GENTOO))) elif os_image.os_distro == "mandrake": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, @@ -187,7 +189,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_MANDRAKE), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) elif os_image.os_distro == "mandriva": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, @@ -195,32 +198,37 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_MANDRIVA), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) elif os_image.os_distro == "mes": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MES))) elif os_image.os_distro == "msdos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MSDOS))) elif os_image.os_distro == "netbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NETBSD))) elif os_image.os_distro == "netware": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NOVELL))) elif os_image.os_distro == "openbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, @@ -228,7 +236,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_OPENBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPENBSD))) elif os_image.os_distro == "opensolaris": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, @@ -236,7 +245,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_SOLARIS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SOLARIS))) elif os_image.os_distro == "opensuse": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, @@ -244,30 +254,35 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_OPEN_SUSE), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) elif os_image.os_distro == "rocky": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ROCKY))) elif os_image.os_distro == "rhel": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_RHEL))) elif os_image.os_distro == "sled": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SLED))) elif os_image.os_distro == "ubuntu": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_UBUNTU))) elif os_image.os_distro == "windows": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, @@ -275,14 +290,16 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_WINDOWS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_WINDOWS))) elif os_image.os_distro == "cirros": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CIRROS))) elif os_image.os_distro == "almalinux": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, @@ -290,7 +307,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_ALMALINUX), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") @@ -313,7 +331,8 @@ def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.license = [self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]] + for license in self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]: + gx_image.license.append(URI(license)) except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -324,10 +343,22 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - def _get_license(self, os: str) -> str: + def _get_license_from_config(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: + license_list = list() + + for l in licenses: + if l.startswith("http"): + license_list.append(URI(l)) + else: + license_list.append(l) + return license_list + + @staticmethod + def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -335,7 +366,8 @@ def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -343,7 +375,8 @@ def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -351,7 +384,8 @@ def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -359,7 +393,8 @@ def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return @@ -367,7 +402,8 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -375,7 +411,8 @@ def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> Non except AttributeError: pass - def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -392,7 +429,8 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties[ 'image_description'] @@ -404,7 +442,8 @@ def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -412,9 +451,10 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.buildDate = os_image.properties['image_build_date'] + gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") except KeyError: pass @@ -442,16 +482,22 @@ def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_algo(os_image.hash_algo) + algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value - gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass @staticmethod - def _get_algo(algo: str) -> str: - if algo in ['sha512', 'sha224', 'sha256' 'sha384']: - return 'sha-2' + def _get_checksum_algo(algo: str) -> str: + if algo == 'sha512': + return 'sha-512' + if algo == 'sha224': + return 'sha-224' + if algo == 'sha256': + return 'sha-256' + if algo == 'sha384': + return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo return ChecksumAlgorithm.other @@ -467,14 +513,21 @@ def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) - @staticmethod - def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo - + gx_image.signature = Signature( + signatureValue=os_image.img_signature, + hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), + signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) except AttributeError: pass + @staticmethod + def _get_signature_algo(algo: str) -> str: + if algo.startswith("SHA-"): + return "RSA-Signature" + return SignatureAlgorithm.other + + def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: + pass # ToDo: add aggrenation of From 23d54551f4424773fa00d20134b8f99b8a2a7f59 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 8 Jan 2024 11:58:32 +0100 Subject: [PATCH 018/175] Support aggregation of Signed-off-by: Anja Strunk --- config/config.yaml | 66 ++++--- generator/common/const.py | 2 + .../openstack/vm_images_discovery.py | 164 +++++++++--------- 3 files changed, 124 insertions(+), 108 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index d25f0b6..0efa07b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,122 +1,132 @@ -vm image: +operating system: Alpine Linux: copyright owner: "Alpine Linux" - resource policy: DEFAULT + resource policy: "abc" license: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 Arch Linux: copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://gitlab.archlinux.org/archlinux CentOS Linux: copyright owner: "The CentOS Project and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://github.com/CentOS/ Debian: copyright owner: "Ian Murdock and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.debian.org/legal/licenses/index.en.html Fedora: copyright owner: "Fedora-Project" - resource policy: DEFAULT + resource policy: "abc" license: - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ FreeBSD: copyright owner: "The FreeBSD Project" - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." - resource policy: DEFAULT + resource policy: "abc" license: - https://www.gentoo.org/glep/glep-0076.html Mandrakelinux: copyright owner: "Mandriva Linux" - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: copyright owner: "Micro Focus International" - resource policy: DEFAULT + resource policy: "abc" license: - https://support.novell.com/techcenter/articles/ana19960702.html OpenBSD: copyright owner: "OpenBSD" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.openbsd.org/policy.html OpenSolaris: copyright owner: "Sun Microsystems" - resource policy: DEFAULT + resource policy: "abc" license: - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html openSUSE: copyright owner: "openSUSE contributors & others" - resource policy: DEFAULT + resource policy: "abc" license: - https://en.opensuse.org/openSUSE:License Rocky Linux: copyright owner: "Rocky Enterprise Software Foundation" - resource policy: DEFAULT + resource policy: "abc" license: - - https://rockylinux.org/licensing + - https://rockylinux.org/licensing Red Hat Enterprise Linux: copyright owner: "Red Hat, Inc." - resource policy: DEFAULT + resource policy: "abc" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server SUSE Linux Enterprise Desktop: copyright owner: "SUSE" - resource policy: "" + resource policy: "abc" license: - https://www.suse.com/products/terms_and_conditions.pdf Ubuntu: copyright owner: "Canonical" - resource policy: DEFAULT + resource policy: "abc" license: - https://ubuntu.com/legal/open-source-licences Microsoft Windows: copyright owner: "Microsoft Corporation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.microsoft.com/licensing CirrOS: copyright owner: "Canonical Ltd." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-2.0-only AlmaLinux: copyright owner: "Canonical Ltd." - resource policy: DEFAULT + resource policy: "abc" license: - https://almalinux.org/p/the-almalinux-os-licensing-policy/ Debian 11: copyright owner: "AlmaLinux OS Foundation" - resource policy: DEFAULT - license: - - https://www.abc.org \ No newline at end of file + resource policy: "abc" + license: + - https://www.abc.org +own images: + AlmaLinux 8: + aggregation of: + - web:did:provider.de + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org \ No newline at end of file diff --git a/generator/common/const.py b/generator/common/const.py index 677960a..4bb8349 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -14,6 +14,8 @@ CONFIG_RESOURCE_POLICY = "resource policy" CONFIG_LICENSE = "license" CONFIG_COPYRIGHT = "copyright owner" +CONFIG_OPERATING_SYSTEM = "operating system" +CONFIG_OWN_IMAGES = "own images" CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index c6b9064..a76df72 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,3 +1,5 @@ +import os + from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -137,214 +139,216 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ARCH))) + self._get_license_for_os(const.CONFIG_OS_ARCH))) elif os_image.os_distro == "centos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CENTOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CENTOS))) + self._get_license_for_os(const.CONFIG_OS_CENTOS))) elif os_image.os_distro == "debian": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_DEBIAN), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_DEBIAN))) + self._get_license_for_os(const.CONFIG_OS_DEBIAN))) elif os_image.os_distro == "fedora": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FEDORA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FEDORA))) + self._get_license_for_os(const.CONFIG_OS_FEDORA))) elif os_image.os_distro == "freebsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FREEBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FREEBSD))) + self._get_license_for_os(const.CONFIG_OS_FREEBSD))) elif os_image.os_distro == "gentoo": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_GENTOO), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_GENTOO))) + self._get_license_for_os(const.CONFIG_OS_GENTOO))) elif os_image.os_distro == "mandrake": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRAKE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) + self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) elif os_image.os_distro == "mandriva": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRIVA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) + self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) elif os_image.os_distro == "mes": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MES))) + self._get_license_for_os(const.CONFIG_OS_MES))) elif os_image.os_distro == "msdos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MSDOS))) + self._get_license_for_os(const.CONFIG_OS_MSDOS))) elif os_image.os_distro == "netbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NETBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NETBSD))) + self._get_license_for_os(const.CONFIG_OS_NETBSD))) elif os_image.os_distro == "netware": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NOVELL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NOVELL))) + self._get_license_for_os(const.CONFIG_OS_NOVELL))) elif os_image.os_distro == "openbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPENBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPENBSD))) + self._get_license_for_os(const.CONFIG_OS_OPENBSD))) elif os_image.os_distro == "opensolaris": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_SOLARIS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SOLARIS))) + self._get_license_for_os(const.CONFIG_OS_SOLARIS))) elif os_image.os_distro == "opensuse": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPEN_SUSE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) elif os_image.os_distro == "rocky": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ROCKY))) + self._get_license_for_os(const.CONFIG_OS_ROCKY))) elif os_image.os_distro == "rhel": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_RHEL))) + self._get_license_for_os(const.CONFIG_OS_RHEL))) elif os_image.os_distro == "sled": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SLED))) + self._get_license_for_os(const.CONFIG_OS_SLED))) elif os_image.os_distro == "ubuntu": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_UBUNTU), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_UBUNTU))) + self._get_license_for_os(const.CONFIG_OS_UBUNTU))) elif os_image.os_distro == "windows": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_WINDOWS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_WINDOWS))) + self._get_license_for_os(const.CONFIG_OS_WINDOWS))) elif os_image.os_distro == "cirros": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CIRROS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CIRROS))) + self._get_license_for_os(const.CONFIG_OS_CIRROS))) elif os_image.os_distro == "almalinux": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_ALMALINUX), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) + self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") - def _get_resource_policy(self, os: str) -> str: - policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] - if policy == "DEFAULT": + def _get_resource_policy_for_os(self, os: str) -> str: + try: + return self.config[const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + except KeyError: return const.DEFAULT_RESOURCE_POLICY - else: - return policy - def _get_copyrightowner(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + def _get_copyrightowner_for_os(self, os: str) -> List[str]: + return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + + def _get_license_for_os(self, os: str) -> List[str]: + return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # check if comfig contains image's specific copright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - for license in self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]: - gx_image.license.append(URI(license)) + # check if comfig contains image's specific license + gx_image.license = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.resourcePolicy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + # check if comfig contains image's specific resource policy + gx_image.resourcePolicy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - def _get_license_from_config(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] @staticmethod def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: @@ -529,5 +533,5 @@ def _get_signature_algo(algo: str) -> str: return SignatureAlgorithm.other def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: - pass + self.config # ToDo: add aggrenation of From 8239654505b444168b284ad2d18539ca0129fc39 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 10 Jan 2024 14:54:21 +0100 Subject: [PATCH 019/175] Support aggregationOf and hypervisorType Signed-off-by: Anja Strunk --- generator/common/const.py | 1 + generator/common/json_ld.py | 5 +++ .../openstack/vm_images_discovery.py | 45 ++++++++++++++----- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/generator/common/const.py b/generator/common/const.py index 4bb8349..dd6812e 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -16,6 +16,7 @@ CONFIG_COPYRIGHT = "copyright owner" CONFIG_OPERATING_SYSTEM = "operating system" CONFIG_OWN_IMAGES = "own images" +CONFIG_AGGREGATION_OF = "aggregation of" CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index d6736ad..bf3fbeb 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -10,6 +10,7 @@ from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions from typing import List @@ -68,6 +69,7 @@ def to_json_ld(obj) -> dict: @return: object as dictionary @rtype: dict """ + json_ld = dict() if isinstance(obj, JsonLdObject): # if JsonLdObject add id @@ -99,6 +101,9 @@ def to_json_ld(obj) -> dict: elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code return obj.code.text + elif isinstance(obj, PermissibleValue): + # add text for enumeration values instead of code + return obj.text else: json_ld[slot_curie] = to_json_ld(value) return json_ld diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index a76df72..f653892 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -9,6 +9,7 @@ from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem @@ -90,6 +91,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) self._add_signature(os_image, gx_image) + self._add_hypervisor(os_image, gx_image) + self._add_aggregation_of(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -100,16 +103,19 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @staticmethod def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: - if os_image.architecture == "i686": - gx_image.cpuReq = CPU(cpuArchitecture="x86-32") - elif os_image.architecture in ["x86_64", "ia64"]: - gx_image.cpuReq = CPU(cpuArchitecture="x86-64") - elif os_image.architecture == "aarch6": - gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") - elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") - else: - gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) + try: + if os_image.architecture == "i686": + gx_image.cpuReq = CPU(cpuArchitecture="x86-32") + elif os_image.architecture in ["x86_64", "ia64"]: + gx_image.cpuReq = CPU(cpuArchitecture="x86-64") + elif os_image.architecture == "aarch6": + gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") + elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") + else: + gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) @staticmethod def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: @@ -526,6 +532,19 @@ def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass + def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + if os_image.hypervisor_type == "xen": + gx_image.hypervisorType = HypervisorType.Xen + elif os_image.hypervisor_type == "quemu": + gx_image.hypervisorType = "quemu" + elif os_image.hypervisor_type == "hyperv": + gx_image.hypervisorType = "Hyper-V" + else: + gx_image.hypervisorType = HypervisorType.other + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) + @staticmethod def _get_signature_algo(algo: str) -> str: if algo.startswith("SHA-"): @@ -533,5 +552,7 @@ def _get_signature_algo(algo: str) -> str: return SignatureAlgorithm.other def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: - self.config - # ToDo: add aggrenation of + try: + gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] + except KeyError: + pass From 3b8e28aa149dd051eb9277be823b1c4badc73855 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 15 Jan 2024 15:16:24 +0100 Subject: [PATCH 020/175] Add first test case Signed-off-by: Anja Strunk --- gax-cpu.py | 36 --- .../openstack/vm_images_discovery.py | 130 +++++----- tests/connection.py | 15 ++ tests/test_vm_image_discovery.py | 231 ++++++++++++++++++ 4 files changed, 311 insertions(+), 101 deletions(-) delete mode 100644 gax-cpu.py create mode 100644 tests/connection.py create mode 100644 tests/test_vm_image_discovery.py diff --git a/gax-cpu.py b/gax-cpu.py deleted file mode 100644 index 22a8c02..0000000 --- a/gax-cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# gax-cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True \ No newline at end of file diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index f653892..4917d6b 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,5 +1,3 @@ -import os - from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -31,7 +29,21 @@ from datetime import datetime -# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +def _get_cpu_arch(os_image_arch: str) -> str: + try: + if os_image_arch == "i686": + return "x86-32" + if os_image_arch in ["x86_64", "ia64"]: + return "x86-64" + if os_image_arch == "aarch6": + return "AArch-32" + if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return "RISC-V" + return CpuArch.other.text + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) + + class VmDiscovery(): # def __init__(self) -> None: @@ -93,6 +105,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_signature(os_image, gx_image) self._add_hypervisor(os_image, gx_image) self._add_aggregation_of(os_image, gx_image) + self._add_rng_model(os_image, gx_image) + self._add_disk_format(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -101,24 +115,28 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: return gx_image - @staticmethod - def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - if os_image.architecture == "i686": - gx_image.cpuReq = CPU(cpuArchitecture="x86-32") - elif os_image.architecture in ["x86_64", "ia64"]: - gx_image.cpuReq = CPU(cpuArchitecture="x86-64") - elif os_image.architecture == "aarch6": - gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") - elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") - else: - gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) - except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + gx_image.vmImageDiskFormat = os_image.disk_format + except AttributeError: + pass + + + def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: + cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) - @staticmethod - def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + cpu.numberOfCores = os_image.hw_cpu_cores + except AttributeError: + pass + try: + cpu.numberOfThreads = os_image.hw_cpu_threads + except AttributeError: + pass + + gx_image.cpuReq = cpu + + def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. try: @@ -132,8 +150,7 @@ def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError as e: raise MissingMandatoryAttribute(e.args) - @staticmethod - def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: + def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) @@ -355,9 +372,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - - @staticmethod - def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: + def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() for l in licenses: @@ -367,8 +382,7 @@ def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: license_list.append(l) return license_list - @staticmethod - def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -376,8 +390,7 @@ def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -385,8 +398,7 @@ def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - @staticmethod - def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -394,8 +406,7 @@ def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -403,17 +414,15 @@ def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return - gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram)) + gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) except AttributeError: pass - @staticmethod - def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -421,8 +430,7 @@ def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -439,8 +447,7 @@ def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties[ 'image_description'] @@ -452,8 +459,7 @@ def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -461,45 +467,39 @@ def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") except KeyError: pass - @staticmethod - def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.licenseIncluded = os_image.properties['licenseIncluded'] except KeyError: pass - @staticmethod - def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.patchLevel = os_image.properties['patchlevel'] except KeyError: pass - @staticmethod - def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.version = os_image.properties['internal_version'] except KeyError: pass - @staticmethod - def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) + algo = self._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass - @staticmethod - def _get_checksum_algo(algo: str) -> str: + def _get_checksum_algo(self, algo: str) -> str: if algo == 'sha512': return 'sha-512' if algo == 'sha224': @@ -510,17 +510,15 @@ def _get_checksum_algo(algo: str) -> str: return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo - return ChecksumAlgorithm.other + return ChecksumAlgorithm.other.text - @staticmethod - def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.maintenance = os_image.properties['maintained_until'] except KeyError: pass - @staticmethod - def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -541,18 +539,20 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: elif os_image.hypervisor_type == "hyperv": gx_image.hypervisorType = "Hyper-V" else: - gx_image.hypervisorType = HypervisorType.other + gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: raise MissingMandatoryAttribute(e.args) - @staticmethod - def _get_signature_algo(algo: str) -> str: + def _get_signature_algo(self, algo: str) -> str: if algo.startswith("SHA-"): return "RSA-Signature" - return SignatureAlgorithm.other + return SignatureAlgorithm.other.text def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] except KeyError: pass + + def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: + gx_image.hwRngTypeOfImage = "None" diff --git a/tests/connection.py b/tests/connection.py new file mode 100644 index 0000000..dd5ee80 --- /dev/null +++ b/tests/connection.py @@ -0,0 +1,15 @@ +from openstack.image.v2.image import Image +from typing import List + + +class TestConnection: + """ + Wrap connection to OpenStack Cluster + """ + images = [] + + def __init__(self, images: List[Image]): + self.images = images + + def list_images(self): + return self.images diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py new file mode 100644 index 0000000..c0725b6 --- /dev/null +++ b/tests/test_vm_image_discovery.py @@ -0,0 +1,231 @@ +import unittest +import yaml + +from datetime import datetime + +from generator.common.json_ld import JsonLdObject +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX +from generator.common.gx_schema import WatchDogActions +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import VMImage as GX_Image + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from openstack.image.v2.image import Image as OS_Image + +from tests.connection import TestConnection + + +def _get_gx_images(): + return [JsonLdObject( + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], + copyrightOwnedBy=['Canonical'], + license=['https://ubuntu.com/legal/open-source-licences'], + resourcePolicy=['default: allow intent'], + checksum=CheckSum(checkSumCalculation='sha-512', + checkSumValue='7f8bababc2c2a948'), signature=None, + version=None, patchLevel='1.5.2', + buildDate=datetime(2023, 12, 1, 0, 0), fileSize=None, + operatingSystem=OperatingSystem(name=None, description=None, + aggregationOfResources=[], + copyrightOwnedBy=['Canonical'], + license=[ + 'https://ubuntu.com/legal/open-source-licences'], + resourcePolicy=['default: allow intent'], + checksum=None, signature=None, + version='Stable', patchLevel=None, + buildDate=None, + osDistribution='Ubuntu'), + cpuReq=CPU(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + cpuArchitecture='x86-64', + cpuFlag=[], smtEnabled=False, numberOfCores=2, numberOfThreads=4, + baseFrequency=None, + boostFrequency=None, lastLevelCacheSize=None, + thermalDesignPower=None), gpuReq=None, + ramReq=Memory(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + memorySize=MemorySize(value=0.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + memoryClass='other', memoryRank='other', eccEnabled=False, + hardwareEncryption=False), + videoRamSize=MemorySize(value=20.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + rootDiskReq=Disk(vendor=None, generation=None, + defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + diskSize=MemorySize(value=21.47483648, + unit='https://qudt.org/vocab/unit/GigaBYTE'), + diskType='other', diskBusType='scsi'), encryption=None, + checkSum=None, + secureBoot=True, vPMU=False, multiQueues=False, updateStrategy=None, + licenseIncluded=False, + maintenance=None, vmImageDiskFormat='RAW', + hypervisorType='other', + hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), + JsonLdObject( + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], + copyrightOwnedBy=['Microsoft Corporation'], + license=['https://www.microsoft.com/licensing'], + resourcePolicy=['default: allow intent'], + checksum=CheckSum(checkSumCalculation='sha-512', + checkSumValue='7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182'), + signature=None, + version=None, + patchLevel=None, + buildDate=datetime(2023, 11, 1, 0, 0), + fileSize=None, + operatingSystem=OperatingSystem(name=None, description=None, + aggregationOfResources=[], + copyrightOwnedBy=['Microsoft Corporation'], + license=['https://www.microsoft.com/licensing'], + resourcePolicy=['default: allow intent'], + checksum=None, signature=None, + version='Stable', patchLevel=None, buildDate=None, + osDistribution='Microsoft Windows'), + cpuReq=CPU(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, cpuArchitecture='x86-64', cpuFlag=[], + smtEnabled=False, numberOfCores=2, numberOfThreads=4, baseFrequency=None, + boostFrequency=None, lastLevelCacheSize=None, thermalDesignPower=None), + gpuReq=None, + ramReq=Memory(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + memorySize=MemorySize(value=0.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + memoryClass='other', memoryRank='other', + eccEnabled=False, hardwareEncryption=False), + videoRamSize=MemorySize(value=20.0, unit='https://qudt.org/vocab/unit/MegaBYTE'), + rootDiskReq=Disk(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + diskSize=MemorySize(value=21.47483648, + unit='https://qudt.org/vocab/unit/GigaBYTE'), + diskType='other', diskBusType='scsi'), + encryption=None, + checkSum=None, + secureBoot=True, + vPMU=False, + multiQueues=False, + updateStrategy=None, + licenseIncluded=False, maintenance=None, vmImageDiskFormat='RAW', hypervisorType='other', + firmwareType='other', hwRngTypeOfImage='None', watchDogAction='reset'))] + + +def _get_os_images(): + return [OS_Image(hw_scsi_model="virtio - scsi", + os_distro="ubuntu", + hw_watchdog_action="reset", + hw_rng_model="virtio", + os_version="Stable", + hypervisor_type="qemu", + hw_video_ram=20, + hw_vif_multiqueue_enabled=True, + hw_pmu=False, + hw_firmware_type="bios", + hw_disk_bus="scsi", + hw_cpu_cores=2, + hw_cpu_threads=4, + architecture="x86_64", + name="Image1", + disk_format="raw", + container_format="bare", + needs_secure_boot=True, + size="9116319744", + virtual_size="9116319744", + checksum="a516d5aea8ebc358dd316dd67266a2ba", + min_ram=0, + min_disk=20, + owner="477ba6f14a5b43abe85b2966be7ebe136", + os_hash_algo="sha512", + os_hash_value="7f8bababc2c2a948", + id="94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + signatureValue="f8bababc2c2a948807473837504760432b99a3dac81629da77142328a9f638fe34371f", + hashAlgorithm="SHA-224", + signatureAlgorithm="ECC-CURVES", + properties={ + 'image_build_date': '2023-12-01', + 'hotfix_hours': '0', + 'image_description': 'Image 1', + 'provided_until': 'none', + 'replace_frequency': 'monthly', + 'uuid_validity': 'last-3', + 'patchlevel': '1.5.2' + }), + OS_Image(hw_scsi_model="virtio - scsi", + os_distro="windows", + hw_watchdog_action="reset", + hw_rng_model="virtio", + os_version="Stable", + hypervisor_type="qemu", + hw_video_ram=20, + hw_vif_multiqueue_enabled=True, + hw_pmu=False, + hw_firmware_type="bios", + hw_disk_bus="scsi", + hw_cpu_cores=2, + hw_cpu_threads=4, + architecture="x86_64", + name="Image2", + disk_format="raw", + container_format="bare", + needs_secure_boot=True, + size="9116319744", + virtual_size="9116319744", + checksum="a516d5aea8ebc358dd316dd67266a2ba", + min_ram=0, + min_disk=20, + owner="477ba6f14a5b43abe85b2966be7ebe136", + os_hash_algo="sha512", + os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", + id="94453c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + properties={ + 'image_build_date': '2023-11-01', + 'hotfix_hours': '4', + 'image_description': 'Image 2', + 'provided_until': 'none', + 'replace_frequency': 'weekly', + 'uuid_validity': 'last-3', + 'license_required': True, + 'license_included': False, + 'subscription_required': True, + 'subscription_included': False, + 'maintained_until': datetime.strptime("2024-05-31", "%Y-%m-%d") + + })] + +class VMImageDiscoveryTestcase(unittest.TestCase): + def setUp(self): + with open('../config/config.yaml', 'r') as config_file: + self.config = yaml.safe_load(config_file) + self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) + + def test_discovery_vm_images(self): + actual_gax_images = self.discovery.discover_vm_images() + expected_gax_images = _get_gx_images() + + self.assertEqual(len(expected_gax_images), len(expected_gax_images)) + + count = 0 + for image_1 in actual_gax_images: + for image_2 in expected_gax_images: + if image_1.gx_id == image_2.gx_id: + self._assert_equal(image_1, image_2) + + def _assert_equal(self, image_1: JsonLdObject, image_2: JsonLdObject): + self.assertEqual(image_1.gx_id, image_2.gx_id,"Wrong 'gx_id'") + self.assertEqual(image_1.gx_object.aggregationOfResources, image_2.gx_object.aggregationOfResources,"aggregationOf") + + +if __name__ == '__main__': + unittest.main() From 5676a2c41ff1fa8483ba34049992978719feeb97 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 09:54:56 +0100 Subject: [PATCH 021/175] Add unit tests Signed-off-by: Anja Strunk --- test.py | 0 tests/common.py | 171 +++++++++++++++++++++++++++++++ tests/test_vm_image_discovery.py | 73 +++++++++---- 3 files changed, 223 insertions(+), 21 deletions(-) delete mode 100644 test.py create mode 100644 tests/common.py diff --git a/test.py b/test.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/common.py b/tests/common.py new file mode 100644 index 0000000..f373bf8 --- /dev/null +++ b/tests/common.py @@ -0,0 +1,171 @@ +import unittest + +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import CodeArtifact +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Device +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Encryption +from generator.common.gx_schema import GaiaXEntity +from generator.common.gx_schema import GPU +from generator.common.gx_schema import Hypervisor +from generator.common.gx_schema import Image +from generator.common.gx_schema import Memory +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Resource +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SoftwareResource +from generator.common.gx_schema import VirtualResource +from generator.common.gx_schema import VMImage + + +class OpenstackTestcase(unittest.TestCase): + def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): + self.assertEqual(ob_1.name, ob_2.name, + "GaiaXEntity.name") + self.assertEqual(ob_1.description, ob_2.description, + "GaiaXEntity.description") + + def check_resource(self, ob_1: Resource, ob_2: Resource): + self.assertEqual(ob_1.aggregationOfResources, ob_2.aggregationOfResources, + "Resource.aggregationOf") + + def check_virtual_resource(self, ob_1: VirtualResource, ob_2: VirtualResource): + self.check_resource(ob_1, ob_2) + self.assertEqual(ob_1.copyrightOwnedBy, ob_2.copyrightOwnedBy, + "VirtualResource.copyrightOwnedBy") + self.assertEqual(ob_1.license, ob_2.license, + "VirtualResource.license") + self.assertEqual(ob_1.resourcePolicy, ob_2.resourcePolicy, + "VirtualResource.resourcePolicy") + + def check_software_resource(self, ob_1: SoftwareResource, ob_2: SoftwareResource): + self.check_virtual_resource(ob_1, ob_2) + if ob_1.checksum: + self.check_checksum(ob_1.checksum, ob_2.checksum) + if ob_1.signature: + self.check_signature(ob_1.signature, ob_2.signature) + self.assertEqual(ob_1.version, ob_2.version, "SoftwareResource.version") + self.assertEqual(ob_1.patchLevel, ob_2.patchLevel, "SoftwareResource.patchLevel") + self.assertEqual(ob_1.buildDate, ob_2.buildDate, "SoftwareResource.buildDate") + + def check_checksum(self, ob_1: CheckSum, ob_2: CheckSum): + self.assertEqual(ob_1.checkSumCalculation, + ob_2.checkSumCalculation, + "Checksum.checkSumCalculation") + self.assertEqual(ob_1.checkSumValue, ob_2.checkSumValue, + "Checksum.checkSumValue") + + def check_signature(self, ob_1: Signature, ob_2: Signature): + self.assertEqual(ob_1.signatureValue, + ob_2.signatureValue, + "Signature.signatureValue") + self.assertEqual(ob_1.signatureAlgorithm, + ob_2.signatureAlgorithm, + "Signature.signatureAlgorithm") + self.assertEqual(ob_1.hashAlgorithm, + ob_2.hashAlgorithm, + "Signature.hashAlgorithm") + + def check_encryption(self, ob_1: Encryption, ob_2: Encryption): + self.assertEqual(ob_1.cipher, + ob_2.cipher, + "Encryption.cipher") + self.assertEqual(ob_1.keyManagement, + ob_2.keyManagement, + "Encryption.keyManagement") + + def check_operating_system(self, ob_1: OperatingSystem, ob_2: OperatingSystem): + self.check_software_resource(ob_1, ob_2) + self.assertEqual(ob_1.osDistribution, + ob_2.osDistribution, + "OperatingSystem.osDistribution") + + def check_hypervisor(self, ob_1: Hypervisor, ob_2: Hypervisor): + self.check_software_resource(ob_1, ob_2) + self.assertEqual(ob_1.hypervisorType, + ob_2.hypervisorType, + "Hypervisor.hypervisorType") + + def check_device(self, ob_1: Device, ob_2: Device): + self.assertEqual(ob_1.vendor, ob_2.vendor, "Device.vendor") + self.assertEqual(ob_1.generation, ob_2.generation, "Device.generation") + self.assertEqual(ob_1.defaultOversubscriptionRatio, ob_2.defaultOversubscriptionRatio, + "Device.defaultOversubscriptionRatio") + self.assertEqual(ob_1.supportedOversubscriptionRatio, ob_2.supportedOversubscriptionRatio, + "Device.supportedOversubscriptionRatio") + + def check_disk(self, ob_1: Disk, ob_2: Disk): + self.assertEqual(ob_1.diskSize.value, ob_2.diskSize.value, "Disk.diskSize.value") + self.assertEqual(ob_1.diskSize.unit, ob_2.diskSize.unit, "Disk.diskSize.unit") + self.assertEqual(ob_1.diskType, ob_2.diskType, "Disk.diskType") + self.assertEqual(ob_1.diskBusType, ob_2.diskBusType, "Disk.diskBusType") + + def check_cpu(self, ob_1: CPU, ob_2: CPU): + self.assertEqual(ob_1.cpuArchitecture, ob_2.cpuArchitecture, "CPU.cpuArchitecture") + self.assertEqual(ob_1.cpuFlag, ob_2.cpuFlag, "CPU.cpuFlag") + self.assertEqual(ob_1.smtEnabled, ob_2.smtEnabled, "CPU.smtEnabled") + self.assertEqual(ob_1.numberOfCores, ob_2.numberOfCores, "CPU.numberOfCores") + self.assertEqual(ob_1.numberOfThreads, ob_2.numberOfThreads, "CPU.numberOfThreads") + self.assertEqual(ob_1.baseFrequency, ob_2.baseFrequency, "CPU.baseFrequency") + self.assertEqual(ob_1.boostFrequency, ob_2.boostFrequency, "CPU.boostFrequency") + self.assertEqual(ob_1.lastLevelCacheSize, ob_2.lastLevelCacheSize, "CPU.lastLevelCacheSize") + self.assertEqual(ob_1.thermalDesignPower, ob_2.thermalDesignPower, "CPU.thermalDesignPower") + + def check_gpu(self, ob_1: GPU, ob_2: GPU): + pass + + def check_mem(self, ob_1: Memory, ob_2: Memory): + self.assertEqual(ob_1.memorySize.value, ob_2.memorySize.value, "Memory.memorySize.value") + self.assertEqual(ob_1.memorySize.unit, ob_2.memorySize.unit, "Memory.memorySize.unit") + self.assertEqual(ob_1.memoryClass, ob_2.memoryClass, "Memory.memoryClass") + self.assertEqual(ob_1.memoryRank, ob_2.memoryRank, "Memory.memoryRank") + self.assertEqual(ob_1.eccEnabled, ob_2.eccEnabled, "Memory.eccEnabled") + self.assertEqual(ob_1.hardwareEncryption, ob_2.hardwareEncryption, "Memory.hardwareEncryption") + + def check_code_artifact(self, ob_1: CodeArtifact, ob_2: CodeArtifact): + self.check_gaia_x_entity(ob_1, ob_2) + + def check_image(self, ob_1: Image, ob_2: Image): + self.check_code_artifact(ob_1, ob_1) + self.assertEqual(ob_1.fileSize, ob_2.fileSize, "Image.fileSize") + if ob_1.operatingSystem: + self.check_operating_system(ob_1.operatingSystem, ob_2.operatingSystem) + if ob_1.cpuReq: + self.check_cpu(ob_1.cpuReq, ob_2.cpuReq) + if ob_1.gpuReq: + self.check_gpu(ob_1.gpuReq, ob_2.gpuReq) + if ob_1.ramReq: + self.check_mem(ob_1.ramReq, ob_2.ramReq) + if ob_1.videoRamSize: + self.assertEqual(ob_1.videoRamSize.value, ob_2.videoRamSize.value, "VideoRamSize.value") + self.assertEqual(ob_1.videoRamSize.unit, ob_2.videoRamSize.unit, "VideoRamSize.unit") + if ob_1.encryption: + self.check_encryption(ob_1.encryption, ob_2.encryption) + if ob_1.checksum: + self.check_checksum(ob_1.checksum, ob_2.checksum) + + self.assertEqual(ob_1.secureBoot, ob_2.secureBoot, "Image.secureBoot") + self.assertEqual(ob_1.vPMU, ob_2.vPMU, "Image.vPMU") + self.assertEqual(ob_1.multiQueues, ob_2.multiQueues, "Image.multiQueues") + + if ob_1.updateStrategy: + self.assertEqual(ob_1.updateStrategy.replaceFrequency, ob_2.updateStrategy.replaceFrequency, + "Image.updateStrategy.replaceFrequency") + self.assertEqual(ob_1.updateStrategy.hotfixHours, ob_2.updateStrategy.hotfixHours, + "Image.updateStrategy.hotfixHours") + self.assertEqual(ob_1.updateStrategy.oldVersionsValidUntil, ob_2.updateStrategy.oldVersionsValidUntil, + "Image.updateStrategy.oldVersionsValidUntil") + self.assertEqual(ob_1.updateStrategy.providedUntil, ob_2.updateStrategy.providedUntil, + "Image.updateStrategy.providedUntil") + + self.assertEqual(ob_1.licenseIncluded, ob_2.licenseIncluded, "Image.licenseIncluded") + self.assertEqual(ob_1.maintenance, ob_2.maintenance, "Image.maintenance") + + def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): + self.check_image(ob_1, ob_2) + self.assertEqual(ob_1.vmImageDiskFormat, str(ob_2.vmImageDiskFormat), "VM_Image.vmImageDiskFormat") + self.assertEqual(ob_1.hypervisorType, str(ob_2.hypervisorType), "VM_Image.hypervisorType") + self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") + self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") + self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index c0725b6..a7b334f 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -4,31 +4,27 @@ from datetime import datetime from generator.common.json_ld import JsonLdObject -from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk -from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX from generator.common.gx_schema import WatchDogActions -from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import VMImage as GX_Image +from generator.common.json_ld import to_json_ld + from generator.discovery.openstack.vm_images_discovery import VmDiscovery from openstack.image.v2.image import Image as OS_Image +from tests.common import OpenstackTestcase from tests.connection import TestConnection def _get_gx_images(): return [JsonLdObject( - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_id='image_1', gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], copyrightOwnedBy=['Canonical'], license=['https://ubuntu.com/legal/open-source-licences'], @@ -75,7 +71,7 @@ def _get_gx_images(): hypervisorType='other', hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), JsonLdObject( - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_id='image_2', gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], copyrightOwnedBy=['Microsoft Corporation'], license=['https://www.microsoft.com/licensing'], @@ -138,7 +134,7 @@ def _get_os_images(): hw_cpu_threads=4, architecture="x86_64", name="Image1", - disk_format="raw", + disk_format='RAW', container_format="bare", needs_secure_boot=True, size="9116319744", @@ -149,7 +145,7 @@ def _get_os_images(): owner="477ba6f14a5b43abe85b2966be7ebe136", os_hash_algo="sha512", os_hash_value="7f8bababc2c2a948", - id="94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + id="image_1", signatureValue="f8bababc2c2a948807473837504760432b99a3dac81629da77142328a9f638fe34371f", hashAlgorithm="SHA-224", signatureAlgorithm="ECC-CURVES", @@ -177,7 +173,7 @@ def _get_os_images(): hw_cpu_threads=4, architecture="x86_64", name="Image2", - disk_format="raw", + disk_format="RAW", container_format="bare", needs_secure_boot=True, size="9116319744", @@ -188,7 +184,7 @@ def _get_os_images(): owner="477ba6f14a5b43abe85b2966be7ebe136", os_hash_algo="sha512", os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", - id="94453c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + id="image_2", properties={ 'image_build_date': '2023-11-01', 'hotfix_hours': '4', @@ -201,30 +197,65 @@ def _get_os_images(): 'subscription_required': True, 'subscription_included': False, 'maintained_until': datetime.strptime("2024-05-31", "%Y-%m-%d") - })] -class VMImageDiscoveryTestcase(unittest.TestCase): + +class VMImageDiscoveryTestcase(OpenstackTestcase): def setUp(self): with open('../config/config.yaml', 'r') as config_file: self.config = yaml.safe_load(config_file) self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) def test_discovery_vm_images(self): - actual_gax_images = self.discovery.discover_vm_images() + actual_gax_images = self.discovery.discover_vm_images() expected_gax_images = _get_gx_images() self.assertEqual(len(expected_gax_images), len(expected_gax_images)) - count = 0 for image_1 in actual_gax_images: for image_2 in expected_gax_images: if image_1.gx_id == image_2.gx_id: - self._assert_equal(image_1, image_2) + self.check_vm_image(image_1.gx_object, image_2.gx_object) + + def test_json_ld(self): + jsond = { + '@id': 'ex:image_1', '@type': 'gx:VMImage', 'gx:name': 'Image1', 'gx:description': 'Image 1_ext', + 'gx:copyrightOwnedBy': ['Canonical'], 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], + 'gx:resourcePolicy': ['default: allow intent'], + 'gx:checksum': {'@type': 'gx:CheckSum', 'gx:checkSumCalculation': 'sha-512', + 'gx:checkSumValue': '7f8bababc2c2a948'}, 'gx:patchLevel': '1.5.2', + 'gx:buildDate': '2023-12-01T00:00:00', + 'gx:operatingSystem': {'@type': 'gx:OperatingSystem', 'gx:copyrightOwnedBy': ['Canonical'], + 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], + 'gx:resourcePolicy': ['default: allow intent'], 'gx:version': 'Stable', + 'gx:osDistribution': 'Ubuntu'}, + 'gx:cpuReq': {'@type': 'gx:CPU', 'gx:cpuArchitecture': 'x86-64', + 'gx:smtEnabled': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:numberOfCores': 2, + 'gx:numberOfThreads': 4}, 'gx:ramReq': {'@type': 'gx:Memory', + 'gx:memorySize': {'@type': 'gx:MemorySize', + 'qudt:value': {'@type': 'xsd:float', + '@value': '0.0'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, + 'gx:memoryClass': 'other', 'gx:memoryRank': 'other', + 'gx:eccEnabled': {'@type': 'xsd:boolean', + '@value': 'False'}, + 'gx:hardwareEncryption': {'@type': 'xsd:boolean', + '@value': 'False'}}, + 'gx:videoRamSize': {'@type': 'gx:MemorySize', 'qudt:value': {'@type': 'xsd:float', '@value': '20.0'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, + 'gx:rootDiskReq': {'@type': 'gx:Disk', 'gx:diskSize': {'@type': 'gx:MemorySize', + 'qudt:value': {'@type': 'xsd:float', + '@value': '21.47483648'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/GigaBYTE'}, + 'gx:diskType': 'other', 'gx:diskBusType': 'scsi'}, + 'gx:secureBoot': {'@type': 'xsd:boolean', '@value': 'True'}, + 'gx:vPMU': {'@type': 'xsd:boolean', '@value': 'False'}, + 'gx:multiQueues': {'@type': 'xsd:boolean', '@value': 'False'}, + 'gx:licenseIncluded': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:vmImageDiskFormat': 'RAW', + 'gx:hypervisorType': 'other', 'gx:firmwareType': 'other', 'gx:hwRngTypeOfImage': 'None', + 'gx:watchDogAction': 'reset'} - def _assert_equal(self, image_1: JsonLdObject, image_2: JsonLdObject): - self.assertEqual(image_1.gx_id, image_2.gx_id,"Wrong 'gx_id'") - self.assertEqual(image_1.gx_object.aggregationOfResources, image_2.gx_object.aggregationOfResources,"aggregationOf") + self.assertEqual(jsond, to_json_ld(_get_gx_images()[0])) if __name__ == '__main__': From e9e12ed935c080f8653121e0d0e08fb6db03acfd Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 10:55:57 +0100 Subject: [PATCH 022/175] Add shacl validation Signed-off-by: Anja Strunk --- generator/common/json_ld.py | 10 +- generator/data.json | 0 .../openstack/vm_images_discovery.py | 18 +- requirements.txt | 1 + tests/common.py | 15 + tests/connection.py | 15 - tests/gaia-x.shacl.ttl | 2281 +++++++++++++++++ tests/test_vm_image_discovery.py | 54 +- 8 files changed, 2333 insertions(+), 61 deletions(-) delete mode 100644 generator/data.json delete mode 100644 tests/connection.py create mode 100644 tests/gaia-x.shacl.ttl diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index bf3fbeb..1a740ae 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -111,27 +111,27 @@ def to_json_ld(obj) -> dict: # Add type for datetime return { "@type": "xsd:dateTime", - "@value": str(obj)} + "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} elif isinstance(obj, date): # add type for date return { "@type": "xsd:date", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, float): # add type for float return { "@type": "xsd:float", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, URI): # add type for URI return { "@type": "xsd:anyURI", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, bool): # add type for boolean return { "@type": "xsd:boolean", - "@value": str(obj)} + "@value": obj} else: return obj diff --git a/generator/data.json b/generator/data.json deleted file mode 100644 index e69de29..0000000 diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 4917d6b..aa5d6ba 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -7,6 +7,7 @@ from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import DiskTypes from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize @@ -28,6 +29,8 @@ from datetime import datetime +import yaml + def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -46,7 +49,7 @@ def _get_cpu_arch(os_image_arch: str) -> str: class VmDiscovery(): - # def __init__(self) -> None: + #def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) @@ -117,7 +120,18 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.vmImageDiskFormat = os_image.disk_format + if os_image.disk_format.lower() == "raw": + gx_image.vmImageDiskFormat = "RAW" + if os_image.disk_format.lower() == "qcow2": + gx_image.vmImageDiskFormat = "QCOW2" + if os_image.disk_format.lower() == "vhd": + gx_image.vmImageDiskFormat = "VHD" + if os_image.disk_format.lower() == "iso": + gx_image.vmImageDiskFormat = "ISO" + if os_image.disk_format.lower() == "cvf": + gx_image.vmImageDiskFormat = "CVF" + if os_image.disk_format.lower() == "cva": + gx_image.vmImageDiskFormat = "CVA" except AttributeError: pass diff --git a/requirements.txt b/requirements.txt index 80b4586..080f932 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ kubernetes==26.1.0 openstacksdk==1.1.* PyYAML==6.* click==8.1.7 +pyshacl==0.25.0 diff --git a/tests/common.py b/tests/common.py index f373bf8..a9d5e33 100644 --- a/tests/common.py +++ b/tests/common.py @@ -18,6 +18,8 @@ from generator.common.gx_schema import VirtualResource from generator.common.gx_schema import VMImage +from typing import List + class OpenstackTestcase(unittest.TestCase): def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): @@ -169,3 +171,16 @@ def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") + + +class TestConnection: + """ + Wrap connection to OpenStack Cluster + """ + images = [] + + def __init__(self, images: List[Image]): + self.images = images + + def list_images(self): + return self.images diff --git a/tests/connection.py b/tests/connection.py deleted file mode 100644 index dd5ee80..0000000 --- a/tests/connection.py +++ /dev/null @@ -1,15 +0,0 @@ -from openstack.image.v2.image import Image -from typing import List - - -class TestConnection: - """ - Wrap connection to OpenStack Cluster - """ - images = [] - - def __init__(self, images: List[Image]): - self.images = images - - def list_images(self): - return self.images diff --git a/tests/gaia-x.shacl.ttl b/tests/gaia-x.shacl.ttl new file mode 100644 index 0000000..c34efa5 --- /dev/null +++ b/tests/gaia-x.shacl.ttl @@ -0,0 +1,2281 @@ +@prefix gx: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass . + +gx:CodeArtifact a sh:NodeShape ; + sh:closed false ; + sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Code Artifact" ; + sh:property [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ] ; + sh:targetClass gx:CodeArtifact . + +gx:DataResource a sh:NodeShape ; + sh:closed false ; + sh:description "A dataset exposed through a service instance." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Resource" ; + sh:property [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to participant legally enabling the data usage." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "produced by" ; + sh:order 0 ; + sh:path gx:producedBy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 7 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:Participant ; + sh:description "data controller Participant as defined in GDPR." ; + sh:name "data controller" ; + sh:order 5 ; + sh:path gx:dataController ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 9 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:boolean ; + sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "contains PII" ; + sh:order 4 ; + sh:path gx:containsPII ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; + sh:maxCount 1 ; + sh:name "expiration dateTime" ; + sh:order 3 ; + sh:path gx:expirationDateTime ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is obsolete." ; + sh:maxCount 1 ; + sh:name "obsolete dateTime" ; + sh:order 2 ; + sh:path gx:obsoleteDateTime ], + [ sh:class gx:Consent ; + sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; + sh:name "consent" ; + sh:order 6 ; + sh:path gx:consent ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 8 ; + sh:path gx:license ], + [ sh:class gx:DataExchangeComponent ; + sh:description "A resolvable link to the data exchange component that exposes the data resource." ; + sh:minCount 1 ; + sh:name "exposed through" ; + sh:order 1 ; + sh:path gx:exposedThrough ] ; + sh:targetClass gx:DataResource . + +gx:Device a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 3 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 2 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 1 ; + sh:path gx:generation ] ; + sh:targetClass gx:Device . + +gx:GaiaX a sh:NodeShape ; + sh:closed false ; + sh:description "Top level element of Gaia-X ecosystem." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:GaiaX . + +gx:GaiaXEntity a sh:NodeShape ; + sh:closed false ; + sh:description "Root class for Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Gaia-X Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:GaiaXEntity . + +gx:Hypervisor a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:hypervisorType ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ] ; + sh:targetClass gx:Hypervisor . + +gx:Image a sh:NodeShape ; + sh:closed false ; + sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Image" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 21 ; + sh:path gx:license ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:checkSum ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 5 ; + sh:path gx:videoRamSize ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:version ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 1 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 25 ; + sh:path gx:description ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 20 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 0 ; + sh:path gx:fileSize ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 6 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 13 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 19 ; + sh:path gx:buildDate ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 2 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 11 ; + sh:path gx:multiQueues ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 24 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 22 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 3 ; + sh:path gx:gpuReq ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 4 ; + sh:path gx:ramReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:updateStrategy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 23 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 9 ; + sh:path gx:secureBoot ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 18 ; + sh:path gx:patchLevel ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 10 ; + sh:path gx:vPMU ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:checksum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:encryption ] ; + sh:targetClass gx:Image . + +gx:InstantiationRequirement a sh:NodeShape ; + sh:closed false ; + sh:description "A container class to gather all requirements for compute service offering instantiations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Instantiation Requirement" ; + sh:targetClass gx:InstantiationRequirement . + +gx:Issuer a sh:NodeShape ; + sh:closed false ; + sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; + sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 0 ; + sh:path gx:issuerTermsAndConditions ] ; + sh:targetClass gx:Issuer . + +gx:PXEImage a sh:NodeShape ; + sh:closed false ; + sh:description "PXE image for physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "PXE image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 4 ; + sh:path gx:gpuReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 23 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:checkSum ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:signature ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 5 ; + sh:path gx:ramReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 2 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path gx:version ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 20 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 26 ; + sh:path gx:description ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 21 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 22 ; + sh:path gx:license ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 24 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 6 ; + sh:path gx:videoRamSize ], + [ sh:description "Disk format. Default \"ISO\"." ; + sh:in ( "WINPE" "ISO" ) ; + sh:maxCount 1 ; + sh:name "disk format" ; + sh:order 0 ; + sh:path gx:pxeImageDiskFormat ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:maintenance ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 3 ; + sh:path gx:cpuReq ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:checksum ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 12 ; + sh:path gx:multiQueues ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 19 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 14 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 10 ; + sh:path gx:secureBoot ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 1 ; + sh:path gx:fileSize ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 7 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 11 ; + sh:path gx:vPMU ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:updateStrategy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 25 ; + sh:path gx:name ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:encryption ] ; + sh:targetClass gx:PXEImage . + +gx:RegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:RegistrationNumber . + +gx:Resource a sh:NodeShape ; + sh:closed false ; + sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 1 ; + sh:path gx:name ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 0 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 2 ; + sh:path gx:description ] ; + sh:targetClass gx:Resource . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass . + +gx:ConfidentialComputing a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Particular confidential computing technology used by the flavors as defined in..." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:technology ], + [ sh:datatype xsd:anyURI ; + sh:description "indicates whether confidential server has an associated attestation service." ; + sh:maxCount 1 ; + sh:name "attestation service URI" ; + sh:order 1 ; + sh:path gx:attestationServiceURI ] ; + sh:targetClass gx:ConfidentialComputing . + +gx:Consent a sh:NodeShape ; + sh:closed false ; + sh:description "Information on the legitimate processing of information related to PII." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Consent" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; + sh:minCount 1 ; + sh:name "purpose" ; + sh:order 2 ; + sh:path gx:purpose ], + [ sh:datatype xsd:string ; + sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal Basis" ; + sh:order 0 ; + sh:path gx:legalBasis ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; + sh:minCount 1 ; + sh:name "consent withdrawal contact point" ; + sh:order 3 ; + sh:path gx:consentWithdrawalContactPoint ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; + sh:minCount 1 ; + sh:name "data protection contact point" ; + sh:order 1 ; + sh:path gx:dataProtectionContactPoint ] ; + sh:targetClass gx:Consent . + +gx:DataExchangeComponent a sh:NodeShape ; + sh:closed false ; + sh:description "A service/resource used to make a data resource available." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Exchange Component" ; + sh:targetClass gx:DataExchangeComponent . + +gx:EORI a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The Economic Operators Registration and Identification number (EORI)." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:eori ] ; + sh:targetClass gx:EORI . + +gx:EUID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:euid ] ; + sh:targetClass gx:EUID . + +gx:GPSLocation a sh:NodeShape ; + sh:closed false ; + sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "latitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 0 ; + sh:path gx:latitude ], + [ sh:datatype xsd:string ; + sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; + sh:maxCount 1 ; + sh:name "crs" ; + sh:order 3 ; + sh:path gx:crs ; + sh:pattern "^CRS" ], + [ sh:datatype xsd:string ; + sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; + sh:maxCount 1 ; + sh:name "altitude" ; + sh:order 2 ; + sh:path gx:altitude ], + [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "longitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 1 ; + sh:path gx:longitude ] ; + sh:targetClass gx:GPSLocation . + +gx:LatestN a sh:NodeShape ; + sh:closed false ; + sh:description "Number of latest N outdated image versions, which will be valid." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:order 0 ; + sh:path gx:value ] ; + sh:targetClass gx:LatestN . + +gx:LeiCode a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unique LEI number as defined by https://www.gleif.org." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:LeiCode . + +gx:LocalRegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The state issued company number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:local ] ; + sh:targetClass gx:LocalRegistrationNumber . + +gx:Participant a sh:NodeShape ; + sh:closed false ; + sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:Participant . + +gx:ServerFlavor a sh:NodeShape ; + sh:closed false ; + sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Server Flavor" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; + sh:maxCount 1 ; + sh:name "Hardware-assisted virtualization" ; + sh:order 8 ; + sh:path gx:hardwareAssistedVirtualization ], + [ sh:class gx:CPU ; + sh:description "CPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "CPU requirements" ; + sh:order 0 ; + sh:path gx:cpu ], + [ sh:class gx:SoftwareResource ; + sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:hypervisor ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 9 ; + sh:path gx:hwRngTypeOfFlavor ], + [ sh:datatype xsd:string ; + sh:description "Network capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:network ], + [ sh:class gx:Disk ; + sh:description "Boot volume capabilities of boot volume of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "boot volume" ; + sh:order 4 ; + sh:path gx:bootVolume ], + [ sh:class gx:ConfidentialComputing ; + sh:description "Details with respect to confidential computing capabilities of the flavor." ; + sh:maxCount 1 ; + sh:name "confidential computing" ; + sh:order 6 ; + sh:path gx:confidentialComputing ], + [ sh:class gx:GPU ; + sh:description "GPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:gpu ], + [ sh:class gx:Memory ; + sh:description "Size of RAM of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:ram ], + [ sh:class gx:Disk ; + sh:description "Additional volume capabilities of boot volume of the flavor." ; + sh:name "additional volume" ; + sh:order 5 ; + sh:path gx:additionalVolume ] ; + sh:targetClass gx:ServerFlavor . + +gx:StandardConformity a sh:NodeShape ; + sh:closed false ; + sh:description "Details about standard applied to Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Name of the standard." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "title" ; + sh:order 0 ; + sh:path gx:title ], + [ sh:datatype xsd:anyURI ; + sh:description "Provides a link to schemas or details about applied standards." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "standard reference" ; + sh:order 1 ; + sh:path gx:standardReference ], + [ sh:datatype xsd:string ; + sh:description "Publisher of the standard." ; + sh:maxCount 1 ; + sh:name "publisher" ; + sh:order 2 ; + sh:path gx:publisher ] ; + sh:targetClass gx:StandardConformity . + +gx:VMImage a sh:NodeShape ; + sh:closed false ; + sh:description "Image for virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "VM image" ; + sh:property [ sh:description "Define the action to be performed if server hangs." ; + sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; + sh:maxCount 1 ; + sh:name "Watchdog action" ; + sh:order 4 ; + sh:path gx:watchDogAction ], + [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; + sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; + sh:maxCount 1 ; + sh:name "VM Image disk format" ; + sh:order 0 ; + sh:path gx:vmImageDiskFormat ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 8 ; + sh:path gx:gpuReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 6 ; + sh:path gx:operatingSystem ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 28 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path gx:version ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 10 ; + sh:path gx:videoRamSize ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 23 ; + sh:path gx:patchLevel ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 26 ; + sh:path gx:license ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:encryption ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:checkSum ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 24 ; + sh:path gx:buildDate ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 5 ; + sh:path gx:fileSize ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 29 ; + sh:path gx:name ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 9 ; + sh:path gx:ramReq ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 25 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 16 ; + sh:path gx:multiQueues ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:updateStrategy ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 11 ; + sh:path gx:rootDiskReq ], + [ sh:description "Hypervisor type required by the image" ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:name "Hypervisor type" ; + sh:order 1 ; + sh:path gx:hypervisorType ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 14 ; + sh:path gx:secureBoot ], + [ sh:description "Type of firmware which which guests are booted." ; + sh:in ( "BIOS" "UEFI" "other" ) ; + sh:maxCount 1 ; + sh:name "Firmware type" ; + sh:order 2 ; + sh:path gx:firmwareType ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 3 ; + sh:path gx:hwRngTypeOfImage ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 30 ; + sh:path gx:description ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 18 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 15 ; + sh:path gx:vPMU ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 7 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 27 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:VMImage . + +gx:VatID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The VAT identification number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:vatID ] ; + sh:targetClass gx:VatID . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:GPSUnit a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of a geographical point." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "minutes" ; + sh:order 1 ; + sh:path gx:minutes ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:maxInclusive 1 ; + sh:minInclusive 0 ; + sh:name "decimals" ; + sh:order 3 ; + sh:path gx:decimals ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 180 ; + sh:minCount 1 ; + sh:minInclusive -180 ; + sh:name "degrees" ; + sh:order 0 ; + sh:path gx:degrees ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "seconds" ; + sh:order 2 ; + sh:path gx:seconds ] ; + sh:targetClass gx:GPSUnit . + +gx:Encryption a sh:NodeShape ; + sh:closed false ; + sh:description "Encryption capabilities of a Gaia-X entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Supported algorithm used to encrypt." ; + sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "encryption algorithm" ; + sh:order 0 ; + sh:path gx:cipher ], + [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; + sh:in ( "BYOK" "HYOK" "managed" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "key management" ; + sh:order 1 ; + sh:path gx:keyManagement ] ; + sh:targetClass gx:Encryption . + +gx:MaintenanceSubscription a sh:NodeShape ; + sh:closed false ; + sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; + sh:maxCount 1 ; + sh:name "Subscription required" ; + sh:order 1 ; + sh:path gx:subscriptionRequired ], + [ sh:datatype xsd:date ; + sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; + sh:maxCount 1 ; + sh:name "Maintenance until" ; + sh:order 2 ; + sh:path gx:maintainedUntil ], + [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; + sh:maxCount 1 ; + sh:name "Subscription included" ; + sh:order 0 ; + sh:path gx:subscriptionIncluded ] ; + sh:targetClass gx:MaintenanceSubscription . + +gx:UpdateStrategy a sh:NodeShape ; + sh:closed false ; + sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; + sh:maxCount 1 ; + sh:name "Provided until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; + sh:order 3 ; + sh:path gx:providedUntil ], + [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; + sh:maxCount 1 ; + sh:name "Old versions Valid until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; + sh:order 2 ; + sh:path gx:oldVersionsValidUntil ], + [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; + sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; + sh:maxCount 1 ; + sh:name "Replace Frequency" ; + sh:order 0 ; + sh:path gx:replaceFrequency ], + [ sh:datatype xsd:integer ; + sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; + sh:maxCount 1 ; + sh:minInclusive 0 ; + sh:name "Hotfix hours" ; + sh:order 1 ; + sh:path gx:hotfixHours ] ; + sh:targetClass gx:UpdateStrategy . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Full address of the entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "String of a street-address" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ], + [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; + sh:order 0 ; + sh:path gx:countryCode ], + [ sh:class gx:GPSLocation ; + sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; + sh:order 1 ; + sh:path gx:gps ], + [ sh:datatype xsd:string ; + sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "the street address of a postal address" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ] ; + sh:targetClass . + +gx:CPU a sh:NodeShape ; + sh:closed false ; + sh:description "Computational processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 11 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class ; + sh:description "CPU Thermal Design Power." ; + sh:maxCount 1 ; + sh:name "thermal design power" ; + sh:order 8 ; + sh:path gx:thermalDesignPower ], + [ sh:datatype xsd:integer ; + sh:description "Number of threads of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of threads" ; + sh:order 4 ; + sh:path gx:numberOfThreads ], + [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; + sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; + sh:maxCount 1 ; + sh:name "CPU architecture" ; + sh:order 0 ; + sh:path gx:cpuArchitecture ], + [ sh:datatype xsd:integer ; + sh:description "Number of cores of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of CPU cores" ; + sh:order 3 ; + sh:path gx:numberOfCores ], + [ sh:class gx:MemorySize ; + sh:description "Last Level Cache size of the CPU." ; + sh:maxCount 1 ; + sh:name "last level cache size" ; + sh:order 7 ; + sh:path gx:lastLevelCacheSize ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 12 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; + sh:maxCount 1 ; + sh:name "smt enabled" ; + sh:order 2 ; + sh:path gx:smtEnabled ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; + sh:name "CPU flags" ; + sh:order 1 ; + sh:path gx:cpuFlag ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 10 ; + sh:path gx:generation ], + [ sh:class ; + sh:description "Base frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "base CPU frequency" ; + sh:order 5 ; + sh:path gx:baseFrequency ], + [ sh:class ; + sh:description "Boost frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "boost CPU frequency" ; + sh:order 6 ; + sh:path gx:boostFrequency ] ; + sh:targetClass gx:CPU . + +gx:ComputeServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Compute Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 12 ; + sh:path gx:name ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 11 ; + sh:path gx:hostedOn ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 1 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 5 ; + sh:path gx:servicePolicy ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 6 ; + sh:path gx:dataProtectionRegime ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 0 ; + sh:path gx:tenantSeparation ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 2 ; + sh:path gx:dependsOn ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 10 ; + sh:path gx:endpoint ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 13 ; + sh:path gx:description ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 9 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 8 ; + sh:path gx:keyword ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 4 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 7 ; + sh:path gx:dataAccountExport ] ; + sh:targetClass gx:ComputeServiceOffering . + +gx:DataAccountExport a sh:NodeShape ; + sh:closed false ; + sh:description "List of methods to export data from your account out of the service." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "request type" ; + sh:order 0 ; + sh:path gx:requestType ], + [ sh:description "Type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "access type" ; + sh:order 1 ; + sh:path gx:accessType ], + [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; + sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "format type" ; + sh:order 2 ; + sh:path gx:formatType ] ; + sh:targetClass gx:DataAccountExport . + +gx:Endpoint a sh:NodeShape ; + sh:closed false ; + sh:description "An endpoint is a mean to access and interact with a service or a resource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:StandardConformity ; + sh:description "Provides information about applied standards." ; + sh:minCount 1 ; + sh:name "standard conformity" ; + sh:order 1 ; + sh:path gx:standardConformity ], + [ sh:datatype xsd:string ; + sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:formalDescription ], + [ sh:datatype xsd:anyURI ; + sh:description "The URL of the endpoint where it can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint URL" ; + sh:order 0 ; + sh:path gx:endpointURL ] ; + sh:targetClass gx:Endpoint . + +gx:GPU a sh:NodeShape ; + sh:closed false ; + sh:description "Graphical processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Interconnection of multiple GPUs within a server system" ; + sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:gpuInterconnection ], + [ sh:class gx:MemorySize ; + sh:description "Size of memory of the GPU." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:gpuMemory ], + [ sh:datatype xsd:integer ; + sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "gpu processing units" ; + sh:order 2 ; + sh:path gx:gpuProcessingUnits ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 7 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; + sh:maxCount 1 ; + sh:name "GPU path through" ; + sh:order 3 ; + sh:path gx:gpuPassthrough ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 5 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 6 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:GPU . + +gx:InfrastructureServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Infrastructure Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ] ; + sh:targetClass gx:InfrastructureServiceOffering . + +gx:Memory a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of RAM." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; + sh:maxCount 1 ; + sh:name "error correction code (ecc)" ; + sh:order 3 ; + sh:path gx:eccEnabled ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 8 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path gx:vendor ], + [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; + sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; + sh:maxCount 1 ; + sh:name "memory rank" ; + sh:order 2 ; + sh:path gx:memoryRank ], + [ sh:class gx:MemorySize ; + sh:description "Memory size of RAM." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "memory size" ; + sh:order 0 ; + sh:path gx:memorySize ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 6 ; + sh:path gx:generation ], + [ sh:description "DRAM technology name defined by JEDEC" ; + sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; + sh:maxCount 1 ; + sh:name "memory class" ; + sh:order 1 ; + sh:path gx:memoryClass ], + [ sh:datatype xsd:boolean ; + sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; + sh:maxCount 1 ; + sh:name "Hardware Encryption enabled" ; + sh:order 4 ; + sh:path gx:hardwareEncryption ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 7 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:Memory . + +gx:ServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Service Offering" ; + sh:property [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ] ; + sh:targetClass gx:ServiceOffering . + +gx:TermsAndConditions a sh:NodeShape ; + sh:closed false ; + sh:description "Terms and Conditions applying to a service offering." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "sha256 hash of the document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hash ], + [ sh:datatype xsd:anyURI ; + sh:description "A resolvable link to document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:url ] ; + sh:targetClass gx:TermsAndConditions . + +gx:VirtualMachineServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Machine Service Offering" ; + sh:property [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 13 ; + sh:path gx:hostedOn ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:servicePolicy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 5 ; + sh:path gx:aggregationOfResources ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 8 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 9 ; + sh:path gx:dataAccountExport ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 4 ; + sh:path gx:dependsOn ], + [ sh:class gx:VMImage ; + sh:description "Compute Service Code Artifacts" ; + sh:minCount 1 ; + sh:name "code artifact" ; + sh:order 0 ; + sh:path gx:codeArtifact ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 6 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 3 ; + sh:path gx:providedBy ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 11 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 14 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 12 ; + sh:path gx:endpoint ], + [ sh:class gx:ServerFlavor ; + sh:description "Set of technical requirements or conditions to instantiate this service offering." ; + sh:minCount 1 ; + sh:name "instantiation requirement" ; + sh:order 1 ; + sh:path gx:instantiationReq ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 15 ; + sh:path gx:description ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 2 ; + sh:path gx:tenantSeparation ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 10 ; + sh:path gx:keyword ] ; + sh:targetClass gx:VirtualMachineServiceOffering . + +gx:Disk a sh:NodeShape ; + sh:closed false ; + sh:description "Capabilities of a physical or virtual hard drive." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "The type of storage drive." ; + sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; + sh:maxCount 1 ; + sh:name "Disk Type" ; + sh:order 1 ; + sh:path gx:diskType ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 5 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Type of disk controller the disk is attached to." ; + sh:maxCount 1 ; + sh:name "Disk Bus Type" ; + sh:order 2 ; + sh:path gx:diskBusType ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:vendor ], + [ sh:class gx:MemorySize ; + sh:description "The size of the hard drive." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Disk size" ; + sh:order 0 ; + sh:path gx:diskSize ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 4 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 6 ; + sh:path gx:supportedOversubscriptionRatio ] ; + sh:targetClass gx:Disk . + +gx:SoftwareResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Gaia-X Virtual Resource describing an executable program." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Software Resource" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ] ; + sh:targetClass gx:SoftwareResource . + +gx:OperatingSystem a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing an operating system." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Operation System" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" "CirrOS" "AlmaLinux" "others" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Operation System Distribution" ; + sh:order 0 ; + sh:path gx:osDistribution ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ] ; + sh:targetClass gx:OperatingSystem . + +gx:Signature a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the signature" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:signatureValue ], + [ sh:description "Algorithm used to create hash." ; + sh:in ( "md5" "sha-1" "sha-224" "sha-256" "sha-512" "sha-384" "sha-3" "ripemd-160" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hashAlgorithm ], + [ sh:description "Defines the algorithm used to calculate or verify the signature." ; + sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:signatureAlgorithm ] ; + sh:targetClass gx:Signature . + +gx:CheckSum a sh:NodeShape ; + sh:closed false ; + sh:description "Detail on how to calculate or verify a checksum." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the check sum." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:checkSumValue ], + [ sh:description "Algorithm used to create checksum." ; + sh:in ( "md5" "sha-1" "sha-224" "sha-256" "sha-512" "sha-384" "sha-3" "ripemd-160" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:checkSumCalculation ] ; + sh:targetClass gx:CheckSum . + +gx:MemorySize a sh:NodeShape ; + sh:closed false ; + sh:description "The number of bits, that can be stored on a digital storage." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Memory size" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:MemorySize . + +gx:LegalPerson a sh:NodeShape ; + sh:closed false ; + sh:description "A legal person, who is uniquely identified by its registration number." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Legal Person" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class ; + sh:description "The full legal address of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal address" ; + sh:order 1 ; + sh:path gx:legalAddress ], + [ sh:class ; + sh:description "Full physical location of the headquarter of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:headquartersAddress ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; + sh:minCount 1 ; + sh:name "registration number" ; + sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; + sh:order 0 ; + sh:path gx:registrationNumber ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; + sh:order 4 ; + sh:path gx:subOrganisationOf ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; + sh:order 3 ; + sh:path gx:parentOrganizationOf ] ; + sh:targetClass gx:LegalPerson . + +gx:PhysicalResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Physical Resource" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; + sh:name "manufactured by" ; + sh:order 2 ; + sh:path gx:manufacturedBy ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; + sh:minCount 1 ; + sh:name "maintained by" ; + sh:order 0 ; + sh:path gx:maintainedBy ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; + sh:name "owned by" ; + sh:order 1 ; + sh:path gx:ownedBy ], + [ sh:class ; + sh:description "A list of physical locations." ; + sh:minCount 1 ; + sh:order 3 ; + sh:path gx:location ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 4 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ] ; + sh:targetClass gx:PhysicalResource . + +gx:VirtualResource a sh:NodeShape ; + sh:closed false ; + sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Resource" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 1 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 5 ; + sh:path gx:description ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 0 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 4 ; + sh:path gx:name ] ; + sh:targetClass gx:VirtualResource . + diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index a7b334f..8856972 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -1,3 +1,4 @@ +import json import unittest import yaml @@ -14,12 +15,14 @@ from generator.common.gx_schema import VMImage as GX_Image from generator.common.json_ld import to_json_ld - from generator.discovery.openstack.vm_images_discovery import VmDiscovery + from openstack.image.v2.image import Image as OS_Image +from pyshacl import validate + from tests.common import OpenstackTestcase -from tests.connection import TestConnection +from tests.common import TestConnection def _get_gx_images(): @@ -218,44 +221,17 @@ def test_discovery_vm_images(self): self.check_vm_image(image_1.gx_object, image_2.gx_object) def test_json_ld(self): - jsond = { - '@id': 'ex:image_1', '@type': 'gx:VMImage', 'gx:name': 'Image1', 'gx:description': 'Image 1_ext', - 'gx:copyrightOwnedBy': ['Canonical'], 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], - 'gx:resourcePolicy': ['default: allow intent'], - 'gx:checksum': {'@type': 'gx:CheckSum', 'gx:checkSumCalculation': 'sha-512', - 'gx:checkSumValue': '7f8bababc2c2a948'}, 'gx:patchLevel': '1.5.2', - 'gx:buildDate': '2023-12-01T00:00:00', - 'gx:operatingSystem': {'@type': 'gx:OperatingSystem', 'gx:copyrightOwnedBy': ['Canonical'], - 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], - 'gx:resourcePolicy': ['default: allow intent'], 'gx:version': 'Stable', - 'gx:osDistribution': 'Ubuntu'}, - 'gx:cpuReq': {'@type': 'gx:CPU', 'gx:cpuArchitecture': 'x86-64', - 'gx:smtEnabled': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:numberOfCores': 2, - 'gx:numberOfThreads': 4}, 'gx:ramReq': {'@type': 'gx:Memory', - 'gx:memorySize': {'@type': 'gx:MemorySize', - 'qudt:value': {'@type': 'xsd:float', - '@value': '0.0'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, - 'gx:memoryClass': 'other', 'gx:memoryRank': 'other', - 'gx:eccEnabled': {'@type': 'xsd:boolean', - '@value': 'False'}, - 'gx:hardwareEncryption': {'@type': 'xsd:boolean', - '@value': 'False'}}, - 'gx:videoRamSize': {'@type': 'gx:MemorySize', 'qudt:value': {'@type': 'xsd:float', '@value': '20.0'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, - 'gx:rootDiskReq': {'@type': 'gx:Disk', 'gx:diskSize': {'@type': 'gx:MemorySize', - 'qudt:value': {'@type': 'xsd:float', - '@value': '21.47483648'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/GigaBYTE'}, - 'gx:diskType': 'other', 'gx:diskBusType': 'scsi'}, - 'gx:secureBoot': {'@type': 'xsd:boolean', '@value': 'True'}, - 'gx:vPMU': {'@type': 'xsd:boolean', '@value': 'False'}, - 'gx:multiQueues': {'@type': 'xsd:boolean', '@value': 'False'}, - 'gx:licenseIncluded': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:vmImageDiskFormat': 'RAW', - 'gx:hypervisorType': 'other', 'gx:firmwareType': 'other', 'gx:hwRngTypeOfImage': 'None', - 'gx:watchDogAction': 'reset'} - self.assertEqual(jsond, to_json_ld(_get_gx_images()[0])) + conforms, _, _ = validate(data_graph=json.dumps( + _get_gx_images()[0], + indent=4, default=to_json_ld), + shacl_graph="gaia-x.shacl.ttl", + data_graph_format="json-ld", + shacl_graph_format="ttl" + ) + + self.assertTrue(conforms) + if __name__ == '__main__': From fbc91e82b781de0a81bf63569e4e7be0127f19bb Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:13:29 +0100 Subject: [PATCH 023/175] Add simple FileSystem Wallet Signed-off-by: Anja Strunk --- config/config.yaml | 269 +++++++++--------- generator/cli.py | 56 +++- generator/common/const.py | 6 + .../discovery/openstack/opentack_discovery.py | 19 +- .../openstack/vm_images_discovery.py | 16 +- generator/wallet/file_wallet.py | 29 +- generator/wallet/wallet.py | 15 +- generator/wallet/xfsc_wallet.py | 5 +- 8 files changed, 248 insertions(+), 167 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 0efa07b..9e9dc55 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,132 +1,137 @@ -operating system: - Alpine Linux: - copyright owner: "Alpine Linux" - resource policy: "abc" - license: - - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 - Arch Linux: - copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: "abc" - license: - - https://gitlab.archlinux.org/archlinux - CentOS Linux: - copyright owner: "The CentOS Project and others" - resource policy: "abc" - license: - - https://github.com/CentOS/ - Debian: - copyright owner: "Ian Murdock and others" - resource policy: "abc" - license: - - https://www.debian.org/legal/licenses/index.en.html - Fedora: - copyright owner: "Fedora-Project" - resource policy: "abc" - license: - - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ - FreeBSD: - copyright owner: "The FreeBSD Project" - resource policy: "abc" - license: - - GPL-3.0-only - - LGPL-2.0 - Gentoo Linux: - copyright owner: "Gentoo Foundation, Inc." - resource policy: "abc" - license: - - https://www.gentoo.org/glep/glep-0076.html - Mandrakelinux: - copyright owner: "Mandriva Linux" - resource policy: "abc" - license: - - GPL-3.0-only - Mandriva Linux: - copyright owner: "Mandriva S. A." - resource policy: "abc" - license: - - GPL-3.0-only - Mandriva Enterprise Server: - copyright owner: "Mandriva S. A." - resource policy: "abc" - license: - - GPL-3.0-only - MS-DOS: - copyright owner: "Microsoft Corporation" - resource policy: "abc" - license: - - https://www.microsoft.com/licensing/docs/view/Licensing-Guides - NetBSD: - copyright owner: "The NetBSD Foundation" - resource policy: "abc" - license: - - https://www.netbsd.org/about/redistribution.html - Novell NetWare: - copyright owner: "Micro Focus International" - resource policy: "abc" - license: - - https://support.novell.com/techcenter/articles/ana19960702.html - OpenBSD: - copyright owner: "OpenBSD" - resource policy: "abc" - license: - - https://www.openbsd.org/policy.html - OpenSolaris: - copyright owner: "Sun Microsystems" - resource policy: "abc" - license: - - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html - openSUSE: - copyright owner: "openSUSE contributors & others" - resource policy: "abc" - license: - - https://en.opensuse.org/openSUSE:License - Rocky Linux: - copyright owner: "Rocky Enterprise Software Foundation" - resource policy: "abc" - license: - - https://rockylinux.org/licensing - Red Hat Enterprise Linux: - copyright owner: "Red Hat, Inc." - resource policy: "abc" - license: - - https://www.redhat.com/en/store/red-hat-enterprise-linux-server - SUSE Linux Enterprise Desktop: - copyright owner: "SUSE" - resource policy: "abc" - license: - - https://www.suse.com/products/terms_and_conditions.pdf - Ubuntu: - copyright owner: "Canonical" - resource policy: "abc" - license: - - https://ubuntu.com/legal/open-source-licences - Microsoft Windows: - copyright owner: "Microsoft Corporation" - resource policy: "abc" - license: - - https://www.microsoft.com/licensing - CirrOS: - copyright owner: "Canonical Ltd." - resource policy: "abc" - license: - - GPL-2.0-only - AlmaLinux: - copyright owner: "Canonical Ltd." - resource policy: "abc" - license: - - https://almalinux.org/p/the-almalinux-os-licensing-policy/ - Debian 11: - copyright owner: "AlmaLinux OS Foundation" - resource policy: "abc" - license: - - https://www.abc.org -own images: - AlmaLinux 8: - aggregation of: - - web:did:provider.de - copyright owner: - - "AlmaLinux OS Foundation" - - "ABC" - resource policy: "abc" - license: - - https://www.abc.org \ No newline at end of file +default: + operating system: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: "abc" + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 + Arch Linux: + copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" + resource policy: "abc" + license: + - https://gitlab.archlinux.org/archlinux + CentOS Linux: + copyright owner: "The CentOS Project and others" + resource policy: "abc" + license: + - https://github.com/CentOS/ + Debian: + copyright owner: "Ian Murdock and others" + resource policy: "abc" + license: + - https://www.debian.org/legal/licenses/index.en.html + Fedora: + copyright owner: "Fedora-Project" + resource policy: "abc" + license: + - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ + FreeBSD: + copyright owner: "The FreeBSD Project" + resource policy: "abc" + license: + - GPL-3.0-only + - LGPL-2.0 + Gentoo Linux: + copyright owner: "Gentoo Foundation, Inc." + resource policy: "abc" + license: + - https://www.gentoo.org/glep/glep-0076.html + Mandrakelinux: + copyright owner: "Mandriva Linux" + resource policy: "abc" + license: + - GPL-3.0-only + Mandriva Linux: + copyright owner: "Mandriva S. A." + resource policy: "abc" + license: + - GPL-3.0-only + Mandriva Enterprise Server: + copyright owner: "Mandriva S. A." + resource policy: "abc" + license: + - GPL-3.0-only + MS-DOS: + copyright owner: "Microsoft Corporation" + resource policy: "abc" + license: + - https://www.microsoft.com/licensing/docs/view/Licensing-Guides + NetBSD: + copyright owner: "The NetBSD Foundation" + resource policy: "abc" + license: + - https://www.netbsd.org/about/redistribution.html + Novell NetWare: + copyright owner: "Micro Focus International" + resource policy: "abc" + license: + - https://support.novell.com/techcenter/articles/ana19960702.html + OpenBSD: + copyright owner: "OpenBSD" + resource policy: "abc" + license: + - https://www.openbsd.org/policy.html + OpenSolaris: + copyright owner: "Sun Microsystems" + resource policy: "abc" + license: + - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html + openSUSE: + copyright owner: "openSUSE contributors & others" + resource policy: "abc" + license: + - https://en.opensuse.org/openSUSE:License + Rocky Linux: + copyright owner: "Rocky Enterprise Software Foundation" + resource policy: "abc" + license: + - https://rockylinux.org/licensing + Red Hat Enterprise Linux: + copyright owner: "Red Hat, Inc." + resource policy: "abc" + license: + - https://www.redhat.com/en/store/red-hat-enterprise-linux-server + SUSE Linux Enterprise Desktop: + copyright owner: "SUSE" + resource policy: "abc" + license: + - https://www.suse.com/products/terms_and_conditions.pdf + Ubuntu: + copyright owner: "Canonical" + resource policy: "abc" + license: + - https://ubuntu.com/legal/open-source-licences + Microsoft Windows: + copyright owner: "Microsoft Corporation" + resource policy: "abc" + license: + - https://www.microsoft.com/licensing + CirrOS: + copyright owner: "Canonical Ltd." + resource policy: "abc" + license: + - GPL-2.0-only + AlmaLinux: + copyright owner: "Canonical Ltd." + resource policy: "abc" + license: + - https://almalinux.org/p/the-almalinux-os-licensing-policy/ + Debian 11: + copyright owner: "AlmaLinux OS Foundation" + resource policy: "abc" + license: + - https://www.abc.org +cloud resources: + own images: + AlmaLinux 8: + aggregation of: + - web:did:provider.de + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org +wallets: + filesystem: + path: /etc/wallet/gx-credentials/ \ No newline at end of file diff --git a/generator/cli.py b/generator/cli.py index 0244287..7da5373 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,12 +1,22 @@ import click +import json + +import generator.common.json_ld as json_ld +import generator.common.const as const + import openstack as os import sys import yaml +from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud -import json -import generator.common.json_ld as json_ld +from generator.wallet.wallet import WalletConnector +from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.xfsc_wallet import XFSCWallet + +from typing import List + @click.group() def cli(): @@ -14,10 +24,13 @@ def cli(): @click.command() -@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') +@click.option( + "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") +@click.option('--config', default='../config/config.yaml', + help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout, config): +def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,14 +41,25 @@ def openstack(cloud, timeout, config): except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + default_domain='default', project_domain_id='default') conn.authorize() # generate Gaia-X Credentials with open(config, "r") as config_file: - os_cloud = OsCloud(conn, yaml.safe_load(config_file)) - props = os_cloud.discover_properties() - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + # init everything + config_dict = yaml.safe_load(config_file) + wallets = init_wallets(config_dict) + os_cloud = OsCloud(conn, config_dict) + + # run discovery + creds = os_cloud.discover_properties() + + # store creds in wallets and print them as overall JSON-LD + store_creds_in_wallet(wallets, creds) + if print_json_ld: + props = json_ld.get_json_ld_context() + props['@graph'] = creds + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() @@ -44,6 +68,22 @@ def kubernetes(): pass +def init_wallets(config: dict) -> List[WalletConnector]: + wallets = list() + for wallet in config[const.CONFIG_WALLETS]: + if wallet == const.CONFIG_FILESYSTEM_WALLET: + wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + elif wallet == const.CONFIG_XFSC_WALLET: + wallets.append(XFSCWallet()) + return wallets + + +def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: + for w in wallets: + for c in creds: + w.store_credential(c) + + cli.add_command(openstack) cli.add_command(kubernetes) diff --git a/generator/common/const.py b/generator/common/const.py index dd6812e..9b1afd9 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -17,6 +17,12 @@ CONFIG_OPERATING_SYSTEM = "operating system" CONFIG_OWN_IMAGES = "own images" CONFIG_AGGREGATION_OF = "aggregation of" +CONFIG_WALLETS = "wallets" +CONFIG_DEFAULT = "default" +CONFIG_CLOUD_RESOURCES = "cloud resources:" +CONFIG_FILESYSTEM_WALLET = "filesystem" +CONFIG_XFSC_WALLET = "xfsc" + CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 4b1f2c4..d1ddb28 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,10 +1,12 @@ -import generator.common.json_ld as json_ld +from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from linkml_runtime.utils.yamlutils import YAMLRoot + from openstack.connection import Connection -from typing import Dict +from typing import Dict, List class OsCloud: @@ -16,19 +18,18 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config - def discover_properties(self) -> dict: + def discover_properties(self) -> List[JsonLdObject]: """ Discover all attributes of OS Cloud. - @return: all attributes as dict + @return: all attributes as list of YAMLRoot """ - props = json_ld.get_json_ld_context() - props['@graph'] = [] + creds = list() vm_dis = VmDiscovery(self.conn, self.config) - for img in vm_dis.discover_vm_images(): - props['@graph'].append(img) - return props + creds.extend(vm_dis.discover_vm_images()) + + return creds diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index aa5d6ba..968d2cf 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -353,20 +353,20 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> def _get_resource_policy_for_os(self, os: str) -> str: try: - return self.config[const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] def _get_license_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: # check if comfig contains image's specific copright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -374,7 +374,7 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license - gx_image.license = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -382,7 +382,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy - gx_image.resourcePolicy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] @@ -569,4 +569,6 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.hwRngTypeOfImage = "None" + pass + # not supported yet + #gx_image.hwRngTypeOfImage = "None" diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index a71a2e8..896b6d2 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,10 +1,33 @@ -from wallet import WalletConnector +import json +import os +from generator.common.json_ld import to_json_ld +from generator.common.json_ld import get_json_ld_context -class FileSystemWallet(WalletConnector): +from generator.common.json_ld import JsonLdObject + +from generator.wallet.wallet import WalletConnector + + +class FileSystemWallet(WalletConnector, object): """ - Abstraction for filesystem acting as wallet. + Abstraction for filesystem acting as a wallet. """ + def __init__(self, dir: str) -> None: + super().__init__() + self.dir = dir + + def store_credential(self, credential: JsonLdObject) -> None: + super().store_credential(credential) + + with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + props = get_json_ld_context() + props['@graph'] = [credential] + json.dump(props, json_file, indent=4, default=to_json_ld) + + + + def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 592bd61..8e5e43a 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,16 +1,23 @@ -from abc import ABCMeta +from abc import ABC from abc import abstractmethod -from linkml_runtime.utils.yamlutils import YAMLRoot +from generator.common.json_ld import JsonLdObject -class WalletConnector(ABCMeta): + +class WalletConnector(ABC): """ Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector wraps API calls for different kind of wallets. """ @abstractmethod - def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + def store_credential(self, credential: JsonLdObject) -> None: + """ + Stores given CREDENTIAL in this wallet. + @param credential: credential to be stored in JSON-LD + @type JsonLdObject + @return: None + """ pass @abstractmethod diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py index b699aa1..489c619 100644 --- a/generator/wallet/xfsc_wallet.py +++ b/generator/wallet/xfsc_wallet.py @@ -1,4 +1,4 @@ -from wallet import WalletConnector +from generator.wallet.wallet import WalletConnector class XFSCWallet(WalletConnector): @@ -6,6 +6,3 @@ class XFSCWallet(WalletConnector): Abstraction XFSC wallet, called Organization Credential Manager. See https://projects.eclipse.org/projects/technology.xfsc """ - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) From 159e68f9cb0cac668968975a85ee94e4fe648979 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Tue, 16 Jan 2024 14:34:15 +0100 Subject: [PATCH 024/175] Create python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> --- .github/workflows/python-app.yml | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/python-app.yml diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 0000000..f3d4fca --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,39 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python application + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest From c3f3498d3fafd0a43bb5e73f9099db2f53d343f7 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:35:53 +0100 Subject: [PATCH 025/175] Reformat files Signed-off-by: Anja Strunk --- generator/cli.py | 54 +- generator/common/const.py | 2 +- generator/common/expections.py | 6 +- generator/common/gx_schema.py | 15647 +++++++++------- generator/common/json_ld.py | 63 +- .../discovery/openstack/opentack_discovery.py | 14 +- .../openstack/vm_images_discovery.py | 600 +- generator/wallet/file_wallet.py | 15 +- generator/wallet/wallet.py | 3 +- 9 files changed, 9177 insertions(+), 7227 deletions(-) diff --git a/generator/cli.py b/generator/cli.py index 7da5373..b23a533 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,22 +1,19 @@ -import click import json +import sys +from typing import List -import generator.common.json_ld as json_ld -import generator.common.const as const - +import click import openstack as os -import sys import yaml +import generator.common.const as const +import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud - -from generator.wallet.wallet import WalletConnector from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet -from typing import List - @click.group() def cli(): @@ -25,11 +22,17 @@ def cli(): @click.command() @click.option( - "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") -@click.option('--config', default='../config/config.yaml', - help='Path to Configuration file for SCS GX Credential Generator.') -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') + "--print-json-ld", + is_flag=True, + help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", +) +@click.option( + "--config", + default="../config/config.yaml", + help="Path to Configuration file for SCS GX Credential Generator.", +) +@click.option("--timeout", default=12, help="Timeout for API calls in seconds") +@click.argument("cloud") def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -40,8 +43,13 @@ def openstack(cloud, timeout, config, print_json_ld): conn.authorize() except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + conn = os.connect( + cloud=cloud, + timeout=timeout, + api_timeout=timeout * 1.5 + 4, + default_domain="default", + project_domain_id="default", + ) conn.authorize() # generate Gaia-X Credentials @@ -58,7 +66,7 @@ def openstack(cloud, timeout, config, print_json_ld): store_creds_in_wallet(wallets, creds) if print_json_ld: props = json_ld.get_json_ld_context() - props['@graph'] = creds + props["@graph"] = creds print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @@ -72,13 +80,19 @@ def init_wallets(config: dict) -> List[WalletConnector]: wallets = list() for wallet in config[const.CONFIG_WALLETS]: if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + wallets.append( + FileSystemWallet( + config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + ) + ) elif wallet == const.CONFIG_XFSC_WALLET: wallets.append(XFSCWallet()) return wallets -def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: +def store_creds_in_wallet( + wallets: List[WalletConnector], creds: List[JsonLdObject] +) -> None: for w in wallets: for c in creds: w.store_credential(c) @@ -87,5 +101,5 @@ def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObje cli.add_command(openstack) cli.add_command(kubernetes) -if __name__ == '__main__': +if __name__ == "__main__": cli() diff --git a/generator/common/const.py b/generator/common/const.py index 9b1afd9..e9095f0 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -46,4 +46,4 @@ CONFIG_OS_UBUNTU = "Ubuntu" CONFIG_OS_WINDOWS = "Microsoft Windows" CONFIG_OS_CIRROS = "CirrOS" -CONFIG_OS_ALMALINUX = "AlmaLinux" \ No newline at end of file +CONFIG_OS_ALMALINUX = "AlmaLinux" diff --git a/generator/common/expections.py b/generator/common/expections.py index 5662b83..ae89ffa 100644 --- a/generator/common/expections.py +++ b/generator/common/expections.py @@ -1,7 +1,9 @@ - class MissingMandatoryAttribute(AttributeError): """ An exception that occurs when an SCS mandatory attributes are missing. """ + def __init__(self, *args, **kwargs): - super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") \ No newline at end of file + super(MissingMandatoryAttribute, self).__init__( + args, "Are you sure this is a SCS compliant cluster." + ) diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index fcd1d2a..ed19582 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -8,21 +8,47 @@ import dataclasses import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions +from typing import Any, ClassVar, Dict, List, Optional, Union -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from jsonasobj2 import JsonObj, as_dict +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) +from linkml_runtime.linkml_model.types import ( + Boolean, + Date, + Datetime, + Float, + Integer, + String, + Uri, +) +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.utils.dataclass_extensions_376 import ( + dataclasses_init_fn_with_kwargs, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.formatutils import camelcase, sfx, underscore +from linkml_runtime.utils.metamodelcore import ( + URI, + Bool, + XSDDate, + XSDDateTime, + bnode, + empty_dict, + empty_list, +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str, +) from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime metamodel_version = "1.7.0" version = None @@ -31,16 +57,17 @@ dataclasses._init_fn = dataclasses_init_fn_with_kwargs # Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +GX = CurieNamespace("gx", "http://w3id.org/gaia-x/gx-trust-framework/") +LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/") +QUDT = CurieNamespace("qudt", "http://qudt.org/vocab/") +SCHEMA = CurieNamespace("schema", "http://schema.org/") +VCARD = CurieNamespace("vcard", "http://www.w3.org/2006/vcard/ns#") DEFAULT_ = GX # Types + # Class references class LocalRegistrationNumberLocal(extended_str): pass @@ -70,6 +97,7 @@ class GaiaX(YAMLRoot): """ Top level element of Gaia-X ecosystem. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaX"] @@ -83,6 +111,7 @@ class Address(YAMLRoot): """ Full address of the entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = VCARD["Address"] @@ -91,7 +120,9 @@ class Address(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + gps: Optional[ + Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]] + ] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -102,7 +133,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + self._normalize_inlined_as_dict( + slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False + ) if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -121,6 +154,7 @@ class GPSLocation(YAMLRoot): """ Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] @@ -158,6 +192,7 @@ class GPSUnit(YAMLRoot): """ Definition of a geographical point. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] @@ -193,6 +228,7 @@ class GaiaXEntity(YAMLRoot): """ Root class for Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] @@ -218,6 +254,7 @@ class Encryption(YAMLRoot): """ Encryption capabilities of a Gaia-X entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Encryption"] @@ -247,6 +284,7 @@ class CheckSum(YAMLRoot): """ Detail on how to calculate or verify a checksum. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CheckSum"] @@ -308,6 +346,7 @@ class Device(YAMLRoot): """ Details with respect to properties and capabilities of a hardware or virtualized device. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Device"] @@ -327,11 +366,17 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.generation is not None and not isinstance(self.generation, str): self.generation = str(self.generation) - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + if self.defaultOversubscriptionRatio is not None and not isinstance( + self.defaultOversubscriptionRatio, int + ): self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + if self.supportedOversubscriptionRatio is not None and not isinstance( + self.supportedOversubscriptionRatio, int + ): + self.supportedOversubscriptionRatio = int( + self.supportedOversubscriptionRatio + ) super().__post_init__(**kwargs) @@ -341,6 +386,7 @@ class CPU(Device): """ Computational processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CPU"] @@ -359,7 +405,9 @@ class CPU(Device): thermalDesignPower: Optional[Union[dict, "Power"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + if self.cpuArchitecture is not None and not isinstance( + self.cpuArchitecture, Architectures + ): self.cpuArchitecture = Architectures(self.cpuArchitecture) if not isinstance(self.cpuFlag, list): @@ -372,19 +420,29 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): self.numberOfCores = int(self.numberOfCores) - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + if self.numberOfThreads is not None and not isinstance( + self.numberOfThreads, int + ): self.numberOfThreads = int(self.numberOfThreads) - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + if self.baseFrequency is not None and not isinstance( + self.baseFrequency, Frequency + ): self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + if self.boostFrequency is not None and not isinstance( + self.boostFrequency, Frequency + ): self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + if self.lastLevelCacheSize is not None and not isinstance( + self.lastLevelCacheSize, MemorySize + ): self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + if self.thermalDesignPower is not None and not isinstance( + self.thermalDesignPower, Power + ): self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) super().__post_init__(**kwargs) @@ -395,6 +453,7 @@ class Disk(Device): """ Capabilities of a physical or virtual hard drive. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Disk"] @@ -426,6 +485,7 @@ class Endpoint(YAMLRoot): """ An endpoint is a mean to access and interact with a service or a resource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Endpoint"] @@ -433,19 +493,28 @@ class Endpoint(YAMLRoot): class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + standardConformity: Union[ + Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]] + ] = None endpointURL: Optional[Union[str, URI]] = None formalDescription: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.standardConformity): self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + self._normalize_inlined_as_dict( + slot_name="standardConformity", + slot_type=StandardConformity, + key_name="title", + keyed=False, + ) if self.endpointURL is not None and not isinstance(self.endpointURL, URI): self.endpointURL = URI(self.endpointURL) - if self.formalDescription is not None and not isinstance(self.formalDescription, str): + if self.formalDescription is not None and not isinstance( + self.formalDescription, str + ): self.formalDescription = str(self.formalDescription) super().__post_init__(**kwargs) @@ -456,6 +525,7 @@ class GPU(Device): """ Graphical processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPU"] @@ -472,13 +542,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + if self.gpuInterconnection is not None and not isinstance( + self.gpuInterconnection, GPUInterconnetionTypes + ): self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + if self.gpuProcessingUnits is not None and not isinstance( + self.gpuProcessingUnits, int + ): self.gpuProcessingUnits = int(self.gpuProcessingUnits) - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + if self.gpuPassthrough is not None and not isinstance( + self.gpuPassthrough, Bool + ): self.gpuPassthrough = Bool(self.gpuPassthrough) super().__post_init__(**kwargs) @@ -489,6 +565,7 @@ class MaintenanceSubscription(YAMLRoot): """ A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] @@ -501,13 +578,19 @@ class MaintenanceSubscription(YAMLRoot): maintainedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + if self.subscriptionIncluded is not None and not isinstance( + self.subscriptionIncluded, Bool + ): self.subscriptionIncluded = Bool(self.subscriptionIncluded) - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + if self.subscriptionRequired is not None and not isinstance( + self.subscriptionRequired, Bool + ): self.subscriptionRequired = Bool(self.subscriptionRequired) - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + if self.maintainedUntil is not None and not isinstance( + self.maintainedUntil, XSDDate + ): self.maintainedUntil = XSDDate(self.maintainedUntil) super().__post_init__(**kwargs) @@ -522,6 +605,7 @@ class UpdateStrategy(YAMLRoot): referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] @@ -535,13 +619,17 @@ class UpdateStrategy(YAMLRoot): providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + if self.replaceFrequency is not None and not isinstance( + self.replaceFrequency, UpdateFrequency + ): self.replaceFrequency = UpdateFrequency(self.replaceFrequency) if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): self.hotfixHours = int(self.hotfixHours) - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + if self.oldVersionsValidUntil is not None and not isinstance( + self.oldVersionsValidUntil, str + ): self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) if self.providedUntil is not None and not isinstance(self.providedUntil, str): @@ -555,6 +643,7 @@ class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LatestN"] @@ -575,6 +664,7 @@ class InstantiationRequirement(YAMLRoot): """ A container class to gather all requirements for compute service offering instantiations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] @@ -588,6 +678,7 @@ class Issuer(YAMLRoot): """ An issuer of W3C Verifiable Credentials and Verifiable Presentations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Issuer"] @@ -601,7 +692,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.issuerTermsAndConditions): self.MissingRequiredField("issuerTermsAndConditions") if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + self.issuerTermsAndConditions = GaiaXTermsAndConditions( + self.issuerTermsAndConditions + ) super().__post_init__(**kwargs) @@ -611,6 +704,7 @@ class RegistrationNumber(YAMLRoot): Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] @@ -724,6 +818,7 @@ class Memory(Device): """ Details with respect to properties and capabilities of RAM. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Memory"] @@ -743,7 +838,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.memorySize, MemorySize): self.memorySize = MemorySize(**as_dict(self.memorySize)) - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + if self.memoryClass is not None and not isinstance( + self.memoryClass, MemoryClasses + ): self.memoryClass = MemoryClasses(self.memoryClass) if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): @@ -752,7 +849,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): self.eccEnabled = Bool(self.eccEnabled) - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + if self.hardwareEncryption is not None and not isinstance( + self.hardwareEncryption, Bool + ): self.hardwareEncryption = Bool(self.hardwareEncryption) super().__post_init__(**kwargs) @@ -763,6 +862,7 @@ class Quantity(YAMLRoot): """ Abstract parent class for all physical quantities, such as frequency, power or length. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] @@ -792,6 +892,7 @@ class Frequency(Quantity): """ Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] @@ -802,11 +903,13 @@ class Frequency(Quantity): value: float = None unit: str = None + @dataclass class MemorySize(Quantity): """ The number of bits, that can be stored on a digital storage. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MemorySize"] @@ -817,11 +920,13 @@ class MemorySize(Quantity): value: float = None unit: str = None + @dataclass class Power(Quantity): """ Definition of 'Power', according to http://qudt.org/quantitykind/Power. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] @@ -832,10 +937,12 @@ class Power(Quantity): value: float = None unit: str = None + class Participant(GaiaXEntity): """ An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Participant"] @@ -849,6 +956,7 @@ class LegalPerson(Participant): """ A legal person, who is uniquely identified by its registration number. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] @@ -856,18 +964,38 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + parentOrganizationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + subOrganisationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.registrationNumber): self.MissingRequiredField("registrationNumber") if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + self.registrationNumber = ( + [self.registrationNumber] if self.registrationNumber is not None else [] + ) + self.registrationNumber = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.registrationNumber + ] if self._is_empty(self.legalAddress): self.MissingRequiredField("legalAddress") @@ -880,12 +1008,28 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + self.parentOrganizationOf = ( + [self.parentOrganizationOf] + if self.parentOrganizationOf is not None + else [] + ) + self.parentOrganizationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.parentOrganizationOf + ] if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + self.subOrganisationOf = ( + [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + ) + self.subOrganisationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.subOrganisationOf + ] super().__post_init__(**kwargs) @@ -896,6 +1040,7 @@ class Resource(GaiaXEntity): Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Resource"] @@ -907,8 +1052,14 @@ class Resource(GaiaXEntity): def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] super().__post_init__(**kwargs) @@ -919,6 +1070,7 @@ class VirtualResource(Resource): It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] @@ -934,8 +1086,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.copyrightOwnedBy): self.MissingRequiredField("copyrightOwnedBy") if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + self.copyrightOwnedBy = ( + [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + ) + self.copyrightOwnedBy = [ + v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy + ] if self._is_empty(self.license): self.MissingRequiredField("license") @@ -946,8 +1102,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.resourcePolicy): self.MissingRequiredField("resourcePolicy") if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + self.resourcePolicy = ( + [self.resourcePolicy] if self.resourcePolicy is not None else [] + ) + self.resourcePolicy = [ + v if isinstance(v, str) else str(v) for v in self.resourcePolicy + ] super().__post_init__(**kwargs) @@ -958,6 +1118,7 @@ class PhysicalResource(Resource): A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] @@ -965,29 +1126,63 @@ class PhysicalResource(Resource): class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + maintainedBy: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + ownedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + manufacturedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.maintainedBy): self.MissingRequiredField("maintainedBy") if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + self.maintainedBy = ( + [self.maintainedBy] if self.maintainedBy is not None else [] + ) + self.maintainedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.maintainedBy + ] if self._is_empty(self.location): self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + self._normalize_inlined_as_dict( + slot_name="location", slot_type=Address, key_name="countryCode", keyed=False + ) if not isinstance(self.ownedBy, list): self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + self.ownedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.ownedBy + ] if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + self.manufacturedBy = ( + [self.manufacturedBy] if self.manufacturedBy is not None else [] + ) + self.manufacturedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.manufacturedBy + ] super().__post_init__(**kwargs) @@ -997,6 +1192,7 @@ class SoftwareResource(VirtualResource): """ A Gaia-X Virtual Resource describing an executable program. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] @@ -1037,6 +1233,7 @@ class CodeArtifact(SoftwareResource): """ A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] @@ -1048,12 +1245,14 @@ class CodeArtifact(SoftwareResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None + @dataclass class Image(CodeArtifact): """ A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Image"] @@ -1084,7 +1283,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): self.fileSize = MemorySize(**as_dict(self.fileSize)) - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + if self.operatingSystem is not None and not isinstance( + self.operatingSystem, OperatingSystem + ): self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): @@ -1096,7 +1297,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.ramReq is not None and not isinstance(self.ramReq, Memory): self.ramReq = Memory(**as_dict(self.ramReq)) - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + if self.videoRamSize is not None and not isinstance( + self.videoRamSize, MemorySize + ): self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): @@ -1117,13 +1320,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): self.multiQueues = Bool(self.multiQueues) - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + if self.updateStrategy is not None and not isinstance( + self.updateStrategy, UpdateStrategy + ): self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + if self.licenseIncluded is not None and not isinstance( + self.licenseIncluded, Bool + ): self.licenseIncluded = Bool(self.licenseIncluded) - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + if self.maintenance is not None and not isinstance( + self.maintenance, MaintenanceSubscription + ): self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) super().__post_init__(**kwargs) @@ -1134,6 +1343,7 @@ class PXEImage(Image): """ PXE image for physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PXEImage"] @@ -1147,7 +1357,9 @@ class PXEImage(Image): pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + if self.pxeImageDiskFormat is not None and not isinstance( + self.pxeImageDiskFormat, PXEDiskType + ): self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) super().__post_init__(**kwargs) @@ -1158,6 +1370,7 @@ class OperatingSystem(SoftwareResource): """ A special Gaia-X Software Resource describing an operating system. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] @@ -1184,6 +1397,7 @@ class Hypervisor(SoftwareResource): """ A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] @@ -1210,6 +1424,7 @@ class ServiceOffering(GaiaXEntity): """ A digital service available for order. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] @@ -1218,12 +1433,21 @@ class ServiceOffering(GaiaXEntity): class_model_uri: ClassVar[URIRef] = GX.ServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" dependsOn: Optional[Union[str, List[str]]] = empty_list() aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + dataProtectionRegime: Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None @@ -1237,35 +1461,66 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.serviceOfferingTermsAndConditions): self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + self._normalize_inlined_as_dict( + slot_name="serviceOfferingTermsAndConditions", + slot_type=TermsAndConditions, + key_name="url", + keyed=False, + ) if self._is_empty(self.servicePolicy): self.MissingRequiredField("servicePolicy") if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + self.servicePolicy = ( + [self.servicePolicy] if self.servicePolicy is not None else [] + ) + self.servicePolicy = [ + v if isinstance(v, str) else str(v) for v in self.servicePolicy + ] if self._is_empty(self.dataAccountExport): self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + self._normalize_inlined_as_dict( + slot_name="dataAccountExport", + slot_type=DataAccountExport, + key_name="requestType", + keyed=False, + ) if not isinstance(self.dependsOn, list): self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + self.dataProtectionRegime = ( + [self.dataProtectionRegime] + if self.dataProtectionRegime is not None + else [] + ) + self.dataProtectionRegime = [ + v + if isinstance(v, PersonalDataProtectionRegime) + else PersonalDataProtectionRegime(v) + for v in self.dataProtectionRegime + ] if not isinstance(self.keyword, list): self.keyword = [self.keyword] if self.keyword is not None else [] self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + if self.provisionType is not None and not isinstance( + self.provisionType, ProvisionTypes + ): self.provisionType = ProvisionTypes(self.provisionType) if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): @@ -1283,6 +1538,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ A digital service available for order and offering computational, storage and/pr network capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] @@ -1291,15 +1547,21 @@ class InfrastructureServiceOffering(ServiceOffering): class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" + @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] @@ -1308,13 +1570,19 @@ class ComputeServiceOffering(InfrastructureServiceOffering): class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + if self.tenantSeparation is not None and not isinstance( + self.tenantSeparation, TenantSeparation + ): self.tenantSeparation = TenantSeparation(self.tenantSeparation) super().__post_init__(**kwargs) @@ -1325,6 +1593,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] @@ -1333,20 +1602,36 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + instantiationReq: Union[ + Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + self._normalize_inlined_as_dict( + slot_name="codeArtifact", + slot_type=VMImage, + key_name="copyrightOwnedBy", + keyed=False, + ) if self._is_empty(self.instantiationReq): self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + self._normalize_inlined_as_dict( + slot_name="instantiationReq", + slot_type=ServerFlavor, + key_name="cpu", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1356,6 +1641,7 @@ class TermsAndConditions(YAMLRoot): """ Terms and Conditions applying to a service offering. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] @@ -1385,6 +1671,7 @@ class DataAccountExport(YAMLRoot): """ List of methods to export data from your account out of the service. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] @@ -1420,6 +1707,7 @@ class StandardConformity(YAMLRoot): """ Details about standard applied to Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] @@ -1453,6 +1741,7 @@ class DataResource(VirtualResource): """ A dataset exposed through a service instance. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataResource"] @@ -1464,12 +1753,18 @@ class DataResource(VirtualResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + exposedThrough: Union[ + Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]] + ] = None containsPII: Union[bool, Bool] = None obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + dataController: Optional[ + Union[Union[dict, Participant], List[Union[dict, Participant]]] + ] = empty_list() + consent: Optional[ + Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.producedBy): @@ -1480,25 +1775,43 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.exposedThrough): self.MissingRequiredField("exposedThrough") if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + self.exposedThrough = ( + [self.exposedThrough] if self.exposedThrough is not None else [] + ) + self.exposedThrough = [ + v + if isinstance(v, DataExchangeComponent) + else DataExchangeComponent(**as_dict(v)) + for v in self.exposedThrough + ] if self._is_empty(self.containsPII): self.MissingRequiredField("containsPII") if not isinstance(self.containsPII, Bool): self.containsPII = Bool(self.containsPII) - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + if self.obsoleteDateTime is not None and not isinstance( + self.obsoleteDateTime, XSDDateTime + ): self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + if self.expirationDateTime is not None and not isinstance( + self.expirationDateTime, XSDDateTime + ): self.expirationDateTime = XSDDateTime(self.expirationDateTime) if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + self.dataController = ( + [self.dataController] if self.dataController is not None else [] + ) + self.dataController = [ + v if isinstance(v, Participant) else Participant(**as_dict(v)) + for v in self.dataController + ] + + self._normalize_inlined_as_dict( + slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False + ) super().__post_init__(**kwargs) @@ -1508,6 +1821,7 @@ class Consent(YAMLRoot): """ Information on the legitimate processing of information related to PII. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Consent"] @@ -1529,8 +1843,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.dataProtectionContactPoint): self.MissingRequiredField("dataProtectionContactPoint") if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + self.dataProtectionContactPoint = ( + [self.dataProtectionContactPoint] + if self.dataProtectionContactPoint is not None + else [] + ) + self.dataProtectionContactPoint = [ + v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint + ] if self._is_empty(self.purpose): self.MissingRequiredField("purpose") @@ -1541,8 +1861,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.consentWithdrawalContactPoint): self.MissingRequiredField("consentWithdrawalContactPoint") if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + self.consentWithdrawalContactPoint = ( + [self.consentWithdrawalContactPoint] + if self.consentWithdrawalContactPoint is not None + else [] + ) + self.consentWithdrawalContactPoint = [ + v if isinstance(v, str) else str(v) + for v in self.consentWithdrawalContactPoint + ] super().__post_init__(**kwargs) @@ -1551,6 +1878,7 @@ class DataExchangeComponent(YAMLRoot): """ A service/resource used to make a data resource available. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] @@ -1564,6 +1892,7 @@ class VMImage(Image): """ Image for virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VMImage"] @@ -1581,19 +1910,29 @@ class VMImage(Image): watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + if self.vmImageDiskFormat is not None and not isinstance( + self.vmImageDiskFormat, VMDiskType + ): self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + if self.hypervisorType is not None and not isinstance( + self.hypervisorType, HypervisorType + ): self.hypervisorType = HypervisorType(self.hypervisorType) - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + if self.firmwareType is not None and not isinstance( + self.firmwareType, FirmType + ): self.firmwareType = FirmType(self.firmwareType) - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + if self.hwRngTypeOfImage is not None and not isinstance( + self.hwRngTypeOfImage, RNGTypes + ): self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + if self.watchDogAction is not None and not isinstance( + self.watchDogAction, WatchDogActions + ): self.watchDogAction = WatchDogActions(self.watchDogAction) super().__post_init__(**kwargs) @@ -1605,6 +1944,7 @@ class ServerFlavor(YAMLRoot): Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] @@ -1617,7 +1957,9 @@ class ServerFlavor(YAMLRoot): bootVolume: Union[dict, Disk] = None gpu: Optional[Union[dict, GPU]] = None network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + additionalVolume: Optional[ + Union[Union[dict, Disk], List[Union[dict, Disk]]] + ] = empty_list() confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None hypervisor: Optional[Union[dict, SoftwareResource]] = None hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False @@ -1645,18 +1987,35 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.network is not None and not isinstance(self.network, str): self.network = str(self.network) - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self._normalize_inlined_as_dict( + slot_name="additionalVolume", + slot_type=Disk, + key_name="diskSize", + keyed=False, + ) + + if self.confidentialComputing is not None and not isinstance( + self.confidentialComputing, ConfidentialComputing + ): + self.confidentialComputing = ConfidentialComputing( + **as_dict(self.confidentialComputing) + ) + + if self.hypervisor is not None and not isinstance( + self.hypervisor, SoftwareResource + ): self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + if self.hardwareAssistedVirtualization is not None and not isinstance( + self.hardwareAssistedVirtualization, Bool + ): + self.hardwareAssistedVirtualization = Bool( + self.hardwareAssistedVirtualization + ) - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + if self.hwRngTypeOfFlavor is not None and not isinstance( + self.hwRngTypeOfFlavor, RNGTypes + ): self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) super().__post_init__(**kwargs) @@ -1680,7 +2039,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.technology, str): self.technology = str(self.technology) - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + if self.attestationServiceURI is not None and not isinstance( + self.attestationServiceURI, URI + ): self.attestationServiceURI = URI(self.attestationServiceURI) super().__post_init__(**kwargs) @@ -1688,751 +2049,343 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): # Enumerations class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") + AF = PermissibleValue(text="AF", description="Alpha2 code for Afghanistan.") + EG = PermissibleValue(text="EG", description="Alpha2 code for Egypt.") + AX = PermissibleValue(text="AX", description="Alpha2 code for Aland Islands.") + AL = PermissibleValue(text="AL", description="Alpha2 code for Albania.") + DZ = PermissibleValue(text="DZ", description="Alpha2 code for Algeria.") VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") + text="VI", description="Alpha2 code for Virgin Islands (U.S.)." + ) UM = PermissibleValue( text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") + description="Alpha2 code for United States Minor Outlying Islands (the).", + ) + AS = PermissibleValue(text="AS", description="Alpha2 code for American Samoa.") + AD = PermissibleValue(text="AD", description="Alpha2 code for Andorra.") + AO = PermissibleValue(text="AO", description="Alpha2 code for Angola.") + AI = PermissibleValue(text="AI", description="Alpha2 code for Anguilla.") + AQ = PermissibleValue(text="AQ", description="Alpha2 code for Antarctica.") + AG = PermissibleValue(text="AG", description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue(text="GQ", description="Alpha2 code for Equatorial Guinea.") SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") + text="SY", description="Alpha2 code for Syrian Arab Republic." + ) + AR = PermissibleValue(text="AR", description="Alpha2 code for Argentina.") + AM = PermissibleValue(text="AM", description="Alpha2 code for Armenia.") + AW = PermissibleValue(text="AW", description="Alpha2 code for Aruba.") + AZ = PermissibleValue(text="AZ", description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue(text="ET", description="Alpha2 code for Ethiopia.") + AU = PermissibleValue(text="AU", description="Alpha2 code for Australia.") + BS = PermissibleValue(text="BS", description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue(text="BH", description="Alpha2 code for Bahrain.") + BD = PermissibleValue(text="BD", description="Alpha2 code for Bangladesh.") + BB = PermissibleValue(text="BB", description="Alpha2 code for Barbados.") + BE = PermissibleValue(text="BE", description="Alpha2 code for Belgium.") + BZ = PermissibleValue(text="BZ", description="Alpha2 code for Belize.") + BJ = PermissibleValue(text="BJ", description="Alpha2 code for Benin.") + BM = PermissibleValue(text="BM", description="Alpha2 code for Bermuda.") + BT = PermissibleValue(text="BT", description="Alpha2 code for Bhutan.") VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") + text="VE", description="Alpha2 code for Venezuela (Bolivarian Republic of)." + ) BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + text="BQ", description="Alpha2 code for Bonaire, Sint Eustatius and Saba." + ) BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") + text="BA", description="Alpha2 code for Bosnia and Herzegovina." + ) + BW = PermissibleValue(text="BW", description="Alpha2 code for Botswana.") + BV = PermissibleValue(text="BV", description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue(text="BR", description="Alpha2 code for Brazil.") VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") + text="VG", description="Alpha2 code for Virgin Islands (British)." + ) IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") + text="IO", description="Alpha2 code for British Indian Ocean Territory (the)." + ) + BN = PermissibleValue(text="BN", description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue(text="BG", description="Alpha2 code for Bulgaria.") + BF = PermissibleValue(text="BF", description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue(text="BI", description="Alpha2 code for Burundi.") + CV = PermissibleValue(text="CV", description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue(text="CL", description="Alpha2 code for Chile.") + CN = PermissibleValue(text="CN", description="Alpha2 code for China.") + CK = PermissibleValue(text="CK", description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue(text="CR", description="Alpha2 code for Costa Rica.") + CI = PermissibleValue(text="CI", description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue(text="CW", description="Alpha2 code for Curacao.") + DK = PermissibleValue(text="DK", description="Alpha2 code for Denmark.") CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") + text="CD", description="Alpha2 code for Congo (the Democratic Republic of the)." + ) KP = PermissibleValue( text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + description="Alpha2 code for Korea (the Democratic Peoples Republic of).", + ) LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") + text="LA", description="Alpha2 code for Lao Peoples Democratic Republic (the)." + ) + DE = PermissibleValue(text="DE", description="Alpha2 code for Germany.") + DM = PermissibleValue(text="DM", description="Alpha2 code for Dominica.") DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") + text="DO", description="Alpha2 code for Dominican Republic (the)." + ) + DJ = PermissibleValue(text="DJ", description="Alpha2 code for Djibouti.") + EC = PermissibleValue(text="EC", description="Alpha2 code for Ecuador.") MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") + text="MK", description="Alpha2 code for Republic of North Macedonia." + ) + SV = PermissibleValue(text="SV", description="Alpha2 code for El Salvador.") + ER = PermissibleValue(text="ER", description="Alpha2 code for Eritrea.") + EE = PermissibleValue(text="EE", description="Alpha2 code for Estonia.") FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") + text="FK", description="Alpha2 code for Falkland Islands (the) [Malvinas]." + ) + FO = PermissibleValue(text="FO", description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue(text="FJ", description="Alpha2 code for Fiji.") + FI = PermissibleValue(text="FI", description="Alpha2 code for Finland.") FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") + text="FM", description="Alpha2 code for Micronesia (Federated States of)." + ) + FR = PermissibleValue(text="FR", description="Alpha2 code for France.") TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") + text="TF", description="Alpha2 code for French Southern Territories (the)." + ) + GF = PermissibleValue(text="GF", description="Alpha2 code for French Guiana.") + PF = PermissibleValue(text="PF", description="Alpha2 code for French Polynesia.") + GA = PermissibleValue(text="GA", description="Alpha2 code for Gabon.") + GM = PermissibleValue(text="GM", description="Alpha2 code for Gambia (the).") + GE = PermissibleValue(text="GE", description="Alpha2 code for Georgia.") + GH = PermissibleValue(text="GH", description="Alpha2 code for Ghana.") + GI = PermissibleValue(text="GI", description="Alpha2 code for Gibraltar.") + GD = PermissibleValue(text="GD", description="Alpha2 code for Grenada.") + GR = PermissibleValue(text="GR", description="Alpha2 code for Greece.") + GL = PermissibleValue(text="GL", description="Alpha2 code for Greenland.") + GP = PermissibleValue(text="GP", description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue(text="GU", description="Alpha2 code for Guam.") + GT = PermissibleValue(text="GT", description="Alpha2 code for Guatemala.") + GG = PermissibleValue(text="GG", description="Alpha2 code for Guernsey.") + GN = PermissibleValue(text="GN", description="Alpha2 code for Guinea.") + GW = PermissibleValue(text="GW", description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue(text="GY", description="Alpha2 code for Guyana.") + HT = PermissibleValue(text="HT", description="Alpha2 code for Haiti.") HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") + text="HM", description="Alpha2 code for Heard Island and McDonald Islands." + ) + HN = PermissibleValue(text="HN", description="Alpha2 code for Honduras.") + HK = PermissibleValue(text="HK", description="Alpha2 code for Hong Kong.") + IN = PermissibleValue(text="IN", description="Alpha2 code for India.") + ID = PermissibleValue(text="ID", description="Alpha2 code for Indonesia.") + IM = PermissibleValue(text="IM", description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue(text="IQ", description="Alpha2 code for Iraq.") + IE = PermissibleValue(text="IE", description="Alpha2 code for Ireland.") IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") + text="IR", description="Alpha2 code for Iran (Islamic Republic of)." + ) + IS = PermissibleValue(text="IS", description="Alpha2 code for Iceland.") + IL = PermissibleValue(text="IL", description="Alpha2 code for Israel.") + IT = PermissibleValue(text="IT", description="Alpha2 code for Italy.") + JM = PermissibleValue(text="JM", description="Alpha2 code for Jamaica.") + JP = PermissibleValue(text="JP", description="Alpha2 code for Japan.") + YE = PermissibleValue(text="YE", description="Alpha2 code for Yemen.") + JE = PermissibleValue(text="JE", description="Alpha2 code for Jersey.") + JO = PermissibleValue(text="JO", description="Alpha2 code for Jordan.") KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") + text="KY", description="Alpha2 code for Cayman Islands (the)." + ) + KH = PermissibleValue(text="KH", description="Alpha2 code for Cambodia.") + CM = PermissibleValue(text="CM", description="Alpha2 code for Cameroon.") + CA = PermissibleValue(text="CA", description="Alpha2 code for Canada.") + KZ = PermissibleValue(text="KZ", description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue(text="QA", description="Alpha2 code for Qatar.") + KE = PermissibleValue(text="KE", description="Alpha2 code for Kenya.") + KG = PermissibleValue(text="KG", description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue(text="KI", description="Alpha2 code for Kiribati.") CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") + text="CC", description="Alpha2 code for Cocos (Keeling) Islands (the)." + ) + CO = PermissibleValue(text="CO", description="Alpha2 code for Colombia.") + KM = PermissibleValue(text="KM", description="Alpha2 code for Comoros (the).") + CG = PermissibleValue(text="CG", description="Alpha2 code for Congo (the).") + HR = PermissibleValue(text="HR", description="Alpha2 code for Croatia.") + CU = PermissibleValue(text="CU", description="Alpha2 code for Cuba.") + KW = PermissibleValue(text="KW", description="Alpha2 code for Kuwait.") + LS = PermissibleValue(text="LS", description="Alpha2 code for Lesotho.") + LV = PermissibleValue(text="LV", description="Alpha2 code for Latvia.") + LB = PermissibleValue(text="LB", description="Alpha2 code for Lebanon.") + LR = PermissibleValue(text="LR", description="Alpha2 code for Liberia.") + LY = PermissibleValue(text="LY", description="Alpha2 code for Libya.") + LI = PermissibleValue(text="LI", description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue(text="LT", description="Alpha2 code for Lithuania.") + LU = PermissibleValue(text="LU", description="Alpha2 code for Luxembourg.") + MO = PermissibleValue(text="MO", description="Alpha2 code for Macao.") + MG = PermissibleValue(text="MG", description="Alpha2 code for Madagascar.") + MW = PermissibleValue(text="MW", description="Alpha2 code for Malawi.") + MY = PermissibleValue(text="MY", description="Alpha2 code for Malaysia.") + MV = PermissibleValue(text="MV", description="Alpha2 code for Maldives.") + ML = PermissibleValue(text="ML", description="Alpha2 code for Mali.") + MT = PermissibleValue(text="MT", description="Alpha2 code for Malta.") MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") + text="MP", description="Alpha2 code for Northern Mariana Islands (the)." + ) + MA = PermissibleValue(text="MA", description="Alpha2 code for Morocco.") MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") + text="MH", description="Alpha2 code for Marshall Islands (the)." + ) + MQ = PermissibleValue(text="MQ", description="Alpha2 code for Martinique.") + MR = PermissibleValue(text="MR", description="Alpha2 code for Mauritania.") + MU = PermissibleValue(text="MU", description="Alpha2 code for Mauritius.") + YT = PermissibleValue(text="YT", description="Alpha2 code for Mayotte.") + MX = PermissibleValue(text="MX", description="Alpha2 code for Mexico.") + MC = PermissibleValue(text="MC", description="Alpha2 code for Monaco.") + MN = PermissibleValue(text="MN", description="Alpha2 code for Mongolia.") + MS = PermissibleValue(text="MS", description="Alpha2 code for Montserrat.") + ME = PermissibleValue(text="ME", description="Alpha2 code for Montenegro.") + MZ = PermissibleValue(text="MZ", description="Alpha2 code for Mozambique.") + MM = PermissibleValue(text="MM", description="Alpha2 code for Myanmar.") + NA = PermissibleValue(text="NA", description="Alpha2 code for Namibia.") + NR = PermissibleValue(text="NR", description="Alpha2 code for Nauru.") + NP = PermissibleValue(text="NP", description="Alpha2 code for Nepal.") + NC = PermissibleValue(text="NC", description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue(text="NZ", description="Alpha2 code for New Zealand.") + NI = PermissibleValue(text="NI", description="Alpha2 code for Nicaragua.") + NL = PermissibleValue(text="NL", description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue(text="NE", description="Alpha2 code for Niger (the).") + NG = PermissibleValue(text="NG", description="Alpha2 code for Nigeria.") + NU = PermissibleValue(text="NU", description="Alpha2 code for Niue.") + NF = PermissibleValue(text="NF", description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue(text="OM", description="Alpha2 code for Oman.") + AT = PermissibleValue(text="AT", description="Alpha2 code for Austria.") + PK = PermissibleValue(text="PK", description="Alpha2 code for Pakistan.") + PW = PermissibleValue(text="PW", description="Alpha2 code for Palau.") + PS = PermissibleValue(text="PS", description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue(text="PA", description="Alpha2 code for Panama.") + PG = PermissibleValue(text="PG", description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue(text="PY", description="Alpha2 code for Paraguay.") + PE = PermissibleValue(text="PE", description="Alpha2 code for Peru.") + PH = PermissibleValue(text="PH", description="Alpha2 code for Philippines (the).") + PN = PermissibleValue(text="PN", description="Alpha2 code for Pitcairn.") BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") + text="BO", description="Alpha2 code for Bolivia (Plurinational State of)." + ) + PL = PermissibleValue(text="PL", description="Alpha2 code for Poland.") + PT = PermissibleValue(text="PT", description="Alpha2 code for Portugal.") + PR = PermissibleValue(text="PR", description="Alpha2 code for Puerto Rico.") KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") + text="KR", description="Alpha2 code for Korea (the Republic of)." + ) MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") + text="MD", description="Alpha2 code for Moldova (the Republic of)." + ) + RE = PermissibleValue(text="RE", description="Alpha2 code for Reunion.") + RW = PermissibleValue(text="RW", description="Alpha2 code for Rwanda.") + RO = PermissibleValue(text="RO", description="Alpha2 code for Romania.") RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") + text="RU", description="Alpha2 code for Russian Federation (the)." + ) + SB = PermissibleValue(text="SB", description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue(text="ZM", description="Alpha2 code for Zambia.") + WS = PermissibleValue(text="WS", description="Alpha2 code for Samoa.") + SM = PermissibleValue(text="SM", description="Alpha2 code for San Marino.") ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") + text="ST", description="Alpha2 code for Sao Tome and Principe." + ) + SA = PermissibleValue(text="SA", description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue(text="SE", description="Alpha2 code for Sweden.") + CH = PermissibleValue(text="CH", description="Alpha2 code for Switzerland.") + SN = PermissibleValue(text="SN", description="Alpha2 code for Senegal.") + RS = PermissibleValue(text="RS", description="Alpha2 code for Serbia.") + SC = PermissibleValue(text="SC", description="Alpha2 code for Seychelles.") + SL = PermissibleValue(text="SL", description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue(text="ZW", description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue(text="SG", description="Alpha2 code for Singapore.") + SK = PermissibleValue(text="SK", description="Alpha2 code for Slovakia.") + SI = PermissibleValue(text="SI", description="Alpha2 code for Slovenia.") + SO = PermissibleValue(text="SO", description="Alpha2 code for Somalia.") + ES = PermissibleValue(text="ES", description="Alpha2 code for Spain.") + LK = PermissibleValue(text="LK", description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue(text="BL", description="Alpha2 code for Saint Barthelemy.") SH = PermissibleValue( text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") + text="KN", description="Alpha2 code for Saint Kitts and Nevis." + ) + LC = PermissibleValue(text="LC", description="Alpha2 code for Saint Lucia.") MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") + text="MF", description="Alpha2 code for Saint Martin (French part)." + ) SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") + text="SX", description="Alpha2 code for Sint Maarten (Dutch part)." + ) PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") + text="PM", description="Alpha2 code for Saint Pierre and Miquelon." + ) VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") + text="VC", description="Alpha2 code for Saint Vincent and the Grenadines." + ) + ZA = PermissibleValue(text="ZA", description="Alpha2 code for South Africa.") + SD = PermissibleValue(text="SD", description="Alpha2 code for Sudan (the).") GS = PermissibleValue( text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") + description="Alpha2 code for South Georgia and the South Sandwich Islands.", + ) + SS = PermissibleValue(text="SS", description="Alpha2 code for South Sudan.") + SR = PermissibleValue(text="SR", description="Alpha2 code for Suriname.") SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") + text="SJ", description="Alpha2 code for Svalbard and Jan Mayen." + ) + SZ = PermissibleValue(text="SZ", description="Alpha2 code for Eswatini.") + TJ = PermissibleValue(text="TJ", description="Alpha2 code for Tajikistan.") TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") + text="TW", description="Alpha2 code for Taiwan (Province of China)." + ) + TH = PermissibleValue(text="TH", description="Alpha2 code for Thailand.") + TL = PermissibleValue(text="TL", description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue(text="TG", description="Alpha2 code for Togo.") + TK = PermissibleValue(text="TK", description="Alpha2 code for Tokelau.") + TO = PermissibleValue(text="TO", description="Alpha2 code for Tonga.") + TT = PermissibleValue(text="TT", description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue(text="TD", description="Alpha2 code for Chad.") + CZ = PermissibleValue(text="CZ", description="Alpha2 code for Czechia.") + TN = PermissibleValue(text="TN", description="Alpha2 code for Tunisia.") + TR = PermissibleValue(text="TR", description="Alpha2 code for Turkey.") + TM = PermissibleValue(text="TM", description="Alpha2 code for Turkmenistan.") TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") + text="TC", description="Alpha2 code for Turks and Caicos Islands (the)." + ) + TV = PermissibleValue(text="TV", description="Alpha2 code for Tuvalu.") + UG = PermissibleValue(text="UG", description="Alpha2 code for Uganda.") + UA = PermissibleValue(text="UA", description="Alpha2 code for Ukraine.") + HU = PermissibleValue(text="HU", description="Alpha2 code for Hungary.") + UY = PermissibleValue(text="UY", description="Alpha2 code for Uruguay.") + UZ = PermissibleValue(text="UZ", description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue(text="VU", description="Alpha2 code for Vanuatu.") + VA = PermissibleValue(text="VA", description="Alpha2 code for Holy See (the).") AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") + text="AE", description="Alpha2 code for United Arab Emirates (the)." + ) TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") + text="TZ", description="Alpha2 code for Tanzania, United Republic of." + ) US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") + text="US", description="Alpha2 code for United States of America (the)." + ) GB = PermissibleValue( text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) + VN = PermissibleValue(text="VN", description="Alpha2 code for Viet Nam.") + WF = PermissibleValue(text="WF", description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue(text="CX", description="Alpha2 code for Christmas Island.") + BY = PermissibleValue(text="BY", description="Alpha2 code for Belarus.") + EH = PermissibleValue(text="EH", description="Alpha2 code for Western Sahara.") CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") + text="CF", description="Alpha2 code for Central African Republic (the)." + ) + CY = PermissibleValue(text="CY", description="Alpha2 code for Cyprus.") _defn = EnumDefinition( name="CountryNameAlpha2", @@ -2440,1801 +2393,1781 @@ class CountryNameAlpha2(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) + setattr( + cls, + "False", + PermissibleValue(text="False", description="Alpha2 code for Norway."), + ) -class CountryNameAlpha3(EnumDefinitionImpl): - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") +class CountryNameAlpha3(EnumDefinitionImpl): + AFG = PermissibleValue(text="AFG", description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue(text="ALA", description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue(text="ALB", description="Alpha3 code for Albania.") + DZA = PermissibleValue(text="DZA", description="Alpha3 code for Algeria.") + ASM = PermissibleValue(text="ASM", description="Alpha3 code for American Samoa.") + AND = PermissibleValue(text="AND", description="Alpha3 code for Andorra.") + AGO = PermissibleValue(text="AGO", description="Alpha3 code for Angola.") + AIA = PermissibleValue(text="AIA", description="Alpha3 code for Anguilla.") + ATA = PermissibleValue(text="ATA", description="Alpha3 code for Antarctica.") ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") + text="ATG", description="Alpha3 code for Antigua and Barbuda." + ) + ARG = PermissibleValue(text="ARG", description="Alpha3 code for Argentina.") + ARM = PermissibleValue(text="ARM", description="Alpha3 code for Armenia.") + ABW = PermissibleValue(text="ABW", description="Alpha3 code for Aruba.") + AUS = PermissibleValue(text="AUS", description="Alpha3 code for Australia.") + AUT = PermissibleValue(text="AUT", description="Alpha3 code for Austria.") + AZE = PermissibleValue(text="AZE", description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue(text="BHS", description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue(text="BHR", description="Alpha3 code for Bahrain.") + BGD = PermissibleValue(text="BGD", description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue(text="BRB", description="Alpha3 code for Barbados.") + BLR = PermissibleValue(text="BLR", description="Alpha3 code for Belarus.") + BEL = PermissibleValue(text="BEL", description="Alpha3 code for Belgium.") + BLZ = PermissibleValue(text="BLZ", description="Alpha3 code for Belize.") + BEN = PermissibleValue(text="BEN", description="Alpha3 code for Benin.") + BMU = PermissibleValue(text="BMU", description="Alpha3 code for Bermuda.") + BTN = PermissibleValue(text="BTN", description="Alpha3 code for Bhutan.") BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") + text="BOL", description="Alpha3 code for Bolivia (Plurinational State of)." + ) BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + text="BES", description="Alpha3 code for Bonaire, Sint Eustatius and Saba." + ) BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") + text="BIH", description="Alpha3 code for Bosnia and Herzegovina." + ) + BWA = PermissibleValue(text="BWA", description="Alpha3 code for Botswana.") + BVT = PermissibleValue(text="BVT", description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue(text="BRA", description="Alpha3 code for Brazil.") IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") + text="IOT", description="Alpha3 code for British Indian Ocean Territory (the)." + ) + BRN = PermissibleValue(text="BRN", description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue(text="BGR", description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue(text="BFA", description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue(text="BDI", description="Alpha3 code for Burundi.") + KHM = PermissibleValue(text="KHM", description="Alpha3 code for Cambodia.") + CMR = PermissibleValue(text="CMR", description="Alpha3 code for Cameroon.") + CAN = PermissibleValue(text="CAN", description="Alpha3 code for Canada.") + CPV = PermissibleValue(text="CPV", description="Alpha3 code for Cabo Verde.") CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") + text="CYM", description="Alpha3 code for Cayman Islands (the)." + ) CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") + text="CAF", description="Alpha3 code for Central African Republic (the)." + ) + TCD = PermissibleValue(text="TCD", description="Alpha3 code for Chad.") + CHL = PermissibleValue(text="CHL", description="Alpha3 code for Chile.") + CHN = PermissibleValue(text="CHN", description="Alpha3 code for China.") + CXR = PermissibleValue(text="CXR", description="Alpha3 code for Christmas Island.") CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") + text="CCK", description="Alpha3 code for Cocos (Keeling) Islands (the)." + ) + COL = PermissibleValue(text="COL", description="Alpha3 code for Colombia.") + COM = PermissibleValue(text="COM", description="Alpha3 code for Comoros (the).") + COG = PermissibleValue(text="COG", description="Alpha3 code for Congo (the).") COD = PermissibleValue( text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") + description="Alpha3 code for Congo (the Democratic Republic of the).", + ) COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") + text="COK", description="Alpha3 code for Cook Islands (the)." + ) + CRI = PermissibleValue(text="CRI", description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue(text="CIV", description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue(text="HRV", description="Alpha3 code for Croatia.") + CUB = PermissibleValue(text="CUB", description="Alpha3 code for Cuba.") + CUW = PermissibleValue(text="CUW", description="Alpha3 code for Curacao.") + CYP = PermissibleValue(text="CYP", description="Alpha3 code for Cyprus.") + CZE = PermissibleValue(text="CZE", description="Alpha3 code for Czechia.") + DNK = PermissibleValue(text="DNK", description="Alpha3 code for Denmark.") + DJI = PermissibleValue(text="DJI", description="Alpha3 code for Djibouti.") + DMA = PermissibleValue(text="DMA", description="Alpha3 code for Dominica.") DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") + text="DOM", description="Alpha3 code for Dominican Republic (the)." + ) + ECU = PermissibleValue(text="ECU", description="Alpha3 code for Ecuador.") + EGY = PermissibleValue(text="EGY", description="Alpha3 code for Egypt.") + SLV = PermissibleValue(text="SLV", description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue(text="GNQ", description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue(text="ERI", description="Alpha3 code for Eritrea.") + EST = PermissibleValue(text="EST", description="Alpha3 code for Estonia.") + ETH = PermissibleValue(text="ETH", description="Alpha3 code for Ethiopia.") FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") + text="FLK", description="Alpha3 code for Falkland Islands (the) [Malvinas]." + ) FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") + text="FRO", description="Alpha3 code for Faroe Islands (the)." + ) + FJI = PermissibleValue(text="FJI", description="Alpha3 code for Fiji.") + FIN = PermissibleValue(text="FIN", description="Alpha3 code for Finland.") + FRA = PermissibleValue(text="FRA", description="Alpha3 code for France.") + GUF = PermissibleValue(text="GUF", description="Alpha3 code for French Guiana.") + PYF = PermissibleValue(text="PYF", description="Alpha3 code for French Polynesia.") ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") + text="ATF", description="Alpha3 code for French Southern Territories (the)." + ) + GAB = PermissibleValue(text="GAB", description="Alpha3 code for Gabon.") + GMB = PermissibleValue(text="GMB", description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue(text="GEO", description="Alpha3 code for Georgia.") + DEU = PermissibleValue(text="DEU", description="Alpha3 code for Germany.") + GHA = PermissibleValue(text="GHA", description="Alpha3 code for Ghana.") + GIB = PermissibleValue(text="GIB", description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue(text="GRC", description="Alpha3 code for Greece.") + GRL = PermissibleValue(text="GRL", description="Alpha3 code for Greenland.") + GRD = PermissibleValue(text="GRD", description="Alpha3 code for Grenada.") + GLP = PermissibleValue(text="GLP", description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue(text="GUM", description="Alpha3 code for Guam.") + GTM = PermissibleValue(text="GTM", description="Alpha3 code for Guatemala.") + GGY = PermissibleValue(text="GGY", description="Alpha3 code for Guernsey.") + GIN = PermissibleValue(text="GIN", description="Alpha3 code for Guinea.") + GNB = PermissibleValue(text="GNB", description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue(text="GUY", description="Alpha3 code for Guyana.") + HTI = PermissibleValue(text="HTI", description="Alpha3 code for Haiti.") HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") + text="HMD", description="Alpha3 code for Heard Island and McDonald Islands." + ) + VAT = PermissibleValue(text="VAT", description="Alpha3 code for Holy See (the).") + HND = PermissibleValue(text="HND", description="Alpha3 code for Honduras.") + HKG = PermissibleValue(text="HKG", description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue(text="HUN", description="Alpha3 code for Hungary.") + ISL = PermissibleValue(text="ISL", description="Alpha3 code for Iceland.") + IND = PermissibleValue(text="IND", description="Alpha3 code for India.") + IDN = PermissibleValue(text="IDN", description="Alpha3 code for Indonesia.") IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") + text="IRN", description="Alpha3 code for Iran (Islamic Republic of)." + ) + IRQ = PermissibleValue(text="IRQ", description="Alpha3 code for Iraq.") + IRL = PermissibleValue(text="IRL", description="Alpha3 code for Ireland.") + IMN = PermissibleValue(text="IMN", description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue(text="ISR", description="Alpha3 code for Israel.") + ITA = PermissibleValue(text="ITA", description="Alpha3 code for Italy.") + JAM = PermissibleValue(text="JAM", description="Alpha3 code for Jamaica.") + JPN = PermissibleValue(text="JPN", description="Alpha3 code for Japan.") + JEY = PermissibleValue(text="JEY", description="Alpha3 code for Jersey.") + JOR = PermissibleValue(text="JOR", description="Alpha3 code for Jordan.") + KAZ = PermissibleValue(text="KAZ", description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue(text="KEN", description="Alpha3 code for Kenya.") + KIR = PermissibleValue(text="KIR", description="Alpha3 code for Kiribati.") PRK = PermissibleValue( text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + description="Alpha3 code for Korea (the Democratic Peoples Republic of).", + ) KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") + text="KOR", description="Alpha3 code for Korea (the Republic of)." + ) + KWT = PermissibleValue(text="KWT", description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue(text="KGZ", description="Alpha3 code for Kyrgyzstan.") LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") + text="LAO", description="Alpha3 code for Lao Peoples Democratic Republic (the)." + ) + LVA = PermissibleValue(text="LVA", description="Alpha3 code for Latvia.") + LBN = PermissibleValue(text="LBN", description="Alpha3 code for Lebanon.") + LSO = PermissibleValue(text="LSO", description="Alpha3 code for Lesotho.") + LBR = PermissibleValue(text="LBR", description="Alpha3 code for Liberia.") + LBY = PermissibleValue(text="LBY", description="Alpha3 code for Libya.") + LIE = PermissibleValue(text="LIE", description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue(text="LTU", description="Alpha3 code for Lithuania.") + LUX = PermissibleValue(text="LUX", description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue(text="MAC", description="Alpha3 code for Macao.") MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") + text="MKD", description="Alpha3 code for Republic of North Macedonia." + ) + MDG = PermissibleValue(text="MDG", description="Alpha3 code for Madagascar.") + MWI = PermissibleValue(text="MWI", description="Alpha3 code for Malawi.") + MYS = PermissibleValue(text="MYS", description="Alpha3 code for Malaysia.") + MDV = PermissibleValue(text="MDV", description="Alpha3 code for Maldives.") + MLI = PermissibleValue(text="MLI", description="Alpha3 code for Mali.") + MLT = PermissibleValue(text="MLT", description="Alpha3 code for Malta.") MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") + text="MHL", description="Alpha3 code for Marshall Islands (the)." + ) + MTQ = PermissibleValue(text="MTQ", description="Alpha3 code for Martinique.") + MRT = PermissibleValue(text="MRT", description="Alpha3 code for Mauritania.") + MUS = PermissibleValue(text="MUS", description="Alpha3 code for Mauritius.") + MYT = PermissibleValue(text="MYT", description="Alpha3 code for Mayotte.") + MEX = PermissibleValue(text="MEX", description="Alpha3 code for Mexico.") FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") + text="FSM", description="Alpha3 code for Micronesia (Federated States of)." + ) MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") + text="MDA", description="Alpha3 code for Moldova (the Republic of)." + ) + MCO = PermissibleValue(text="MCO", description="Alpha3 code for Monaco.") + MNG = PermissibleValue(text="MNG", description="Alpha3 code for Mongolia.") + MNE = PermissibleValue(text="MNE", description="Alpha3 code for Montenegro.") + MSR = PermissibleValue(text="MSR", description="Alpha3 code for Montserrat.") + MAR = PermissibleValue(text="MAR", description="Alpha3 code for Morocco.") + MOZ = PermissibleValue(text="MOZ", description="Alpha3 code for Mozambique.") + MMR = PermissibleValue(text="MMR", description="Alpha3 code for Myanmar.") + NAM = PermissibleValue(text="NAM", description="Alpha3 code for Namibia.") + NRU = PermissibleValue(text="NRU", description="Alpha3 code for Nauru.") + NPL = PermissibleValue(text="NPL", description="Alpha3 code for Nepal.") + NLD = PermissibleValue(text="NLD", description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue(text="NCL", description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue(text="NZL", description="Alpha3 code for New Zealand.") + NIC = PermissibleValue(text="NIC", description="Alpha3 code for Nicaragua.") + NER = PermissibleValue(text="NER", description="Alpha3 code for Niger (the).") + NGA = PermissibleValue(text="NGA", description="Alpha3 code for Nigeria.") + NIU = PermissibleValue(text="NIU", description="Alpha3 code for Niue.") + NFK = PermissibleValue(text="NFK", description="Alpha3 code for Norfolk Island.") MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") + text="MNP", description="Alpha3 code for Northern Mariana Islands (the)." + ) + NOR = PermissibleValue(text="NOR", description="Alpha3 code for Norway.") + OMN = PermissibleValue(text="OMN", description="Alpha3 code for Oman.") + PAK = PermissibleValue(text="PAK", description="Alpha3 code for Pakistan.") + PLW = PermissibleValue(text="PLW", description="Alpha3 code for Palau.") PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") + text="PSE", description="Alpha3 code for Palestine, State of." + ) + PAN = PermissibleValue(text="PAN", description="Alpha3 code for Panama.") + PNG = PermissibleValue(text="PNG", description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue(text="PRY", description="Alpha3 code for Paraguay.") + PER = PermissibleValue(text="PER", description="Alpha3 code for Peru.") + PHL = PermissibleValue(text="PHL", description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue(text="PCN", description="Alpha3 code forPitcairn.") + POL = PermissibleValue(text="POL", description="Alpha3 code for Poland.") + PRT = PermissibleValue(text="PRT", description="Alpha3 code for Portugal.") + PRI = PermissibleValue(text="PRI", description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue(text="QAT", description="Alpha3 code for Qatar.") + SRB = PermissibleValue(text="SRB", description="Alpha3 code for Serbia.") + REU = PermissibleValue(text="REU", description="Alpha3 code for Reunion.") + ROU = PermissibleValue(text="ROU", description="Alpha3 code for Romania.") RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") + text="RUS", description="Alpha3 code for Russian Federation (the)." + ) + RWA = PermissibleValue(text="RWA", description="Alpha3 code for Rwanda.") + BLM = PermissibleValue(text="BLM", description="Alpha3 code for Saint Barthelemy.") SHN = PermissibleValue( text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") + text="KNA", description="Alpha3 code for Saint Kitts and Nevis." + ) + LCA = PermissibleValue(text="LCA", description="Alpha3 code for Saint Lucia.") MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") + text="MAF", description="Alpha3 code for Saint Martin (French part)." + ) SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") + text="SPM", description="Alpha3 code for Saint Pierre and Miquelon." + ) VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") + text="VCT", description="Alpha3 code for Saint Vincent and the Grenadines." + ) + WSM = PermissibleValue(text="WSM", description="Alpha3 code for Samoa.") + SMR = PermissibleValue(text="SMR", description="Alpha3 code for San Marino.") STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") + text="STP", description="Alpha3 code for Sao Tome and Principe." + ) + SAU = PermissibleValue(text="SAU", description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue(text="SEN", description="Alpha3 code for Senegal.") + SYC = PermissibleValue(text="SYC", description="Alpha3 code for Seychelles.") + SLE = PermissibleValue(text="SLE", description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue(text="SGP", description="Alpha3 code for Singapore.") SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") + text="SXM", description="Alpha3 code for Sint Maarten (Dutch part)." + ) + SVK = PermissibleValue(text="SVK", description="Alpha3 code for Slovakia.") + SVN = PermissibleValue(text="SVN", description="Alpha3 code for Slovenia.") + SLB = PermissibleValue(text="SLB", description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue(text="SOM", description="Alpha3 code for Somalia.") + ZAF = PermissibleValue(text="ZAF", description="Alpha3 code for South Africa.") SGS = PermissibleValue( text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") + description="Alpha3 code for South Georgia and the South Sandwich Islands.", + ) + SSD = PermissibleValue(text="SSD", description="Alpha3 code for South Sudan.") + ESP = PermissibleValue(text="ESP", description="Alpha3 code for Spain.") + LKA = PermissibleValue(text="LKA", description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue(text="SDN", description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue(text="SUR", description="Alpha3 code for Suriname.") SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") + text="SJM", description="Alpha3 code for Svalbard and Jan Mayen." + ) + SWZ = PermissibleValue(text="SWZ", description="Alpha3 code for Eswatini.") + SWE = PermissibleValue(text="SWE", description="Alpha3 code for Sweden.") + CHE = PermissibleValue(text="CHE", description="Alpha3 code for Switzerland.") SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") + text="SYR", description="Alpha3 code for Syrian Arab Republic." + ) TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") + text="TWN", description="Alpha3 code for Taiwan (Province of China)." + ) + TJK = PermissibleValue(text="TJK", description="Alpha3 code for Tajikistan.") TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") + text="TZA", description="Alpha3 code for Tanzania, United Republic of." + ) + THA = PermissibleValue(text="THA", description="Alpha3 code for Thailand.") + TLS = PermissibleValue(text="TLS", description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue(text="TGO", description="Alpha3 code for Togo.") + TKL = PermissibleValue(text="TKL", description="Alpha3 code for Tokelau.") + TON = PermissibleValue(text="TON", description="Alpha3 code for Tonga.") TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") + text="TTO", description="Alpha3 code for Trinidad and Tobago." + ) + TUN = PermissibleValue(text="TUN", description="Alpha3 code for Tunisia.") + TUR = PermissibleValue(text="TUR", description="Alpha3 code for Turkey.") XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") + text="XTX", description="Alpha3 code for Turkish Republic of northern Cyprus." + ) + TKM = PermissibleValue(text="TKM", description="Alpha3 code for Turkmenistan.") TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") + text="TCA", description="Alpha3 code for Turks and Caicos Islands (the)." + ) + TUV = PermissibleValue(text="TUV", description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue(text="UGA", description="Alpha3 code for Uganda.") + UKR = PermissibleValue(text="UKR", description="Alpha3 code for Ukraine.") ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") + text="ARE", description="Alpha3 code for United Arab Emirates (the)." + ) GBR = PermissibleValue( text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") + text="USA", description="Alpha3 code for United States of America (the)." + ) UMI = PermissibleValue( text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") + description="Alpha3 code for United States Minor Outlying Islands (the).", + ) + URY = PermissibleValue(text="URY", description="Alpha3 code for Uruguay.") + UZB = PermissibleValue(text="UZB", description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue(text="VUT", description="Alpha3 code for Vanuatu.") VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") + text="VEN", description="Alpha3 code for Venezuela (Bolivarian Republic of)." + ) + VNM = PermissibleValue(text="VNM", description="Alpha3 code for Viet Nam.") VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") + text="VGB", description="Alpha3 code for Virgin Islands (British)." + ) VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") + text="VIR", description="Alpha3 code for Virgin Islands (U.S.)." + ) + WLF = PermissibleValue(text="WLF", description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue(text="ESH", description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue(text="YEM", description="Alpha3 code for Yemen.") + ZMB = PermissibleValue(text="ZMB", description="Alpha3 code for Zambia.") + ZWE = PermissibleValue(text="ZWE", description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue(text="XKX", description="Alpha3 code for Kosovo.") _defn = EnumDefinition( name="CountryNameAlpha3", ) -class CountryNameNumeric(EnumDefinitionImpl): +class CountryNameNumeric(EnumDefinitionImpl): _defn = EnumDefinition( name="CountryNameNumeric", ) @classmethod def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", + setattr( + cls, + "4", + PermissibleValue(text="4", description="Numeric code for Afghanistan."), + ) + setattr( + cls, + "818", + PermissibleValue(text="818", description="Numeric code for Egypt."), + ) + setattr( + cls, + "248", + PermissibleValue(text="248", description="Numeric code for Aland Islands."), + ) + setattr( + cls, + "008", + PermissibleValue(text="008", description="Numeric code for Albania."), + ) + setattr( + cls, + "10", + PermissibleValue(text="10", description="Numeric code for Algeria."), + ) + setattr( + cls, + "850", + PermissibleValue( + text="850", description="Numeric code for Virgin Islands (U.S.)." + ), + ) + setattr( + cls, + "581", PermissibleValue( text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", + description="Numeric code for United States Minor Outlying Islands (the).", + ), + ) + setattr( + cls, + "14", + PermissibleValue(text="14", description="Numeric code for American Samoa."), + ) + setattr( + cls, + "16", + PermissibleValue(text="16", description="Numeric code for Andorra."), + ) + setattr( + cls, + "20", + PermissibleValue(text="20", description="Numeric code for Angola."), + ) + setattr( + cls, + "660", + PermissibleValue(text="660", description="Numeric code for Anguilla."), + ) + setattr( + cls, + "8", + PermissibleValue(text="8", description="Numeric code for Antarctica."), + ) + setattr( + cls, + "028", + PermissibleValue( + text="028", description="Numeric code for Antigua and Barbuda." + ), + ) + setattr( + cls, + "226", + PermissibleValue( + text="226", description="Numeric code for Equatorial Guinea." + ), + ) + setattr( + cls, + "760", + PermissibleValue( + text="760", description="Numeric code for Syrian Arab Republic." + ), + ) + setattr( + cls, + "26", + PermissibleValue(text="26", description="Numeric code for Argentina."), + ) + setattr( + cls, + "41", + PermissibleValue(text="41", description="Numeric code for Armenia."), + ) + setattr( + cls, + "231", + PermissibleValue(text="231", description="Numeric code for Ethiopia."), + ) + setattr( + cls, + "30", + PermissibleValue(text="30", description="Numeric code for Australia."), + ) + setattr( + cls, + "36", + PermissibleValue(text="36", description="Numeric code for Bahamas (the)."), + ) + setattr( + cls, + "048", + PermissibleValue(text="048", description="Numeric code for Bahrain."), + ) + setattr( + cls, + "40", + PermissibleValue(text="40", description="Numeric code for Bangladesh."), + ) + setattr( + cls, + "42", + PermissibleValue(text="42", description="Numeric code for Barbados."), + ) + setattr( + cls, + "46", + PermissibleValue(text="46", description="Numeric code forBelgium."), + ) + setattr( + cls, + "084", + PermissibleValue(text="084", description="Numeric code for Belize."), + ) + setattr( + cls, + "204", + PermissibleValue(text="204", description="Numeric code for Benin."), + ) + setattr( + cls, + "48", + PermissibleValue(text="48", description="Numeric code for Bermuda."), + ) + setattr( + cls, + "52", + PermissibleValue(text="52", description="Numeric code for Bhutan."), + ) + setattr( + cls, + "58", + PermissibleValue(text="58", description="Numeric code for Botswana."), + ) + setattr( + cls, + "60", + PermissibleValue(text="60", description="Numeric code for Bouvet Island."), + ) + setattr( + cls, + "62", + PermissibleValue(text="62", description="Numeric code for Brazil."), + ) + setattr( + cls, + "092", + PermissibleValue( + text="092", description="Numeric code for Virgin Islands (British)." + ), + ) + setattr( + cls, + "086", PermissibleValue( text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", + description="Numeric code for British Indian Ocean Territory (the).", + ), + ) + setattr( + cls, + "854", + PermissibleValue(text="854", description="Numeric code for Burkina Faso."), + ) + setattr( + cls, + "108", + PermissibleValue(text="108", description="Numeric code for Burundi."), + ) + setattr( + cls, + "132", + PermissibleValue(text="132", description="Numeric code for Cabo Verde."), + ) + setattr( + cls, + "152", + PermissibleValue(text="152", description="Numeric code for Chile."), + ) + setattr( + cls, + "156", + PermissibleValue(text="156", description="Numeric code for China."), + ) + setattr( + cls, + "184", + PermissibleValue( + text="184", description="Numeric code for Cook Islands (the)." + ), + ) + setattr( + cls, + "188", + PermissibleValue(text="188", description="Numeric code for Costa Rica."), + ) + setattr( + cls, + "384", + PermissibleValue(text="384", description="Numeric code for Cote dIvoire."), + ) + setattr( + cls, + "531", + PermissibleValue(text="531", description="Numeric code for Curacao."), + ) + setattr( + cls, + "208", + PermissibleValue(text="208", description="Numeric code for Denmark."), + ) + setattr( + cls, + "180", PermissibleValue( text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", + description="Numeric code for Congo (the Democratic Republic of the).", + ), + ) + setattr( + cls, + "408", PermissibleValue( text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", + description="Numeric code for Korea (the Democratic Peoples Republic of).", + ), + ) + setattr( + cls, + "418", PermissibleValue( text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", + description="Numeric code for Lao Peoples Democratic Republic (the).", + ), + ) + setattr( + cls, + "276", + PermissibleValue(text="276", description="Numeric code for Germany."), + ) + setattr( + cls, + "212", + PermissibleValue(text="212", description="Numeric code for Dominica."), + ) + setattr( + cls, + "214", + PermissibleValue( + text="214", description="Numeric code for Dominican Republic (the)." + ), + ) + setattr( + cls, + "262", + PermissibleValue(text="262", description="Numeric code for Djibouti."), + ) + setattr( + cls, + "218", + PermissibleValue(text="218", description="Numeric code for Ecuador."), + ) + setattr( + cls, + "807", + PermissibleValue( + text="807", description="Numeric code for Republic of North Macedonia." + ), + ) + setattr( + cls, + "222", + PermissibleValue(text="222", description="Numeric code for El Salvador."), + ) + setattr( + cls, + "232", + PermissibleValue(text="232", description="Numeric code for Eritrea."), + ) + setattr( + cls, + "233", + PermissibleValue(text="233", description="Numeric code for Estonia."), + ) + setattr( + cls, + "238", PermissibleValue( text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", + description="Numeric code for Falkland Islands (the) [Malvinas].", + ), + ) + setattr( + cls, + "234", + PermissibleValue( + text="234", description="Numeric code for Faroe Islands (the)." + ), + ) + setattr( + cls, + "242", + PermissibleValue(text="242", description="Numeric code for Fiji."), + ) + setattr( + cls, + "246", + PermissibleValue(text="246", description="Numeric code for Finland."), + ) + setattr( + cls, + "583", PermissibleValue( text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", + description="Numeric code for Micronesia (Federated States of).", + ), + ) + setattr( + cls, + "250", + PermissibleValue(text="250", description="Numeric code for France."), + ) + setattr( + cls, + "260", PermissibleValue( text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", + description="Numeric code for French Southern Territories (the).", + ), + ) + setattr( + cls, + "254", + PermissibleValue(text="254", description="Numeric code for French Guiana."), + ) + setattr( + cls, + "258", + PermissibleValue( + text="258", description="Numeric code for French Polynesia." + ), + ) + setattr( + cls, + "266", + PermissibleValue(text="266", description="Numeric code for Gabon."), + ) + setattr( + cls, + "270", + PermissibleValue(text="270", description="Numeric code for Gambia (the)."), + ) + setattr( + cls, + "268", + PermissibleValue(text="268", description="Numeric code for Georgia."), + ) + setattr( + cls, + "288", + PermissibleValue(text="288", description="Numeric code for Ghana."), + ) + setattr( + cls, + "292", + PermissibleValue(text="292", description="Numeric code for Gibraltar."), + ) + setattr( + cls, + "308", + PermissibleValue(text="308", description="Numeric code for Grenada."), + ) + setattr( + cls, + "300", + PermissibleValue(text="300", description="Numeric code for Greece."), + ) + setattr( + cls, + "304", + PermissibleValue(text="304", description="Numeric code for Greenland."), + ) + setattr( + cls, + "312", + PermissibleValue(text="312", description="Numeric code for Guadeloupe."), + ) + setattr( + cls, + "316", + PermissibleValue(text="316", description="Numeric code for Guam."), + ) + setattr( + cls, + "320", + PermissibleValue(text="320", description="Numeric code for Guatemala."), + ) + setattr( + cls, + "831", + PermissibleValue(text="831", description="Numeric code for Guernsey."), + ) + setattr( + cls, + "324", + PermissibleValue(text="324", description="Numeric code for Guinea."), + ) + setattr( + cls, + "624", + PermissibleValue(text="624", description="Numeric code for Guinea-Bissau."), + ) + setattr( + cls, + "328", + PermissibleValue(text="328", description="Numeric code for Guyana."), + ) + setattr( + cls, + "332", + PermissibleValue(text="332", description="Numeric code for Haiti."), + ) + setattr( + cls, + "334", PermissibleValue( text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", + description="Numeric code for Heard Island and McDonald Islands.", + ), + ) + setattr( + cls, + "340", + PermissibleValue(text="340", description="Numeric code for Honduras."), + ) + setattr( + cls, + "344", + PermissibleValue(text="344", description="Numeric code for Hong Kong."), + ) + setattr( + cls, + "356", + PermissibleValue(text="356", description="Numeric code for India."), + ) + setattr( + cls, + "360", + PermissibleValue(text="360", description="Numeric code for Indonesia."), + ) + setattr( + cls, + "833", + PermissibleValue(text="833", description="Numeric code for Isle of Man."), + ) + setattr( + cls, + "368", + PermissibleValue(text="368", description="Numeric code for Iraq."), + ) + setattr( + cls, + "372", + PermissibleValue(text="372", description="Numeric code for Ireland."), + ) + setattr( + cls, + "364", + PermissibleValue( + text="364", description="Numeric code for Iran (Islamic Republic of)." + ), + ) + setattr( + cls, + "352", + PermissibleValue(text="352", description="Numeric code for Iceland."), + ) + setattr( + cls, + "376", + PermissibleValue(text="376", description="Numeric code for Israel."), + ) + setattr( + cls, + "380", + PermissibleValue(text="380", description="Numeric code for Italy."), + ) + setattr( + cls, + "388", + PermissibleValue(text="388", description="Numeric code for Jamaica."), + ) + setattr( + cls, + "392", + PermissibleValue(text="392", description="Numeric code for Japan."), + ) + setattr( + cls, + "887", + PermissibleValue(text="887", description="Numeric code for Yemen."), + ) + setattr( + cls, + "832", + PermissibleValue(text="832", description="Numeric code for Jersey."), + ) + setattr( + cls, + "400", + PermissibleValue(text="400", description="Numeric code for Jordan."), + ) + setattr( + cls, + "136", + PermissibleValue( + text="136", description="Numeric code for Cayman Islands (the)." + ), + ) + setattr( + cls, + "116", + PermissibleValue(text="116", description="Numeric code for Cambodia."), + ) + setattr( + cls, + "120", + PermissibleValue(text="120", description="Numeric code for Cameroon."), + ) + setattr( + cls, + "124", + PermissibleValue(text="124", description="Numeric code for Canada."), + ) + setattr( + cls, + "398", + PermissibleValue(text="398", description="Numeric code for Kazakhstan."), + ) + setattr( + cls, + "634", + PermissibleValue(text="634", description="Numeric code for Qatar."), + ) + setattr( + cls, + "404", + PermissibleValue(text="404", description="Numeric code for Kenya."), + ) + setattr( + cls, + "417", + PermissibleValue(text="417", description="Numeric code for Kyrgyzstan."), + ) + setattr( + cls, + "296", + PermissibleValue(text="296", description="Numeric code for Kiribati."), + ) + setattr( + cls, + "166", PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).", + ), + ) + setattr( + cls, + "170", + PermissibleValue(text="170", description="Numeric code for Colombia."), + ) + setattr( + cls, + "174", + PermissibleValue(text="174", description="Numeric code for Comoros (the)."), + ) + setattr( + cls, + "178", + PermissibleValue(text="178", description="Numeric code for Congo (the)."), + ) + setattr( + cls, + "191", + PermissibleValue(text="191", description="Numeric code for Croatia."), + ) + setattr( + cls, + "192", + PermissibleValue(text="192", description="Numeric code for Cuba."), + ) + setattr( + cls, + "414", + PermissibleValue(text="414", description="Numeric code for Kuwait."), + ) + setattr( + cls, + "426", + PermissibleValue(text="426", description="Numeric code for Lesotho."), + ) + setattr( + cls, + "428", + PermissibleValue(text="428", description="Numeric code for Latvia."), + ) + setattr( + cls, + "422", + PermissibleValue(text="422", description="Numeric code for Lebanon."), + ) + setattr( + cls, + "430", + PermissibleValue(text="430", description="Numeric code for Liberia."), + ) + setattr( + cls, + "434", + PermissibleValue(text="434", description="Numeric code for Libya."), + ) + setattr( + cls, + "438", + PermissibleValue(text="438", description="Numeric code for Liechtenstein."), + ) + setattr( + cls, + "440", + PermissibleValue(text="440", description="Numeric code for Lithuania."), + ) + setattr( + cls, + "442", + PermissibleValue(text="442", description="Numeric code for Luxembourg."), + ) + setattr( + cls, + "446", + PermissibleValue(text="446", description="Numeric code for Macao."), + ) + setattr( + cls, + "450", + PermissibleValue(text="450", description="Numeric code for Madagascar."), + ) + setattr( + cls, + "454", + PermissibleValue(text="454", description="Numeric code for Malawi."), + ) + setattr( + cls, + "458", + PermissibleValue(text="458", description="Numeric code for Malaysia."), + ) + setattr( + cls, + "462", + PermissibleValue(text="462", description="Numeric code for Maldives."), + ) + setattr( + cls, + "466", + PermissibleValue(text="466", description="Numeric code for Mali."), + ) + setattr( + cls, + "470", + PermissibleValue(text="470", description="Numeric code for Malta ."), + ) + setattr( + cls, + "580", PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", + text="580", + description="Numeric code for Northern Mariana Islands (the).", + ), + ) + setattr( + cls, + "504", + PermissibleValue(text="504", description="Numeric code for Morocco."), + ) + setattr( + cls, + "584", + PermissibleValue( + text="584", description="Numeric code for Marshall Islands (the)." + ), + ) + setattr( + cls, + "474", + PermissibleValue(text="474", description="Numeric code for Martinique."), + ) + setattr( + cls, + "478", + PermissibleValue(text="478", description="Numeric code for Mauritania."), + ) + setattr( + cls, + "480", + PermissibleValue(text="480", description="Numeric code for Mauritius."), + ) + setattr( + cls, + "175", + PermissibleValue(text="175", description="Numeric code for Mayotte."), + ) + setattr( + cls, + "484", + PermissibleValue(text="484", description="Numeric code for Mexico."), + ) + setattr( + cls, + "492", + PermissibleValue(text="492", description="Numeric code for Monaco."), + ) + setattr( + cls, + "496", + PermissibleValue(text="496", description="Numeric code for Mongolia."), + ) + setattr( + cls, + "500", + PermissibleValue(text="500", description="Numeric code for Montserrat."), + ) + setattr( + cls, + "499", + PermissibleValue(text="499", description="Numeric code for Montenegro."), + ) + setattr( + cls, + "508", + PermissibleValue(text="508", description="Numeric code for Mozambique."), + ) + setattr( + cls, + "104", + PermissibleValue(text="104", description="Numeric code for Myanmar."), + ) + setattr( + cls, + "516", + PermissibleValue(text="516", description="Numeric code for Namibia."), + ) + setattr( + cls, + "520", + PermissibleValue(text="520", description="Numeric code for Nauru."), + ) + setattr( + cls, + "524", + PermissibleValue(text="524", description="Numeric code for Nepal."), + ) + setattr( + cls, + "540", + PermissibleValue(text="540", description="Numeric code for New Caledonia."), + ) + setattr( + cls, + "554", + PermissibleValue(text="554", description="Numeric code for New Zealand."), + ) + setattr( + cls, + "558", + PermissibleValue(text="558", description="Numeric code for Nicaragua."), + ) + setattr( + cls, + "528", + PermissibleValue( + text="528", description="Numeric code for Netherlands (the)." + ), + ) + setattr( + cls, + "562", + PermissibleValue(text="562", description="Numeric code for Niger (the)."), + ) + setattr( + cls, + "566", + PermissibleValue(text="566", description="Numeric code for Nigeria."), + ) + setattr( + cls, + "570", + PermissibleValue(text="570", description="Numeric code for Niue."), + ) + setattr( + cls, + "574", + PermissibleValue( + text="574", description="Numeric code for Norfolk Island." + ), + ) + setattr( + cls, + "578", + PermissibleValue(text="578", description="Numeric code for Norway."), + ) + setattr( + cls, + "512", + PermissibleValue(text="512", description="Numeric code for Oman."), + ) + setattr( + cls, + "32", + PermissibleValue(text="32", description="Numeric code for Austria."), + ) + setattr( + cls, + "586", + PermissibleValue(text="586", description="Numeric code for Pakistan."), + ) + setattr( + cls, + "585", + PermissibleValue(text="585", description="Numeric code for Palau."), + ) + setattr( + cls, + "275", + PermissibleValue( + text="275", description="Numeric code for Palestine, State of." + ), + ) + setattr( + cls, + "591", + PermissibleValue(text="591", description="Numeric code for Panama."), + ) + setattr( + cls, + "598", + PermissibleValue( + text="598", description="Numeric code for Papua New Guinea." + ), + ) + setattr( + cls, + "600", + PermissibleValue(text="600", description="Numeric code for Paraguay."), + ) + setattr( + cls, + "604", + PermissibleValue(text="604", description="Numeric code for Peru."), + ) + setattr( + cls, + "608", + PermissibleValue( + text="608", description="Numeric code for Philippines (the)." + ), + ) + setattr( + cls, + "612", + PermissibleValue(text="612", description="Numeric code for Pitcairn."), + ) + setattr( + cls, + "068", PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", + text="068", + description="Numeric code for Bolivia (Plurinational State of).", + ), + ) + setattr( + cls, + "616", + PermissibleValue(text="616", description="Numeric code for Poland."), + ) + setattr( + cls, + "620", + PermissibleValue(text="620", description="Numeric code for Portugal."), + ) + setattr( + cls, + "630", + PermissibleValue(text="630", description="Numeric code for Puerto Rico."), + ) + setattr( + cls, + "410", + PermissibleValue( + text="410", description="Numeric code for Korea (the Republic of)." + ), + ) + setattr( + cls, + "498", + PermissibleValue( + text="498", description="Numeric code for Moldova (the Republic of)." + ), + ) + setattr( + cls, + "638", + PermissibleValue(text="638", description="Numeric code for Reunion."), + ) + setattr( + cls, + "646", + PermissibleValue(text="646", description="Numeric code for Rwanda."), + ) + setattr( + cls, + "642", + PermissibleValue(text="642", description="Numeric code for Romania."), + ) + setattr( + cls, + "643", + PermissibleValue( + text="643", description="Numeric code for Russian Federation (the)." + ), + ) + setattr( + cls, + "090", + PermissibleValue( + text="090", description="Numeric code for Solomon Islands." + ), + ) + setattr( + cls, + "894", + PermissibleValue(text="894", description="Numeric code for Zambia."), + ) + setattr( + cls, + "882", + PermissibleValue(text="882", description="Numeric code for Samoa."), + ) + setattr( + cls, + "674", + PermissibleValue(text="674", description="Numeric code for San Marino."), + ) + setattr( + cls, + "678", + PermissibleValue( + text="678", description="Numeric code for Sao Tome and Principe." + ), + ) + setattr( + cls, + "682", + PermissibleValue(text="682", description="Numeric code for Saudi Arabia."), + ) + setattr( + cls, + "752", + PermissibleValue(text="752", description="Numeric code for Sweden."), + ) + setattr( + cls, + "756", + PermissibleValue(text="756", description="Numeric code for Switzerland."), + ) + setattr( + cls, + "686", + PermissibleValue(text="686", description="Numeric code for Senegal."), + ) + setattr( + cls, + "688", + PermissibleValue(text="688", description="Numeric code for Serbia."), + ) + setattr( + cls, + "690", + PermissibleValue(text="690", description="Numeric code for Seychelles."), + ) + setattr( + cls, + "694", + PermissibleValue(text="694", description="Numeric code for Sierra Leone."), + ) + setattr( + cls, + "716", + PermissibleValue(text="716", description="Numeric code for Zimbabwe."), + ) + setattr( + cls, + "702", + PermissibleValue(text="702", description="Numeric code for Singapore."), + ) + setattr( + cls, + "703", + PermissibleValue(text="703", description="Numeric code for Slovakia."), + ) + setattr( + cls, + "705", + PermissibleValue(text="705", description="Numeric code for Slovenia."), + ) + setattr( + cls, + "706", + PermissibleValue(text="706", description="Numeric code for Somalia."), + ) + setattr( + cls, + "724", + PermissibleValue(text="724", description="Numeric code for Spain."), + ) + setattr( + cls, + "144", + PermissibleValue(text="144", description="Numeric code for Sri Lanka."), + ) + setattr( + cls, + "652", + PermissibleValue( + text="652", description="Numeric code for Saint Barthelemy." + ), + ) + setattr( + cls, + "654", PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.", + ), + ) + setattr( + cls, + "659", + PermissibleValue( + text="659", description="Numeric code for Saint Kitts and Nevis." + ), + ) + setattr( + cls, + "662", + PermissibleValue(text="662", description="Numeric code for Saint Lucia."), + ) + setattr( + cls, + "663", + PermissibleValue( + text="663", description="Numeric code for Saint Martin (French part)." + ), + ) + setattr( + cls, + "534", + PermissibleValue( + text="534", description="Numeric code for Sint Maarten (Dutch part)." + ), + ) + setattr( + cls, + "666", + PermissibleValue( + text="666", description="Numeric code for Saint Pierre and Miquelon." + ), + ) + setattr( + cls, + "670", PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", + text="670", + description="Numeric code for Saint Vincent and the Grenadines.", + ), + ) + setattr( + cls, + "710", + PermissibleValue(text="710", description="Numeric code for South Africa."), + ) + setattr( + cls, + "729", + PermissibleValue(text="729", description="Numeric code forSudan (the)."), + ) + setattr( + cls, + "239", PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.", + ), + ) + setattr( + cls, + "728", + PermissibleValue(text="728", description="Numeric code for South Sudan."), + ) + setattr( + cls, + "740", + PermissibleValue(text="740", description="Numeric code for Suriname."), + ) + setattr( + cls, + "744", + PermissibleValue( + text="744", description="Numeric code for Svalbard and Jan Mayen." + ), + ) + setattr( + cls, + "748", + PermissibleValue(text="748", description="Numeric code for Eswatini."), + ) + setattr( + cls, + "762", + PermissibleValue(text="762", description="Numeric code for Tajikistan."), + ) + setattr( + cls, + "158", + PermissibleValue( + text="158", description="Numeric code for Taiwan (Province of China)." + ), + ) + setattr( + cls, + "764", + PermissibleValue(text="764", description="Numeric code for Thailand."), + ) + setattr( + cls, + "626", + PermissibleValue(text="626", description="Numeric code for Timor-Leste."), + ) + setattr( + cls, + "768", + PermissibleValue(text="768", description="Numeric code for Togo."), + ) + setattr( + cls, + "772", + PermissibleValue(text="772", description="Numeric code for Tokelau."), + ) + setattr( + cls, + "776", + PermissibleValue(text="776", description="Numeric code for Tonga."), + ) + setattr( + cls, + "780", + PermissibleValue( + text="780", description="Numeric code for Trinidad and Tobago." + ), + ) + setattr( + cls, + "148", + PermissibleValue(text="148", description="Numeric code for Chad."), + ) + setattr( + cls, + "203", + PermissibleValue(text="203", description="Numeric code for Czechia."), + ) + setattr( + cls, + "788", + PermissibleValue(text="788", description="Numeric code for Tunisia."), + ) + setattr( + cls, + "792", + PermissibleValue(text="792", description="Numeric code for Turkey."), + ) + setattr( + cls, + "795", + PermissibleValue(text="795", description="Numeric code for Turkmenistan."), + ) + setattr( + cls, + "796", PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", + text="796", + description="Numeric code for Turks and Caicos Islands (the).", + ), + ) + setattr( + cls, + "798", + PermissibleValue(text="798", description="Numeric code for Tuvalu."), + ) + setattr( + cls, + "800", + PermissibleValue(text="800", description="Numeric code for Uganda."), + ) + setattr( + cls, + "804", + PermissibleValue(text="804", description="Numeric code for Ukraine."), + ) + setattr( + cls, + "348", + PermissibleValue(text="348", description="Numeric code for Hungary."), + ) + setattr( + cls, + "858", + PermissibleValue(text="858", description="Numeric code for Uruguay."), + ) + setattr( + cls, + "860", + PermissibleValue(text="860", description="Numeric code for Uzbekistan."), + ) + setattr( + cls, + "548", + PermissibleValue(text="548", description="Numeric code for Vanuatu."), + ) + setattr( + cls, + "336", + PermissibleValue( + text="336", description="Numeric code for Holy See (the)." + ), + ) + setattr( + cls, + "784", + PermissibleValue( + text="784", description="Numeric code for United Arab Emirates (the)." + ), + ) + setattr( + cls, + "834", + PermissibleValue( + text="834", description="Numeric code for Tanzania, United Republic of." + ), + ) + setattr( + cls, + "840", PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", + text="840", + description="Numeric code for United States of America (the).", + ), + ) + setattr( + cls, + "826", PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).", + ), + ) + setattr( + cls, + "704", + PermissibleValue(text="704", description="Numeric code for Viet Nam."), + ) + setattr( + cls, + "876", + PermissibleValue( + text="876", description="Numeric code for Wallis and Futuna." + ), + ) + setattr( + cls, + "162", + PermissibleValue( + text="162", description="Numeric code for Christmas Island." + ), + ) + setattr( + cls, + "112", + PermissibleValue(text="112", description="Numeric code for Belarus."), + ) + setattr( + cls, + "732", + PermissibleValue( + text="732", description="Numeric code for Western Sahara." + ), + ) + setattr( + cls, + "140", PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", + text="140", + description="Numeric code for Central African Republic (the).", + ), + ) + setattr( + cls, + "196", + PermissibleValue(text="196", description="Numeric code for Cyprus."), + ) + + +class Architectures(EnumDefinitionImpl): + other = PermissibleValue( + text="other", description="CPU architecture not specified above." + ) + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr( + cls, + "x86-32", + PermissibleValue( + text="x86-32", description="32 bit version of x86 architecture." + ), + ) + setattr( + cls, + "x86-64", + PermissibleValue( + text="x86-64", description="64 bit version of x86 architecture." + ), + ) + setattr( + cls, + "AArch-32", + PermissibleValue( + text="AArch-32", description="32-bit version of ARM architecture." + ), + ) + setattr( + cls, + "AArch-64", + PermissibleValue( + text="AArch-64", description="64-bit version of ARM architecture." + ), + ) + setattr( + cls, + "RISC-V", PermissibleValue( text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) + description="Architecture based on open standard instruction set (ISA).", + ), + ) -class EncryptionAlgorithm(EnumDefinitionImpl): - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") +class EncryptionAlgorithm(EnumDefinitionImpl): + RSA = PermissibleValue(text="RSA", description="TBD") + AES = PermissibleValue(text="AES", description="TBD") + Blowfish = PermissibleValue(text="Blowfish", description="TBD") + Twofish = PermissibleValue(text="Twofish", description="TBD") + SDA = PermissibleValue(text="SDA", description="TBD") other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") + text="other", description="Algorithm for encryption not further described." + ) _defn = EnumDefinition( name="EncryptionAlgorithm", @@ -4242,25 +4175,17 @@ class EncryptionAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) + setattr(cls, "3DES", PermissibleValue(text="3DES", description="TBD")) -class ChecksumAlgorithm(EnumDefinitionImpl): - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") +class ChecksumAlgorithm(EnumDefinitionImpl): + md5 = PermissibleValue(text="md5", description="TBD") + blake2 = PermissibleValue(text="blake2", description="TBD") + blake3 = PermissibleValue(text="blake3", description="TBD") other = PermissibleValue( text="other", - description="Algorithm to calcualte checksum not further described.") + description="Algorithm to calcualte checksum not further described.", + ) _defn = EnumDefinition( name="ChecksumAlgorithm", @@ -4268,62 +4193,43 @@ class ChecksumAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-224", - PermissibleValue( - text="sha-224", - description="TBD")) - setattr(cls, "sha-256", - PermissibleValue( - text="sha-256", - description="TBD")) - setattr(cls, "sha-512", - PermissibleValue( - text="sha-512", - description="TBD")) - setattr(cls, "sha-384", - PermissibleValue( - text="sha-384", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) + setattr(cls, "sha-1", PermissibleValue(text="sha-1", description="TBD")) + setattr(cls, "sha-224", PermissibleValue(text="sha-224", description="TBD")) + setattr(cls, "sha-256", PermissibleValue(text="sha-256", description="TBD")) + setattr(cls, "sha-512", PermissibleValue(text="sha-512", description="TBD")) + setattr(cls, "sha-384", PermissibleValue(text="sha-384", description="TBD")) + setattr(cls, "sha-3", PermissibleValue(text="sha-3", description="TBD")) + setattr( + cls, "ripemd-160", PermissibleValue(text="ripemd-160", description="TBD") + ) -class KeyManagement(EnumDefinitionImpl): +class KeyManagement(EnumDefinitionImpl): BYOK = PermissibleValue( text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + description="bring-your-own-key: Keys created by user and stored in key manager of cloud", + ) HYOK = PermissibleValue( text="HYOK", - description="hold-your-own-key Key created by user and kept by user") + description="hold-your-own-key Key created by user and kept by user", + ) managed = PermissibleValue( text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") + description="managed: Keys are created by and stored in key manager of cloud.", + ) _defn = EnumDefinition( name="KeyManagement", ) -class SignatureAlgorithm(EnumDefinitionImpl): - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") +class SignatureAlgorithm(EnumDefinitionImpl): + ECDSA = PermissibleValue(text="ECDSA", description="TBD") + DSA = PermissibleValue(text="DSA", description="TBD") other = PermissibleValue( text="other", - description="Algorithm for digital signatures not further described.") + description="Algorithm for digital signatures not further described.", + ) _defn = EnumDefinition( name="SignatureAlgorithm", @@ -4331,13 +4237,14 @@ class SignatureAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) + setattr( + cls, + "RSA-Signature", + PermissibleValue(text="RSA-Signature", description="TBD"), + ) -class DiskTypes(EnumDefinitionImpl): +class DiskTypes(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4346,17 +4253,17 @@ class DiskTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) + setattr(cls, "local SSD", PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", PermissibleValue(text="local HDD")) + setattr( + cls, + "shared network storage", + PermissibleValue(text="shared network storage"), + ) + setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) -class GPUInterconnetionTypes(EnumDefinitionImpl): +class GPUInterconnetionTypes(EnumDefinitionImpl): NVLink = PermissibleValue(text="NVLink") RoCE2 = PermissibleValue(text="RoCE2") other = PermissibleValue(text="other") @@ -4368,72 +4275,76 @@ class GPUInterconnetionTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) + setattr(cls, "Xe Link", PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", PermissibleValue(text="Infinity Fabric")) + class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. """ + yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") + text="yearly", description="Image will be updated at least once per year." + ) quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") + text="quarterly", description="Image will be updated at least once per month." + ) weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") + text="weekly", description="Image will be updated at least once per week." + ) daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") + text="daily", description="Image will be updated at least once per day." + ) critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") + text="critical_bug", description="Image will be updated for critical bugs only." + ) + never = PermissibleValue(text="never", description="Image will never be updated.") _defn = EnumDefinition( name="UpdateFrequency", description="Possible values for image's update frequency.", ) + class Validity1(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ - none = PermissibleValue( - text="none", - description="No information are given.") + + none = PermissibleValue(text="none", description="No information are given.") notice = PermissibleValue( text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") + description="Outdated version of the image will remain valid until a deprecation notice will be published.", + ) _defn = EnumDefinition( name="Validity1", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class Validity2(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ + forever = PermissibleValue( text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") + description="Outdated version of the image will remain valid for as long as the cloud operates.", + ) _defn = EnumDefinition( name="Validity2", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class GaiaXTermsAndConditions(EnumDefinitionImpl): """ SHA256 check sum of Gaia-X Terms and Conditions. """ + _defn = EnumDefinition( name="GaiaXTermsAndConditions", description="SHA256 check sum of Gaia-X Terms and Conditions.", @@ -4441,11 +4352,16 @@ class GaiaXTermsAndConditions(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + setattr( + cls, + "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue( + text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" + ), + ) -class MemoryClasses(EnumDefinitionImpl): +class MemoryClasses(EnumDefinitionImpl): DDR4 = PermissibleValue(text="DDR4") DDR5 = PermissibleValue(text="DDR5") GDDR5 = PermissibleValue(text="GDDR5") @@ -4456,8 +4372,8 @@ class MemoryClasses(EnumDefinitionImpl): name="MemoryClasses", ) -class MemoryRanks(EnumDefinitionImpl): +class MemoryRanks(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4466,17 +4382,13 @@ class MemoryRanks(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) + setattr(cls, "1R RDIMM", PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", PermissibleValue(text="8R LRDIMM")) -class PXEDiskType(EnumDefinitionImpl): +class PXEDiskType(EnumDefinitionImpl): WINPE = PermissibleValue(text="WINPE") ISO = PermissibleValue(text="ISO") @@ -4484,8 +4396,8 @@ class PXEDiskType(EnumDefinitionImpl): name="PXEDiskType", ) -class SPDX(EnumDefinitionImpl): +class SPDX(EnumDefinitionImpl): AAL = PermissibleValue(text="AAL") Abstyles = PermissibleValue(text="Abstyles") ADSL = PermissibleValue(text="ADSL") @@ -4637,775 +4549,567 @@ class SPDX(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) + setattr(cls, "0BSD", PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", PermissibleValue(text="Artistic-2.0")) + setattr( + cls, + "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0"), + ) + setattr( + cls, + "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1"), + ) + setattr(cls, "Bitstream-Charter", PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", PermissibleValue(text="Boehm-GC")) + setattr( + cls, + "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause"), + ) + setattr(cls, "BSD-1-Clause", PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", PermissibleValue(text="BSD-2-Clause")) + setattr( + cls, "BSD-2-Clause-Patent", PermissibleValue(text="BSD-2-Clause-Patent") + ) + setattr(cls, "BSD-2-Clause-Views", PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", PermissibleValue(text="BSD-3-Clause")) + setattr( + cls, + "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution"), + ) + setattr(cls, "BSD-3-Clause-Clear", PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr( + cls, + "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification"), + ) + setattr( + cls, + "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty"), + ) + setattr( + cls, "BSD-3-Clause-Open-MPI", PermissibleValue(text="BSD-3-Clause-Open-MPI") + ) + setattr(cls, "BSD-4-Clause", PermissibleValue(text="BSD-4-Clause")) + setattr( + cls, + "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened"), + ) + setattr(cls, "BSD-4-Clause-UC", PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", PermissibleValue(text="BSD-4.3TAHOE")) + setattr( + cls, + "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement"), + ) + setattr( + cls, + "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer"), + ) + setattr(cls, "BSD-Protection", PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", PermissibleValue(text="CAL-1.0")) + setattr( + cls, + "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception"), + ) + setattr(cls, "CATOSL-1.1", PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr( + cls, "CC-BY-NC-ND-3.0-IGO", PermissibleValue(text="CC-BY-NC-ND-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-ND-4.0", PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr( + cls, "CC-BY-NC-SA-3.0-IGO", PermissibleValue(text="CC-BY-NC-SA-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-SA-4.0", PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", PermissibleValue(text="CDL-1.0")) + setattr( + cls, "CDLA-Permissive-1.0", PermissibleValue(text="CDLA-Permissive-1.0") + ) + setattr( + cls, "CDLA-Permissive-2.0", PermissibleValue(text="CDLA-Permissive-2.0") + ) + setattr(cls, "CDLA-Sharing-1.0", PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", PermissibleValue(text="CNRI-Python")) + setattr( + cls, + "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible"), + ) + setattr(cls, "COIL-1.0", PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", PermissibleValue(text="Condor-1.1")) + setattr( + cls, "copyleft-next-0.3.0", PermissibleValue(text="copyleft-next-0.3.0") + ) + setattr( + cls, "copyleft-next-0.3.1", PermissibleValue(text="copyleft-next-0.3.1") + ) + setattr( + cls, "Cornell-Lossless-JPEG", PermissibleValue(text="Cornell-Lossless-JPEG") + ) + setattr(cls, "CPAL-1.0", PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", PermissibleValue(text="FreeBSD-DOC")) + setattr( + cls, + "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.1-only", PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", PermissibleValue(text="GFDL-1.1-or-later")) + setattr( + cls, + "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.2-only", PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", PermissibleValue(text="GFDL-1.2-or-later")) + setattr( + cls, + "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.3-only", PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", PermissibleValue(text="HPND-sell-variant")) + setattr( + cls, + "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer"), + ) + setattr(cls, "IBM-pibs", PermissibleValue(text="IBM-pibs")) + setattr( + cls, + "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA"), + ) + setattr(cls, "IJG-short", PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", PermissibleValue(text="LAL-1.3")) + setattr( + cls, + "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice"), + ) + setattr(cls, "LGPL-2.0-only", PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", PermissibleValue(text="libselinux-1.0")) + setattr( + cls, "libutil-David-Nugent", PermissibleValue(text="libutil-David-Nugent") + ) + setattr(cls, "LiLiQ-P-1.1", PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr( + cls, + "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var"), + ) + setattr(cls, "Linux-OpenIB", PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", PermissibleValue(text="LPPL-1.3c")) + setattr( + cls, "LZMA-SDK-9.11-to-9.20", PermissibleValue(text="LZMA-SDK-9.11-to-9.20") + ) + setattr(cls, "LZMA-SDK-9.22", PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", PermissibleValue(text="MPL-2.0")) + setattr( + cls, + "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception"), + ) + setattr(cls, "MS-LPL", PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", PermissibleValue(text="PHP-3.01")) + setattr( + cls, + "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0"), + ) + setattr( + cls, + "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0"), + ) + setattr(cls, "PSF-2.0", PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", PermissibleValue(text="Widget-Workshop")) + setattr( + cls, + "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant"), + ) + setattr(cls, "Xdebug-1.03", PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", PermissibleValue(text="Zimbra-1.4")) + setattr( + cls, "zlib-acknowledgement", PermissibleValue(text="zlib-acknowledgement") + ) + setattr(cls, "ZPL-1.1", PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", PermissibleValue(text="ZPL-2.1")) + class OSDistribution(EnumDefinitionImpl): """ Possible values for operating system distribution. """ + Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") FreeBSD = PermissibleValue(text="FreeBSD") @@ -5426,35 +5130,37 @@ class OSDistribution(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) + setattr(cls, "Alpine Linux", PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", PermissibleValue(text="Mandriva Linux")) + setattr( + cls, + "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server"), + ) + setattr(cls, "MS-DOS", PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", PermissibleValue(text="Rocky Linux")) + setattr( + cls, + "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux"), + ) + setattr( + cls, + "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop"), + ) + setattr(cls, "Microsoft Windows", PermissibleValue(text="Microsoft Windows")) + class HypervisorType(EnumDefinitionImpl): """ Possible values for hypervisor types. """ + quemu = PermissibleValue(text="quemu") KVM = PermissibleValue(text="KVM") Xen = PermissibleValue(text="Xen") @@ -5468,35 +5174,34 @@ class HypervisorType(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) + setattr(cls, "Hyper-V", PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", PermissibleValue(text="Cloud Hypervisor")) -class PersonalDataProtectionRegime(EnumDefinitionImpl): +class PersonalDataProtectionRegime(EnumDefinitionImpl): GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") + text="GDPR2016", description="General Data Protection Regulation / EEA." + ) LGPD2019 = PermissibleValue( text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.", + ) PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") + text="PDPA2012", description="Personal Data Protection Act 2012 / SGP." + ) CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") + text="CCPA2018", description="California Consumer Privacy Act / US-CA." + ) VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") + text="VCDPA2021", description="Virginia Consumer Data Protection Act / US-VA." + ) _defn = EnumDefinition( name="PersonalDataProtectionRegime", ) -class RequestTypes(EnumDefinitionImpl): +class RequestTypes(EnumDefinitionImpl): API = PermissibleValue(text="API") email = PermissibleValue(text="email") webform = PermissibleValue(text="webform") @@ -5508,21 +5213,23 @@ class RequestTypes(EnumDefinitionImpl): name="RequestTypes", ) -class AccessTypes(EnumDefinitionImpl): +class AccessTypes(EnumDefinitionImpl): digital = PermissibleValue( text="digital", - description="Access via digital service, such as e-mail or web form.") + description="Access via digital service, such as e-mail or web form.", + ) physical = PermissibleValue( text="physical", - description="Access via physical medium, such as letter or physical appointment.") + description="Access via physical medium, such as letter or physical appointment.", + ) _defn = EnumDefinition( name="AccessTypes", ) -class MIMETypes(EnumDefinitionImpl): +class MIMETypes(EnumDefinitionImpl): calendar = PermissibleValue(text="calendar") cql = PermissibleValue(text="cql") css = PermissibleValue(text="css") @@ -5674,3012 +5381,4151 @@ class MIMETypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) + setattr( + cls, + "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec"), + ) + setattr(cls, "cache-manifest", PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", PermissibleValue(text="csv-schema")) + setattr( + cls, + "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350"), + ) + setattr( + cls, + "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "grammar-ref-list", PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", PermissibleValue(text="jcr-cnd")) + setattr( + cls, "provenance-notation", PermissibleValue(text="provenance-notation") + ) + setattr( + cls, "prs.fallenstein.rst", PermissibleValue(text="prs.fallenstein.rst") + ) + setattr(cls, "prs.lines.tag", PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", PermissibleValue(text="rtp-enc-aescm128")) + setattr( + cls, "tab-separated-values", PermissibleValue(text="tab-separated-values") + ) + setattr(cls, "uri-list", PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", PermissibleValue(text="vnd.curl")) + setattr( + cls, "vnd.debian.copyright", PermissibleValue(text="vnd.debian.copyright") + ) + setattr(cls, "vnd.DMClientScript", PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", PermissibleValue(text="vnd.dvb.subtitle")) + setattr( + cls, + "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor"), + ) + setattr(cls, "vnd.exchangeable", PermissibleValue(text="vnd.exchangeable")) + setattr( + cls, + "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom"), + ) + setattr(cls, "vnd.ficlab.flt", PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", PermissibleValue(text="vnd.latex-z")) + setattr( + cls, "vnd.motorola.reflex", PermissibleValue(text="vnd.motorola.reflex") + ) + setattr( + cls, "vnd.ms-mediapackage", PermissibleValue(text="vnd.ms-mediapackage") + ) + setattr( + cls, + "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command"), + ) + setattr( + cls, + "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout"), + ) + setattr( + cls, "vnd.senx.warpscript", PermissibleValue(text="vnd.senx.warpscript") + ) + setattr( + cls, "vnd.si.uricatalogue", PermissibleValue(text="vnd.si.uricatalogue") + ) + setattr( + cls, + "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor"), + ) + setattr(cls, "vnd.sosi", PermissibleValue(text="vnd.sosi")) + setattr( + cls, + "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist"), + ) + setattr(cls, "vnd.wap.si", PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", PermissibleValue(text="vnd.wap.wmlscript")) + setattr( + cls, + "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity"), + ) + setattr( + cls, + "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml"), + ) + setattr(cls, "3gppHal+json", PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", PermissibleValue(text="alto-cdni+json")) + setattr( + cls, "alto-cdnifilter+json", PermissibleValue(text="alto-cdnifilter+json") + ) + setattr(cls, "alto-costmap+json", PermissibleValue(text="alto-costmap+json")) + setattr( + cls, + "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json"), + ) + setattr( + cls, "alto-directory+json", PermissibleValue(text="alto-directory+json") + ) + setattr( + cls, + "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json"), + ) + setattr( + cls, + "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json"), + ) + setattr( + cls, + "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json"), + ) + setattr( + cls, + "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json"), + ) + setattr(cls, "alto-error+json", PermissibleValue(text="alto-error+json")) + setattr( + cls, + "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json"), + ) + setattr( + cls, "alto-networkmap+json", PermissibleValue(text="alto-networkmap+json") + ) + setattr(cls, "alto-propmap+json", PermissibleValue(text="alto-propmap+json")) + setattr( + cls, + "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json"), + ) + setattr( + cls, + "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json"), + ) + setattr( + cls, + "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json"), + ) + setattr(cls, "andrew-inset", PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", PermissibleValue(text="atsc-dwd+xml")) + setattr( + cls, + "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message"), + ) + setattr(cls, "atsc-held+xml", PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", PermissibleValue(text="auth-policy+xml")) + setattr( + cls, "automationml-aml+xml", PermissibleValue(text="automationml-aml+xml") + ) + setattr( + cls, "automationml-amlx+zip", PermissibleValue(text="automationml-amlx+zip") + ) + setattr(cls, "bacnet-xdd+zip", PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", PermissibleValue(text="coap-payload")) + setattr( + cls, + "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor"), + ) + setattr( + cls, "conference-info+xml", PermissibleValue(text="conference-info+xml") + ) + setattr(cls, "cpl+xml", PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", PermissibleValue(text="elm+xml")) + setattr( + cls, + "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml"), + ) + setattr( + cls, + "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml"), + ) + setattr( + cls, + "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml"), + ) + setattr( + cls, + "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD"), + ) + setattr( + cls, + "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json"), + ) + setattr( + cls, + "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml"), + ) + setattr(cls, "emma+xml", PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", PermissibleValue(text="epub+zip")) + setattr( + cls, "expect-ct-report+json", PermissibleValue(text="expect-ct-report+json") + ) + setattr(cls, "fdt+xml", PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", PermissibleValue(text="fhir+xml")) + setattr( + cls, + "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt"), + ) + setattr(cls, "font-tdpfr", PermissibleValue(text="font-tdpfr")) + setattr( + cls, + "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff"), + ) + setattr( + cls, + "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml"), + ) + setattr(cls, "geo+json", PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", PermissibleValue(text="hl7v2+xml")) + setattr( + cls, "ibe-key-request+xml", PermissibleValue(text="ibe-key-request+xml") + ) + setattr(cls, "ibe-pkg-reply+xml", PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", PermissibleValue(text="index.obj")) + setattr(cls, "index.response", PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", PermissibleValue(text="java-archive")) + setattr( + cls, + "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "jf2feed+json", PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", PermissibleValue(text="mathml-content+xml")) + setattr( + cls, + "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml"), + ) + setattr( + cls, + "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml"), + ) + setattr( + cls, "mbms-deregister+xml", PermissibleValue(text="mbms-deregister+xml") + ) + setattr(cls, "mbms-envelope+xml", PermissibleValue(text="mbms-envelope+xml")) + setattr( + cls, "mbms-msk-response+xml", PermissibleValue(text="mbms-msk-response+xml") + ) + setattr(cls, "mbms-msk+xml", PermissibleValue(text="mbms-msk+xml")) + setattr( + cls, + "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml"), + ) + setattr( + cls, + "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml"), + ) + setattr( + cls, + "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml"), + ) + setattr(cls, "mbms-register+xml", PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", PermissibleValue(text="mbms-schedule+xml")) + setattr( + cls, + "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml"), + ) + setattr(cls, "media_control+xml", PermissibleValue(text="media_control+xml")) + setattr( + cls, + "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml"), + ) + setattr( + cls, + "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml"), + ) + setattr(cls, "merge-patch+json", PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", PermissibleValue(text="mets+xml")) + setattr( + cls, + "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq"), + ) + setattr(cls, "mmt-aei+xml", PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", PermissibleValue(text="nlsml+xml")) + setattr( + cls, "oauth-authz-req+jwt", PermissibleValue(text="oauth-authz-req+jwt") + ) + setattr( + cls, "oblivious-dns-message", PermissibleValue(text="oblivious-dns-message") + ) + setattr(cls, "ocsp-request", PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", PermissibleValue(text="p2p-overlay+xml")) + setattr( + cls, "patch-ops-error+xml", PermissibleValue(text="patch-ops-error+xml") + ) + setattr( + cls, "pem-certificate-chain", PermissibleValue(text="pem-certificate-chain") + ) + setattr(cls, "pgp-encrypted", PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", PermissibleValue(text="provenance+xml")) + setattr( + cls, + "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet"), + ) + setattr(cls, "prs.cww", PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", PermissibleValue(text="prs.hpub+zip")) + setattr( + cls, + "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml"), + ) + setattr( + cls, + "prs.implied-executable", + PermissibleValue(text="prs.implied-executable"), + ) + setattr( + cls, "prs.implied-structure", PermissibleValue(text="prs.implied-structure") + ) + setattr(cls, "prs.nprend", PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", PermissibleValue(text="reginfo+xml")) + setattr( + cls, + "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax"), + ) + setattr( + cls, + "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)"), + ) + setattr(cls, "reputon+json", PermissibleValue(text="reputon+json")) + setattr( + cls, + "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml"), + ) + setattr(cls, "resource-lists+xml", PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", PermissibleValue(text="samlmetadata+xml")) + setattr( + cls, + "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json"), + ) + setattr(cls, "sarif+json", PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", PermissibleValue(text="session-info")) + setattr(cls, "set-payment", PermissibleValue(text="set-payment")) + setattr( + cls, + "set-payment-initiation", + PermissibleValue(text="set-payment-initiation"), + ) + setattr(cls, "set-registration", PermissibleValue(text="set-registration")) + setattr( + cls, + "set-registration-initiation", + PermissibleValue(text="set-registration-initiation"), + ) + setattr(cls, "sgml-open-catalog", PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", PermissibleValue(text="simple-filter+xml")) + setattr( + cls, + "simple-message-summary", + PermissibleValue(text="simple-message-summary"), + ) + setattr( + cls, + "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)"), + ) + setattr(cls, "smil+xml", PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", PermissibleValue(text="tamp-apex-update")) + setattr( + cls, + "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm"), + ) + setattr( + cls, "tamp-community-update", PermissibleValue(text="tamp-community-update") + ) + setattr( + cls, + "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm"), + ) + setattr(cls, "tamp-error", PermissibleValue(text="tamp-error")) + setattr( + cls, "tamp-sequence-adjust", PermissibleValue(text="tamp-sequence-adjust") + ) + setattr( + cls, + "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm"), + ) + setattr(cls, "tamp-status-query", PermissibleValue(text="tamp-status-query")) + setattr( + cls, "tamp-status-response", PermissibleValue(text="tamp-status-response") + ) + setattr(cls, "tamp-update", PermissibleValue(text="tamp-update")) + setattr( + cls, "tamp-update-confirm", PermissibleValue(text="tamp-update-confirm") + ) + setattr(cls, "taxii+json", PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", PermissibleValue(text="tm+json")) + setattr( + cls, + "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt"), + ) + setattr( + cls, "trickle-ice-sdpfrag", PermissibleValue(text="trickle-ice-sdpfrag") + ) + setattr(cls, "ttml+xml", PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", PermissibleValue(text="urc-targetdesc+xml")) + setattr( + cls, "urc-uisocketdesc+xml", PermissibleValue(text="urc-uisocketdesc+xml") + ) + setattr(cls, "vcard+json", PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", PermissibleValue(text="vcard+xml")) + setattr( + cls, + "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml"), + ) + setattr(cls, "vnd.1ob", PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", PermissibleValue(text="vnd.3gpp.5gnas")) + setattr( + cls, + "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml"), + ) + setattr(cls, "vnd.3gpp.bsf+xml", PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr( + cls, + "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml"), + ) + setattr(cls, "vnd.3gpp.GMOP+xml", PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", PermissibleValue(text="vnd.3gpp.gtpc")) + setattr( + cls, + "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data"), + ) + setattr(cls, "vnd.3gpp.lpp", PermissibleValue(text="vnd.3gpp.lpp")) + setattr( + cls, + "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue( + text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" + ), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml"), + ) + setattr( + cls, "vnd.3gpp.mid-call+xml", PermissibleValue(text="vnd.3gpp.mid-call+xml") + ) + setattr(cls, "vnd.3gpp.ngap", PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", PermissibleValue(text="vnd.3gpp.pfcp")) + setattr( + cls, "vnd.3gpp.pic-bw-large", PermissibleValue(text="vnd.3gpp.pic-bw-large") + ) + setattr( + cls, "vnd.3gpp.pic-bw-small", PermissibleValue(text="vnd.3gpp.pic-bw-small") + ) + setattr( + cls, "vnd.3gpp.pic-bw-var", PermissibleValue(text="vnd.3gpp.pic-bw-var") + ) + setattr( + cls, + "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml"), + ) + setattr(cls, "vnd.3gpp-prose+xml", PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", PermissibleValue(text="vnd.3gpp.s1ap")) + setattr( + cls, + "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml"), + ) + setattr(cls, "vnd.3gpp.sms", PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr( + cls, + "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml"), + ) + setattr( + cls, + "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml"), + ) + setattr(cls, "vnd.3gpp.ussd+xml", PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr( + cls, "vnd.3gpp.vae-info+xml", PermissibleValue(text="vnd.3gpp.vae-info+xml") + ) + setattr( + cls, + "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information"), + ) + setattr( + cls, + "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml"), + ) + setattr(cls, "vnd.3gpp2.sms", PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", PermissibleValue(text="vnd.3gpp.v2x")) + setattr( + cls, + "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal"), + ) + setattr( + cls, "vnd.3M.Post-it-Notes", PermissibleValue(text="vnd.3M.Post-it-Notes") + ) + setattr( + cls, "vnd.accpac.simply.aso", PermissibleValue(text="vnd.accpac.simply.aso") + ) + setattr( + cls, "vnd.accpac.simply.imp", PermissibleValue(text="vnd.accpac.simply.imp") + ) + setattr( + cls, + "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json"), + ) + setattr( + cls, "vnd.acm.chatbot+json", PermissibleValue(text="vnd.acm.chatbot+json") + ) + setattr(cls, "vnd.acucobol", PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", PermissibleValue(text="vnd.acucorp")) + setattr( + cls, "vnd.adobe.flash.movie", PermissibleValue(text="vnd.adobe.flash.movie") + ) + setattr( + cls, + "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt"), + ) + setattr(cls, "vnd.adobe.fxp", PermissibleValue(text="vnd.adobe.fxp")) + setattr( + cls, + "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload"), + ) + setattr(cls, "vnd.adobe.xdp+xml", PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", PermissibleValue(text="vnd.aether.imp")) + setattr( + cls, "vnd.afpc.afplinedata", PermissibleValue(text="vnd.afpc.afplinedata") + ) + setattr( + cls, + "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef"), + ) + setattr( + cls, + "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource"), + ) + setattr( + cls, "vnd.afpc.foca-charset", PermissibleValue(text="vnd.afpc.foca-charset") + ) + setattr( + cls, + "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont"), + ) + setattr( + cls, + "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage"), + ) + setattr(cls, "vnd.afpc.modca", PermissibleValue(text="vnd.afpc.modca")) + setattr( + cls, + "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable"), + ) + setattr( + cls, + "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef"), + ) + setattr( + cls, + "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap"), + ) + setattr( + cls, + "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer"), + ) + setattr( + cls, + "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay"), + ) + setattr( + cls, + "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment"), + ) + setattr(cls, "vnd.age", PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", PermissibleValue(text="vnd.ahead.space")) + setattr( + cls, + "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf"), + ) + setattr( + cls, + "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs"), + ) + setattr(cls, "vnd.amadeus+json", PermissibleValue(text="vnd.amadeus+json")) + setattr( + cls, + "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook"), + ) + setattr( + cls, + "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc"), + ) + setattr(cls, "vnd.amiga.ami", PermissibleValue(text="vnd.amiga.ami")) + setattr( + cls, "vnd.amundsen.maze+xml", PermissibleValue(text="vnd.amundsen.maze+xml") + ) + setattr(cls, "vnd.android.ota", PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", PermissibleValue(text="vnd.anki")) + setattr( + cls, + "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation"), + ) + setattr( + cls, + "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component"), + ) + setattr( + cls, "vnd.apache.arrow.file", PermissibleValue(text="vnd.apache.arrow.file") + ) + setattr( + cls, + "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream"), + ) + setattr( + cls, + "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary"), + ) + setattr( + cls, + "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact"), + ) + setattr( + cls, + "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json"), + ) + setattr(cls, "vnd.apexlang", PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", PermissibleValue(text="vnd.api+json")) + setattr( + cls, + "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json"), + ) + setattr( + cls, + "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json"), + ) + setattr( + cls, + "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml"), + ) + setattr(cls, "vnd.apple.keynote", PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", PermissibleValue(text="vnd.apple.pages")) + setattr( + cls, + "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue( + text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" + ), + ) + setattr( + cls, + "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi"), + ) + setattr(cls, "vnd.artisan+json", PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", PermissibleValue(text="vnd.artsquare")) + setattr( + cls, + "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota"), + ) + setattr(cls, "vnd.audiograph", PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", PermissibleValue(text="vnd.avistar+xml")) + setattr( + cls, "vnd.balsamiq.bmml+xml", PermissibleValue(text="vnd.balsamiq.bmml+xml") + ) + setattr( + cls, "vnd.banana-accounting", PermissibleValue(text="vnd.banana-accounting") + ) + setattr(cls, "vnd.bbf.usp.error", PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", PermissibleValue(text="vnd.bbf.usp.msg")) + setattr( + cls, "vnd.bbf.usp.msg+json", PermissibleValue(text="vnd.bbf.usp.msg+json") + ) + setattr(cls, "vnd.balsamiq.bmpr", PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr( + cls, + "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json"), + ) + setattr( + cls, + "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip"), + ) + setattr( + cls, + "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip"), + ) + setattr( + cls, "vnd.bint.med-content", PermissibleValue(text="vnd.bint.med-content") + ) + setattr(cls, "vnd.biopax.rdf+xml", PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr( + cls, + "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper"), + ) + setattr( + cls, "vnd.blueice.multipass", PermissibleValue(text="vnd.blueice.multipass") + ) + setattr( + cls, "vnd.bluetooth.ep.oob", PermissibleValue(text="vnd.bluetooth.ep.oob") + ) + setattr( + cls, "vnd.bluetooth.le.oob", PermissibleValue(text="vnd.bluetooth.le.oob") + ) + setattr(cls, "vnd.bmi", PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", PermissibleValue(text="vnd.bpf3")) + setattr( + cls, "vnd.businessobjects", PermissibleValue(text="vnd.businessobjects") + ) + setattr(cls, "vnd.byu.uapi+json", PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", PermissibleValue(text="vnd.canon-lips")) + setattr( + cls, + "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json"), + ) + setattr( + cls, + "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf"), + ) + setattr( + cls, + "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream"), + ) + setattr(cls, "vnd.chemdraw+xml", PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", PermissibleValue(text="vnd.chess-pgn")) + setattr( + cls, + "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd"), + ) + setattr(cls, "vnd.ciedi", PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", PermissibleValue(text="vnd.cinderella")) + setattr( + cls, "vnd.cirpack.isdn-ext", PermissibleValue(text="vnd.cirpack.isdn-ext") + ) + setattr( + cls, + "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml"), + ) + setattr(cls, "vnd.claymore", PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", PermissibleValue(text="vnd.clonk.c4group")) + setattr( + cls, + "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config"), + ) + setattr( + cls, + "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov"), + ) + setattr( + cls, + "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json"), + ) + setattr(cls, "vnd.coffeescript", PermissibleValue(text="vnd.coffeescript")) + setattr( + cls, + "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template"), + ) + setattr( + cls, + "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json"), + ) + setattr( + cls, "vnd.collection+json", PermissibleValue(text="vnd.collection+json") + ) + setattr( + cls, + "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json"), + ) + setattr(cls, "vnd.comicbook-rar", PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", PermissibleValue(text="vnd.comicbook+zip")) + setattr( + cls, "vnd.commerce-battelle", PermissibleValue(text="vnd.commerce-battelle") + ) + setattr(cls, "vnd.commonspace", PermissibleValue(text="vnd.commonspace")) + setattr( + cls, + "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json"), + ) + setattr(cls, "vnd.cosmocaller", PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", PermissibleValue(text="vnd.crick.clicker")) + setattr( + cls, + "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard"), + ) + setattr( + cls, + "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette"), + ) + setattr( + cls, + "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template"), + ) + setattr( + cls, + "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank"), + ) + setattr( + cls, + "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml"), + ) + setattr( + cls, "vnd.cryptii.pipe+json", PermissibleValue(text="vnd.cryptii.pipe+json") + ) + setattr( + cls, "vnd.crypto-shade-file", PermissibleValue(text="vnd.crypto-shade-file") + ) + setattr( + cls, + "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted"), + ) + setattr( + cls, "vnd.cryptomator.vault", PermissibleValue(text="vnd.cryptomator.vault") + ) + setattr(cls, "vnd.ctc-posml", PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", PermissibleValue(text="vnd.cups-pdf")) + setattr( + cls, "vnd.cups-postscript", PermissibleValue(text="vnd.cups-postscript") + ) + setattr(cls, "vnd.cups-ppd", PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", PermissibleValue(text="vnd.cups-raw")) + setattr( + cls, + "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml"), + ) + setattr(cls, "vnd.cybank", PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", PermissibleValue(text="vnd.cyclonedx+xml")) + setattr( + cls, + "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip"), + ) + setattr(cls, "vnd.d3m-dataset", PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", PermissibleValue(text="vnd.dart")) + setattr( + cls, "vnd.data-vision.rdz", PermissibleValue(text="vnd.data-vision.rdz") + ) + setattr(cls, "vnd.datalog", PermissibleValue(text="vnd.datalog")) + setattr( + cls, "vnd.datapackage+json", PermissibleValue(text="vnd.datapackage+json") + ) + setattr( + cls, "vnd.dataresource+json", PermissibleValue(text="vnd.dataresource+json") + ) + setattr(cls, "vnd.dbf", PermissibleValue(text="vnd.dbf")) + setattr( + cls, + "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package"), + ) + setattr(cls, "vnd.dece.data", PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", PermissibleValue(text="vnd.dece.ttml+xml")) + setattr( + cls, "vnd.dece.unspecified", PermissibleValue(text="vnd.dece.unspecified") + ) + setattr(cls, "vnd.dece.zip", PermissibleValue(text="vnd.dece.zip")) + setattr( + cls, + "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link"), + ) + setattr(cls, "vnd.desmume.movie", PermissibleValue(text="vnd.desmume.movie")) + setattr( + cls, + "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix"), + ) + setattr( + cls, "vnd.dm.delegation+xml", PermissibleValue(text="vnd.dm.delegation+xml") + ) + setattr(cls, "vnd.dna", PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", PermissibleValue(text="vnd.dolby.mobile.2")) + setattr( + cls, + "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document"), + ) + setattr(cls, "vnd.dpgraph", PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", PermissibleValue(text="vnd.dtg.local")) + setattr( + cls, "vnd.dtg.local.flash", PermissibleValue(text="vnd.dtg.local.flash") + ) + setattr(cls, "vnd.dtg.local.html", PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", PermissibleValue(text="vnd.dvb.dvbj")) + setattr( + cls, "vnd.dvb.esgcontainer", PermissibleValue(text="vnd.dvb.esgcontainer") + ) + setattr( + cls, + "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess"), + ) + setattr( + cls, "vnd.dvb.ipdcesgaccess", PermissibleValue(text="vnd.dvb.ipdcesgaccess") + ) + setattr( + cls, + "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2"), + ) + setattr(cls, "vnd.dvb.ipdcesgpdd", PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr( + cls, "vnd.dvb.ipdcroaming", PermissibleValue(text="vnd.dvb.ipdcroaming") + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base"), + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement"), + ) + setattr( + cls, + "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml"), + ) + setattr(cls, "vnd.dvb.pfr", PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", PermissibleValue(text="vnd.dzr")) + setattr( + cls, + "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload"), + ) + setattr(cls, "vnd.ecip.rlp", PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", PermissibleValue(text="vnd.ecdis-update")) + setattr( + cls, + "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json"), + ) + setattr(cls, "vnd.ecowin.chart", PermissibleValue(text="vnd.ecowin.chart")) + setattr( + cls, + "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest"), + ) + setattr( + cls, "vnd.ecowin.fileupdate", PermissibleValue(text="vnd.ecowin.fileupdate") + ) + setattr(cls, "vnd.ecowin.series", PermissibleValue(text="vnd.ecowin.series")) + setattr( + cls, + "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest"), + ) + setattr( + cls, + "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate"), + ) + setattr(cls, "vnd.efi.img", PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", PermissibleValue(text="vnd.eln+zip")) + setattr( + cls, + "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml"), + ) + setattr(cls, "vnd.enliven", PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", PermissibleValue(text="vnd.enphase.envoy")) + setattr( + cls, "vnd.eprints.data+xml", PermissibleValue(text="vnd.eprints.data+xml") + ) + setattr(cls, "vnd.epson.esf", PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", PermissibleValue(text="vnd.epson.msf")) + setattr( + cls, "vnd.epson.quickanime", PermissibleValue(text="vnd.epson.quickanime") + ) + setattr(cls, "vnd.epson.salt", PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", PermissibleValue(text="vnd.epson.ssf")) + setattr( + cls, + "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall"), + ) + setattr( + cls, "vnd.espass-espass+zip", PermissibleValue(text="vnd.espass-espass+zip") + ) + setattr(cls, "vnd.eszigno3+xml", PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr( + cls, "vnd.etsi.asic-s+zip", PermissibleValue(text="vnd.etsi.asic-s+zip") + ) + setattr( + cls, "vnd.etsi.asic-e+zip", PermissibleValue(text="vnd.etsi.asic-e+zip") + ) + setattr(cls, "vnd.etsi.cug+xml", PermissibleValue(text="vnd.etsi.cug+xml")) + setattr( + cls, + "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml"), + ) + setattr( + cls, "vnd.etsi.iptvsync+xml", PermissibleValue(text="vnd.etsi.iptvsync+xml") + ) + setattr( + cls, + "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml"), + ) + setattr(cls, "vnd.etsi.mcid+xml", PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", PermissibleValue(text="vnd.etsi.mheg5")) + setattr( + cls, + "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml"), + ) + setattr(cls, "vnd.etsi.pstn+xml", PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", PermissibleValue(text="vnd.etsi.sci+xml")) + setattr( + cls, "vnd.etsi.simservs+xml", PermissibleValue(text="vnd.etsi.simservs+xml") + ) + setattr( + cls, + "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token"), + ) + setattr(cls, "vnd.etsi.tsl+xml", PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", PermissibleValue(text="vnd.etsi.tsl.der")) + setattr( + cls, + "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json"), + ) + setattr(cls, "vnd.eudora.data", PermissibleValue(text="vnd.eudora.data")) + setattr( + cls, + "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile"), + ) + setattr( + cls, + "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings"), + ) + setattr( + cls, "vnd.evolv.ecig.theme", PermissibleValue(text="vnd.evolv.ecig.theme") + ) + setattr( + cls, + "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip"), + ) + setattr( + cls, "vnd.exstream-package", PermissibleValue(text="vnd.exstream-package") + ) + setattr(cls, "vnd.ezpix-album", PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", PermissibleValue(text="vnd.ezpix-package")) + setattr( + cls, "vnd.f-secure.mobile", PermissibleValue(text="vnd.f-secure.mobile") + ) + setattr( + cls, + "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image"), + ) + setattr( + cls, + "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip"), + ) + setattr(cls, "vnd.fdsn.mseed", PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", PermissibleValue(text="vnd.fints")) + setattr( + cls, + "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell"), + ) + setattr(cls, "vnd.FloGraphIt", PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", PermissibleValue(text="vnd.fluxtime.clip")) + setattr( + cls, + "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd"), + ) + setattr(cls, "vnd.framemaker", PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", PermissibleValue(text="vnd.freelog.comic")) + setattr( + cls, + "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)"), + ) + setattr( + cls, + "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)"), + ) + setattr(cls, "vnd.fsc.weblaunch", PermissibleValue(text="vnd.fsc.weblaunch")) + setattr( + cls, + "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container"), + ) + setattr( + cls, + "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml"), + ) + setattr(cls, "vnd.fujitsu.oasys", PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr( + cls, "vnd.fujitsu.oasysgp", PermissibleValue(text="vnd.fujitsu.oasysgp") + ) + setattr( + cls, "vnd.fujitsu.oasysprs", PermissibleValue(text="vnd.fujitsu.oasysprs") + ) + setattr(cls, "vnd.fujixerox.ART4", PermissibleValue(text="vnd.fujixerox.ART4")) + setattr( + cls, "vnd.fujixerox.ART-EX", PermissibleValue(text="vnd.fujixerox.ART-EX") + ) + setattr(cls, "vnd.fujixerox.ddd", PermissibleValue(text="vnd.fujixerox.ddd")) + setattr( + cls, + "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container"), + ) + setattr(cls, "vnd.fujixerox.HBPL", PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", PermissibleValue(text="vnd.fuzzysheet")) + setattr( + cls, "vnd.genomatix.tuxedo", PermissibleValue(text="vnd.genomatix.tuxedo") + ) + setattr(cls, "vnd.genozip", PermissibleValue(text="vnd.genozip")) + setattr( + cls, "vnd.gentics.grd+json", PermissibleValue(text="vnd.gentics.grd+json") + ) + setattr( + cls, + "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml"), + ) + setattr(cls, "vnd.gentoo.ebuild", PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", PermissibleValue(text="vnd.gentoo.gpkg")) + setattr( + cls, "vnd.gentoo.manifest", PermissibleValue(text="vnd.gentoo.manifest") + ) + setattr(cls, "vnd.gentoo.xpak", PermissibleValue(text="vnd.gentoo.xpak")) + setattr( + cls, + "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml"), + ) + setattr( + cls, + "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue( + text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" + ), + ) + setattr( + cls, + "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)"), + ) + setattr(cls, "vnd.geogebra.file", PermissibleValue(text="vnd.geogebra.file")) + setattr( + cls, "vnd.geogebra.slides", PermissibleValue(text="vnd.geogebra.slides") + ) + setattr(cls, "vnd.geogebra.tool", PermissibleValue(text="vnd.geogebra.tool")) + setattr( + cls, "vnd.geometry-explorer", PermissibleValue(text="vnd.geometry-explorer") + ) + setattr(cls, "vnd.geonext", PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", PermissibleValue(text="vnd.gerber")) + setattr( + cls, + "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt"), + ) + setattr( + cls, + "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response"), + ) + setattr( + cls, "vnd.gmx - DEPRECATED", PermissibleValue(text="vnd.gmx - DEPRECATED") + ) + setattr( + cls, + "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json"), + ) + setattr( + cls, + "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json"), + ) + setattr( + cls, + "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml"), + ) + setattr( + cls, "vnd.google-earth.kmz", PermissibleValue(text="vnd.google-earth.kmz") + ) + setattr( + cls, "vnd.gov.sk.e-form+xml", PermissibleValue(text="vnd.gov.sk.e-form+xml") + ) + setattr( + cls, "vnd.gov.sk.e-form+zip", PermissibleValue(text="vnd.gov.sk.e-form+zip") + ) + setattr( + cls, + "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml"), + ) + setattr(cls, "vnd.gpxsee.map+xml", PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", PermissibleValue(text="vnd.groove-help")) + setattr( + cls, + "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message"), + ) + setattr( + cls, "vnd.groove-injector", PermissibleValue(text="vnd.groove-injector") + ) + setattr( + cls, + "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message"), + ) + setattr( + cls, + "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template"), + ) + setattr(cls, "vnd.groove-vcard", PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", PermissibleValue(text="vnd.hal+xml")) + setattr( + cls, + "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml"), + ) + setattr(cls, "vnd.hbci", PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", PermissibleValue(text="vnd.heroku+json")) + setattr( + cls, "vnd.hhe.lesson-player", PermissibleValue(text="vnd.hhe.lesson-player") + ) + setattr(cls, "vnd.hp-HPGL", PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", PermissibleValue(text="vnd.httphone")) + setattr( + cls, + "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data"), + ) + setattr( + cls, "vnd.hyper-item+json", PermissibleValue(text="vnd.hyper-item+json") + ) + setattr(cls, "vnd.hyper+json", PermissibleValue(text="vnd.hyper+json")) + setattr( + cls, "vnd.hyperdrive+json", PermissibleValue(text="vnd.hyperdrive+json") + ) + setattr( + cls, "vnd.hzn-3d-crossword", PermissibleValue(text="vnd.hzn-3d-crossword") + ) + setattr( + cls, + "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue( + text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" + ), + ) + setattr( + cls, + "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media"), + ) + setattr(cls, "vnd.ibm.MiniPay", PermissibleValue(text="vnd.ibm.MiniPay")) + setattr( + cls, + "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue( + text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" + ), + ) + setattr( + cls, + "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management"), + ) + setattr( + cls, + "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container"), + ) + setattr(cls, "vnd.iccprofile", PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", PermissibleValue(text="vnd.igloader")) + setattr( + cls, + "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip"), + ) + setattr( + cls, + "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip"), + ) + setattr( + cls, "vnd.immervision-ivp", PermissibleValue(text="vnd.immervision-ivp") + ) + setattr( + cls, "vnd.immervision-ivu", PermissibleValue(text="vnd.immervision-ivu") + ) + setattr(cls, "vnd.ims.imsccv1p1", PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr( + cls, + "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json"), + ) + setattr( + cls, + "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml"), + ) + setattr( + cls, "vnd.infotech.project", PermissibleValue(text="vnd.infotech.project") + ) + setattr( + cls, + "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml"), + ) + setattr( + cls, + "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue( + text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" + ), + ) + setattr( + cls, + "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification"), + ) + setattr(cls, "vnd.insors.igm", PermissibleValue(text="vnd.insors.igm")) + setattr( + cls, "vnd.intercon.formnet", PermissibleValue(text="vnd.intercon.formnet") + ) + setattr(cls, "vnd.intergeo", PermissibleValue(text="vnd.intergeo")) + setattr( + cls, + "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox"), + ) + setattr( + cls, "vnd.intertrust.nncp", PermissibleValue(text="vnd.intertrust.nncp") + ) + setattr(cls, "vnd.intu.qbo", PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", PermissibleValue(text="vnd.intu.qfx")) + setattr( + cls, "vnd.ipfs.ipns-record", PermissibleValue(text="vnd.ipfs.ipns-record") + ) + setattr(cls, "vnd.ipld.car", PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", PermissibleValue(text="vnd.ipld.raw")) + setattr( + cls, + "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml"), + ) + setattr( + cls, + "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile"), + ) + setattr( + cls, + "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml"), + ) + setattr(cls, "vnd.is-xpr", PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", PermissibleValue(text="vnd.jam")) + setattr( + cls, "vnd.iso11783-10+zip", PermissibleValue(text="vnd.iso11783-10+zip") + ) + setattr( + cls, + "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service"), + ) + setattr( + cls, + "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup"), + ) + setattr( + cls, + "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration"), + ) + setattr( + cls, + "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup"), + ) + setattr( + cls, + "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification"), + ) + setattr( + cls, + "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup"), + ) + setattr( + cls, + "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms"), + ) + setattr(cls, "vnd.jisp", PermissibleValue(text="vnd.jisp")) + setattr( + cls, + "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive"), + ) + setattr(cls, "vnd.jsk.isdn-ngn", PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", PermissibleValue(text="vnd.koan")) + setattr( + cls, "vnd.kodak-descriptor", PermissibleValue(text="vnd.kodak-descriptor") + ) + setattr(cls, "vnd.las", PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", PermissibleValue(text="vnd.leap+json")) + setattr( + cls, + "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml"), + ) + setattr( + cls, + "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip"), + ) + setattr(cls, "vnd.loom", PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", PermissibleValue(text="vnd.lotus-approach")) + setattr( + cls, "vnd.lotus-freelance", PermissibleValue(text="vnd.lotus-freelance") + ) + setattr(cls, "vnd.lotus-notes", PermissibleValue(text="vnd.lotus-notes")) + setattr( + cls, "vnd.lotus-organizer", PermissibleValue(text="vnd.lotus-organizer") + ) + setattr( + cls, "vnd.lotus-screencam", PermissibleValue(text="vnd.lotus-screencam") + ) + setattr(cls, "vnd.lotus-wordpro", PermissibleValue(text="vnd.lotus-wordpro")) + setattr( + cls, "vnd.macports.portpkg", PermissibleValue(text="vnd.macports.portpkg") + ) + setattr( + cls, + "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile"), + ) + setattr( + cls, + "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml"), + ) + setattr( + cls, "vnd.marlin.drm.mdcf", PermissibleValue(text="vnd.marlin.drm.mdcf") + ) + setattr(cls, "vnd.mason+json", PermissibleValue(text="vnd.mason+json")) + setattr( + cls, + "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip"), + ) + setattr( + cls, + "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db"), + ) + setattr(cls, "vnd.mcd", PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", PermissibleValue(text="vnd.medcalcdata")) + setattr( + cls, + "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey"), + ) + setattr( + cls, + "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr"), + ) + setattr( + cls, + "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot"), + ) + setattr(cls, "vnd.mermaid", PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", PermissibleValue(text="vnd.micrografx.igx")) + setattr( + cls, + "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable"), + ) + setattr( + cls, + "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache"), + ) + setattr(cls, "vnd.miele+json", PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", PermissibleValue(text="vnd.mif")) + setattr( + cls, + "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save"), + ) + setattr( + cls, + "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb"), + ) + setattr(cls, "vnd.Mobius.DAF", PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", PermissibleValue(text="vnd.modl")) + setattr( + cls, + "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application"), + ) + setattr( + cls, + "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate"), + ) + setattr( + cls, + "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem"), + ) + setattr(cls, "vnd.motorola.iprm", PermissibleValue(text="vnd.motorola.iprm")) + setattr( + cls, "vnd.mozilla.xul+xml", PermissibleValue(text="vnd.mozilla.xul+xml") + ) + setattr(cls, "vnd.ms-artgalry", PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", PermissibleValue(text="vnd.ms-asf")) + setattr( + cls, "vnd.ms-cab-compressed", PermissibleValue(text="vnd.ms-cab-compressed") + ) + setattr(cls, "vnd.ms-3mfdocument", PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", PermissibleValue(text="vnd.ms-excel")) + setattr( + cls, + "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-fontobject", PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", PermissibleValue(text="vnd.ms-lrm")) + setattr( + cls, + "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml"), + ) + setattr(cls, "vnd.ms-officetheme", PermissibleValue(text="vnd.ms-officetheme")) + setattr( + cls, + "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml"), + ) + setattr(cls, "vnd.ms-powerpoint", PermissibleValue(text="vnd.ms-powerpoint")) + setattr( + cls, + "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml"), + ) + setattr( + cls, + "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml"), + ) + setattr(cls, "vnd.ms-project", PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", PermissibleValue(text="vnd.ms-tnef")) + setattr( + cls, + "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing"), + ) + setattr( + cls, + "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob"), + ) + setattr( + cls, + "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing"), + ) + setattr( + cls, + "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob"), + ) + setattr( + cls, + "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req"), + ) + setattr( + cls, "vnd.ms-wmdrm.lic-resp", PermissibleValue(text="vnd.ms-wmdrm.lic-resp") + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req"), + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp"), + ) + setattr( + cls, + "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-works", PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", PermissibleValue(text="vnd.msign")) + setattr( + cls, "vnd.multiad.creator", PermissibleValue(text="vnd.multiad.creator") + ) + setattr( + cls, + "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif"), + ) + setattr(cls, "vnd.musician", PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", PermissibleValue(text="vnd.mynfc")) + setattr( + cls, + "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json"), + ) + setattr(cls, "vnd.ncd.control", PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", PermissibleValue(text="vnd.ncd.reference")) + setattr( + cls, "vnd.nearst.inv+json", PermissibleValue(text="vnd.nearst.inv+json") + ) + setattr(cls, "vnd.nebumind.line", PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", PermissibleValue(text="vnd.netfpx")) + setattr( + cls, "vnd.neurolanguage.nlu", PermissibleValue(text="vnd.neurolanguage.nlu") + ) + setattr(cls, "vnd.nimn", PermissibleValue(text="vnd.nimn")) + setattr( + cls, "vnd.nintendo.snes.rom", PermissibleValue(text="vnd.nintendo.snes.rom") + ) + setattr( + cls, + "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom"), + ) + setattr(cls, "vnd.nitf", PermissibleValue(text="vnd.nitf")) + setattr( + cls, + "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory"), + ) + setattr( + cls, "vnd.noblenet-sealer", PermissibleValue(text="vnd.noblenet-sealer") + ) + setattr(cls, "vnd.noblenet-web", PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", PermissibleValue(text="vnd.nokia.catalogs")) + setattr( + cls, "vnd.nokia.conml+wbxml", PermissibleValue(text="vnd.nokia.conml+wbxml") + ) + setattr( + cls, "vnd.nokia.conml+xml", PermissibleValue(text="vnd.nokia.conml+xml") + ) + setattr( + cls, + "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml"), + ) + setattr( + cls, + "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets"), + ) + setattr( + cls, + "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml"), + ) + setattr( + cls, + "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml"), + ) + setattr( + cls, + "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml"), + ) + setattr(cls, "vnd.nokia.ncd", PermissibleValue(text="vnd.nokia.ncd")) + setattr( + cls, + "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml"), + ) + setattr( + cls, "vnd.nokia.n-gage.data", PermissibleValue(text="vnd.nokia.n-gage.data") + ) + setattr( + cls, + "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE"), + ) + setattr( + cls, "vnd.nokia.pcd+wbxml", PermissibleValue(text="vnd.nokia.pcd+wbxml") + ) + setattr(cls, "vnd.nokia.pcd+xml", PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr( + cls, + "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset"), + ) + setattr( + cls, + "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets"), + ) + setattr(cls, "vnd.novadigm.EDM", PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", PermissibleValue(text="vnd.novadigm.EXT")) + setattr( + cls, + "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share"), + ) + setattr( + cls, + "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer"), + ) + setattr( + cls, + "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream"), + ) + setattr( + cls, + "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue( + text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" + ), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula"), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web"), + ) + setattr(cls, "vnd.obn", PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", PermissibleValue(text="vnd.ocf+cbor")) + setattr( + cls, + "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json"), + ) + setattr(cls, "vnd.oftn.l10n+json", PermissibleValue(text="vnd.oftn.l10n+json")) + setattr( + cls, + "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml"), + ) + setattr( + cls, + "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml"), + ) + setattr( + cls, + "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary"), + ) + setattr( + cls, "vnd.oipf.dae.svg+xml", PermissibleValue(text="vnd.oipf.dae.svg+xml") + ) + setattr( + cls, + "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml"), + ) + setattr( + cls, + "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml"), + ) + setattr(cls, "vnd.oipf.pae.gem", PermissibleValue(text="vnd.oipf.pae.gem")) + setattr( + cls, + "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml"), + ) + setattr( + cls, "vnd.oipf.spdlist+xml", PermissibleValue(text="vnd.oipf.spdlist+xml") + ) + setattr( + cls, + "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml"), + ) + setattr( + cls, + "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml"), + ) + setattr(cls, "vnd.olpc-sugar", PermissibleValue(text="vnd.olpc-sugar")) + setattr( + cls, + "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml"), + ) + setattr( + cls, "vnd.oma.bcast.imd+xml", PermissibleValue(text="vnd.oma.bcast.imd+xml") + ) + setattr(cls, "vnd.oma.bcast.ltkm", PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr( + cls, + "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger"), + ) + setattr( + cls, "vnd.oma.bcast.sgboot", PermissibleValue(text="vnd.oma.bcast.sgboot") + ) + setattr( + cls, + "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml"), + ) + setattr(cls, "vnd.oma.bcast.sgdu", PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr( + cls, + "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container"), + ) + setattr( + cls, + "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml"), + ) + setattr(cls, "vnd.oma.bcast.stkm", PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr( + cls, + "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml"), + ) + setattr( + cls, + "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml"), + ) + setattr( + cls, "vnd.oma.cab-pcc+xml", PermissibleValue(text="vnd.oma.cab-pcc+xml") + ) + setattr( + cls, + "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml"), + ) + setattr( + cls, + "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml"), + ) + setattr(cls, "vnd.oma.dcd", PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", PermissibleValue(text="vnd.oma.dd2+xml")) + setattr( + cls, "vnd.oma.drm.risd+xml", PermissibleValue(text="vnd.oma.drm.risd+xml") + ) + setattr( + cls, + "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml"), + ) + setattr(cls, "vnd.oma.lwm2m+cbor", PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", PermissibleValue(text="vnd.oma.pal+xml")) + setattr( + cls, + "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml"), + ) + setattr( + cls, + "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml"), + ) + setattr( + cls, + "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml"), + ) + setattr(cls, "vnd.oma.push", PermissibleValue(text="vnd.oma.push")) + setattr( + cls, + "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml"), + ) + setattr( + cls, + "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml"), + ) + setattr( + cls, "vnd.omads-email+xml", PermissibleValue(text="vnd.omads-email+xml") + ) + setattr(cls, "vnd.omads-file+xml", PermissibleValue(text="vnd.omads-file+xml")) + setattr( + cls, "vnd.omads-folder+xml", PermissibleValue(text="vnd.omads-folder+xml") + ) + setattr( + cls, "vnd.omaloc-supl-init", PermissibleValue(text="vnd.omaloc-supl-init") + ) + setattr( + cls, "vnd.oma-scws-config", PermissibleValue(text="vnd.oma-scws-config") + ) + setattr( + cls, + "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request"), + ) + setattr( + cls, + "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response"), + ) + setattr(cls, "vnd.onepager", PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", PermissibleValue(text="vnd.onvif.metadata")) + setattr( + cls, + "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary"), + ) + setattr( + cls, "vnd.openblox.game+xml", PermissibleValue(text="vnd.openblox.game+xml") + ) + setattr(cls, "vnd.openeye.oeb", PermissibleValue(text="vnd.openeye.oeb")) + setattr( + cls, + "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml"), + ) + setattr( + cls, + "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.custom-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.customXmlProperties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chart+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.extended-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tags+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.themeOverride+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue( + text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml"), + ) + setattr( + cls, + "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json"), + ) + setattr(cls, "vnd.orange.indata", PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", PermissibleValue(text="vnd.osa.netdeploy")) + setattr( + cls, + "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package"), + ) + setattr(cls, "vnd.osgi.bundle", PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", PermissibleValue(text="vnd.osgi.subsystem")) + setattr( + cls, "vnd.otps.ct-kip+xml", PermissibleValue(text="vnd.otps.ct-kip+xml") + ) + setattr( + cls, "vnd.oxli.countgraph", PermissibleValue(text="vnd.oxli.countgraph") + ) + setattr(cls, "vnd.pagerduty+json", PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", PermissibleValue(text="vnd.patentdive")) + setattr( + cls, "vnd.patientecommsdoc", PermissibleValue(text="vnd.patientecommsdoc") + ) + setattr(cls, "vnd.pawaafile", PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", PermissibleValue(text="vnd.pg.osasli")) + setattr( + cls, + "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence"), + ) + setattr(cls, "vnd.picsel", PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", PermissibleValue(text="vnd.pmi.widget")) + setattr( + cls, + "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml"), + ) + setattr(cls, "vnd.pocketlearn", PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", PermissibleValue(text="vnd.powerbuilder6")) + setattr( + cls, "vnd.powerbuilder6-s", PermissibleValue(text="vnd.powerbuilder6-s") + ) + setattr(cls, "vnd.powerbuilder7", PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", PermissibleValue(text="vnd.powerbuilder75")) + setattr( + cls, "vnd.powerbuilder75-s", PermissibleValue(text="vnd.powerbuilder75-s") + ) + setattr( + cls, "vnd.powerbuilder7-s", PermissibleValue(text="vnd.powerbuilder7-s") + ) + setattr(cls, "vnd.preminet", PermissibleValue(text="vnd.preminet")) + setattr( + cls, + "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box"), + ) + setattr( + cls, "vnd.proteus.magazine", PermissibleValue(text="vnd.proteus.magazine") + ) + setattr(cls, "vnd.psfs", PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", PermissibleValue(text="vnd.pt.mundusmundi")) + setattr( + cls, + "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree"), + ) + setattr(cls, "vnd.pvi.ptid1", PermissibleValue(text="vnd.pvi.ptid1")) + setattr( + cls, "vnd.pwg-multiplexed", PermissibleValue(text="vnd.pwg-multiplexed") + ) + setattr( + cls, + "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml"), + ) + setattr( + cls, + "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res"), + ) + setattr(cls, "vnd.quarantainenet", PermissibleValue(text="vnd.quarantainenet")) + setattr( + cls, "vnd.Quark.QuarkXPress", PermissibleValue(text="vnd.Quark.QuarkXPress") + ) + setattr( + cls, + "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument"), + ) + setattr( + cls, "vnd.radisys.moml+xml", PermissibleValue(text="vnd.radisys.moml+xml") + ) + setattr( + cls, + "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml"), + ) + setattr( + cls, "vnd.radisys.msml+xml", PermissibleValue(text="vnd.radisys.msml+xml") + ) + setattr(cls, "vnd.rainstor.data", PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", PermissibleValue(text="vnd.realvnc.bed")) + setattr( + cls, + "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml"), + ) + setattr( + cls, + "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml"), + ) + setattr(cls, "vnd.relpipe", PermissibleValue(text="vnd.relpipe")) + setattr( + cls, "vnd.RenLearn.rlprint", PermissibleValue(text="vnd.RenLearn.rlprint") + ) + setattr( + cls, "vnd.resilient.logic", PermissibleValue(text="vnd.resilient.logic") + ) + setattr(cls, "vnd.restful+json", PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", PermissibleValue(text="vnd.rig.cryptonote")) + setattr( + cls, + "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml"), + ) + setattr(cls, "vnd.rs-274x", PermissibleValue(text="vnd.rs-274x")) + setattr( + cls, "vnd.ruckus.download", PermissibleValue(text="vnd.ruckus.download") + ) + setattr(cls, "vnd.s3sms", PermissibleValue(text="vnd.s3sms")) + setattr( + cls, + "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track"), + ) + setattr(cls, "vnd.sar", PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", PermissibleValue(text="vnd.sealed.xls")) + setattr( + cls, + "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html"), + ) + setattr( + cls, + "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf"), + ) + setattr(cls, "vnd.seemail", PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", PermissibleValue(text="vnd.semf")) + setattr( + cls, "vnd.shade-save-file", PermissibleValue(text="vnd.shade-save-file") + ) + setattr( + cls, + "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata"), + ) + setattr( + cls, + "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate"), + ) + setattr( + cls, + "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange"), + ) + setattr( + cls, + "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package"), + ) + setattr( + cls, "vnd.shootproof+json", PermissibleValue(text="vnd.shootproof+json") + ) + setattr(cls, "vnd.shopkick+json", PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", PermissibleValue(text="vnd.sigrok.session")) + setattr( + cls, + "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper"), + ) + setattr(cls, "vnd.siren+json", PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", PermissibleValue(text="vnd.smart.teacher")) + setattr( + cls, + "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive"), + ) + setattr( + cls, + "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table"), + ) + setattr( + cls, + "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml"), + ) + setattr( + cls, + "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip"), + ) + setattr( + cls, "vnd.solent.sdkm+xml", PermissibleValue(text="vnd.solent.sdkm+xml") + ) + setattr(cls, "vnd.spotfire.dxp", PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", PermissibleValue(text="vnd.sss-ntf")) + setattr( + cls, "vnd.stepmania.package", PermissibleValue(text="vnd.stepmania.package") + ) + setattr( + cls, + "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart"), + ) + setattr(cls, "vnd.street-stream", PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", PermissibleValue(text="vnd.syft+json")) + setattr( + cls, + "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification"), + ) + setattr( + cls, "vnd.syncml.dmddf+xml", PermissibleValue(text="vnd.syncml.dmddf+xml") + ) + setattr( + cls, + "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml"), + ) + setattr( + cls, "vnd.syncml.dmtnds+xml", PermissibleValue(text="vnd.syncml.dmtnds+xml") + ) + setattr( + cls, + "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml"), + ) + setattr( + cls, "vnd.syncml.dm+wbxml", PermissibleValue(text="vnd.syncml.dm+wbxml") + ) + setattr(cls, "vnd.syncml.dm+xml", PermissibleValue(text="vnd.syncml.dm+xml")) + setattr( + cls, + "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification"), + ) + setattr(cls, "vnd.syncml+xml", PermissibleValue(text="vnd.syncml+xml")) + setattr( + cls, "vnd.tableschema+json", PermissibleValue(text="vnd.tableschema+json") + ) + setattr( + cls, + "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive"), + ) + setattr(cls, "vnd.tcpdump.pcap", PermissibleValue(text="vnd.tcpdump.pcap")) + setattr( + cls, + "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json"), + ) + setattr(cls, "vnd.tml", PermissibleValue(text="vnd.tml")) + setattr( + cls, + "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml"), + ) + setattr(cls, "vnd.tmobile-livetv", PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", PermissibleValue(text="vnd.truedoc")) + setattr( + cls, "vnd.ubisoft.webplayer", PermissibleValue(text="vnd.ubisoft.webplayer") + ) + setattr(cls, "vnd.ufdl", PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", PermissibleValue(text="vnd.uplanet.alert")) + setattr( + cls, + "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml"), + ) + setattr( + cls, "vnd.uplanet.cacheop", PermissibleValue(text="vnd.uplanet.cacheop") + ) + setattr( + cls, + "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml"), + ) + setattr( + cls, "vnd.uplanet.channel", PermissibleValue(text="vnd.uplanet.channel") + ) + setattr( + cls, + "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml"), + ) + setattr(cls, "vnd.uplanet.list", PermissibleValue(text="vnd.uplanet.list")) + setattr( + cls, "vnd.uplanet.listcmd", PermissibleValue(text="vnd.uplanet.listcmd") + ) + setattr( + cls, + "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml"), + ) + setattr(cls, "vnd.uri-map", PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", PermissibleValue(text="vnd.uplanet.signal")) + setattr( + cls, + "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material"), + ) + setattr(cls, "vnd.vcx", PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", PermissibleValue(text="vnd.vel+json")) + setattr( + cls, "vnd.verimatrix.vcas", PermissibleValue(text="vnd.verimatrix.vcas") + ) + setattr( + cls, + "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json"), + ) + setattr(cls, "vnd.veryant.thin", PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", PermissibleValue(text="vnd.ves.encrypted")) + setattr( + cls, + "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference"), + ) + setattr(cls, "vnd.visio", PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", PermissibleValue(text="vnd.visionary")) + setattr( + cls, + "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile"), + ) + setattr(cls, "vnd.vsf", PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", PermissibleValue(text="vnd.wfa.wsc")) + setattr( + cls, + "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing"), + ) + setattr(cls, "vnd.wmc", PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", PermissibleValue(text="vnd.wmf.bootstrap")) + setattr( + cls, + "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica"), + ) + setattr( + cls, + "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package"), + ) + setattr(cls, "vnd.wolfram.player", PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", PermissibleValue(text="vnd.wqd")) + setattr( + cls, + "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled"), + ) + setattr(cls, "vnd.wt.stf", PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr( + cls, "vnd.yamaha.hv-script", PermissibleValue(text="vnd.yamaha.hv-script") + ) + setattr( + cls, "vnd.yamaha.hv-voice", PermissibleValue(text="vnd.yamaha.hv-voice") + ) + setattr( + cls, + "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml"), + ) + setattr( + cls, + "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat"), + ) + setattr( + cls, + "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup"), + ) + setattr( + cls, "vnd.yamaha.smaf-audio", PermissibleValue(text="vnd.yamaha.smaf-audio") + ) + setattr( + cls, + "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase"), + ) + setattr( + cls, + "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn"), + ) + setattr( + cls, + "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap"), + ) + setattr(cls, "vnd.yaoweme", PermissibleValue(text="vnd.yaoweme")) + setattr( + cls, + "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu"), + ) + setattr( + cls, + "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue( + text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" + ), + ) + setattr(cls, "vnd.zul", PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", PermissibleValue(text="watcherinfo+xml")) + setattr( + cls, "webpush-options+json", PermissibleValue(text="webpush-options+json") + ) + setattr(cls, "whoispp-query", PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", PermissibleValue(text="x-pki-message")) + setattr( + cls, "x-www-form-urlencoded", PermissibleValue(text="x-www-form-urlencoded") + ) + setattr(cls, "x-x509-ca-cert", PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", PermissibleValue(text="x-x509-ca-ra-cert")) + setattr( + cls, "x-x509-next-ca-cert", PermissibleValue(text="x-x509-next-ca-cert") + ) + setattr(cls, "x400-bp", PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", PermissibleValue(text="xcap-ns+xml")) + setattr( + cls, + "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml"), + ) + setattr( + cls, + "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml"), + ) + setattr(cls, "xenc+xml", PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", PermissibleValue(text="yin+xml")) -class ProvisionTypes(EnumDefinitionImpl): +class ProvisionTypes(EnumDefinitionImpl): private = PermissibleValue( text="private", - description="A service, which is provided for one customer exclusively.") + description="A service, which is provided for one customer exclusively.", + ) public = PermissibleValue( text="public", - description="A service, which is used by several customers, simultaneously.") + description="A service, which is used by several customers, simultaneously.", + ) hybrid = PermissibleValue( text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""", + ) _defn = EnumDefinition( name="ProvisionTypes", ) -class TenantSeparation(EnumDefinitionImpl): - physical = PermissibleValue( - text="physical", - description="TBD") +class TenantSeparation(EnumDefinitionImpl): + physical = PermissibleValue(text="physical", description="TBD") _defn = EnumDefinition( name="TenantSeparation", @@ -8687,31 +9533,38 @@ class TenantSeparation(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) + setattr( + cls, + "hw-virtualized", + PermissibleValue(text="hw-virtualized", description="TBD"), + ) + setattr( + cls, + "sw-virtualized", + PermissibleValue(text="sw-virtualized", description="TBD"), + ) + setattr( + cls, + "os-virtualized", + PermissibleValue(text="os-virtualized", description="TBD"), + ) + setattr( + cls, + "os-hw-virtualized", + PermissibleValue(text="os-hw-virtualized", description="TBD"), + ) + setattr( + cls, + "hw-partitioned", + PermissibleValue(text="hw-partitioned", description="TBD"), + ) + class FirmType(EnumDefinitionImpl): """ Possible values for VM image's firmerequired hypervisor. """ + BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") other = PermissibleValue(text="other") @@ -8721,36 +9574,41 @@ class FirmType(EnumDefinitionImpl): description="Possible values for VM image's firmerequired hypervisor.", ) + class WatchDogActions(EnumDefinitionImpl): """ Possible values for VM image's watchdog actions. """ + disabled = PermissibleValue( text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") + description="No watchdog is enabled. No action will be performed if server hangs.", + ) reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") + text="reset", description="Restart of guest us forced if server hangs." + ) poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") + text="poweroff", description="Power of of guest is forced if server hangs." + ) pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") + text="pause", description="Pause of guest is forced, if server hangs." + ) none = PermissibleValue( text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") + description="Watchdog is enabled, but not action is defined and performed if server hangs.", + ) _defn = EnumDefinition( name="WatchDogActions", description="Possible values for VM image's watchdog actions.", ) -class RNGTypes(EnumDefinitionImpl): +class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random generator is based in electronic quantum effects.", + ) _defn = EnumDefinition( name="RNGTypes", @@ -8758,25 +9616,41 @@ class RNGTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Electrical noise", + setattr( + cls, + "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", + description="Hardware random generator is based on electronic noise.", + ), + ) + setattr( + cls, + "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", + description="Hardware random generator is based on chaos.", + ), + ) + setattr( + cls, + "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", + description="Hardware random generator is based in electronic free-running oscillators.", + ), + ) + setattr( + cls, + "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.", + ), + ) -class VMDiskType(EnumDefinitionImpl): +class VMDiskType(EnumDefinitionImpl): RAW = PermissibleValue(text="RAW") QCOW2 = PermissibleValue(text="QCOW2") VHD = PermissibleValue(text="VHD") @@ -8789,464 +9663,1407 @@ class VMDiskType(EnumDefinitionImpl): name="VMDiskType", ) + # Slots class slots: pass -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), - model_uri=GX.checkSum__checkSumValue, domain=None, range=str) - -slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), - model_uri=GX.signature__signatureValue, domain=None, range=str) - -slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), - model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) +slots.value = Slot( + uri=QUDT.value, + name="value", + curie=QUDT.curie("value"), + model_uri=GX.value, + domain=None, + range=float, +) + +slots.unit = Slot( + uri=QUDT.unit, + name="unit", + curie=QUDT.curie("unit"), + model_uri=GX.unit, + domain=None, + range=str, +) + +slots.address__countryCode = Slot( + uri=GX.countryCode, + name="address__countryCode", + curie=GX.curie("countryCode"), + model_uri=GX.address__countryCode, + domain=None, + range=str, +) + +slots.address__gps = Slot( + uri=GX.gps, + name="address__gps", + curie=GX.curie("gps"), + model_uri=GX.address__gps, + domain=None, + range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]], +) + +slots.address__streetAddress = Slot( + uri=VCARD["street-address"], + name="address__streetAddress", + curie=VCARD.curie("street-address"), + model_uri=GX.address__streetAddress, + domain=None, + range=Optional[str], +) + +slots.address__postalCode = Slot( + uri=VCARD["postal-code"], + name="address__postalCode", + curie=VCARD.curie("postal-code"), + model_uri=GX.address__postalCode, + domain=None, + range=Optional[str], +) + +slots.address__locality = Slot( + uri=VCARD.locality, + name="address__locality", + curie=VCARD.curie("locality"), + model_uri=GX.address__locality, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__latitude = Slot( + uri=GX.latitude, + name="gPSLocation__latitude", + curie=GX.curie("latitude"), + model_uri=GX.gPSLocation__latitude, + domain=None, + range=str, +) + +slots.gPSLocation__longitude = Slot( + uri=GX.longitude, + name="gPSLocation__longitude", + curie=GX.curie("longitude"), + model_uri=GX.gPSLocation__longitude, + domain=None, + range=str, +) + +slots.gPSLocation__altitude = Slot( + uri=GX.altitude, + name="gPSLocation__altitude", + curie=GX.curie("altitude"), + model_uri=GX.gPSLocation__altitude, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__crs = Slot( + uri=GX.crs, + name="gPSLocation__crs", + curie=GX.curie("crs"), + model_uri=GX.gPSLocation__crs, + domain=None, + range=Optional[str], + pattern=re.compile(r"^CRS"), +) + +slots.gPSUnit__degrees = Slot( + uri=GX.degrees, + name="gPSUnit__degrees", + curie=GX.curie("degrees"), + model_uri=GX.gPSUnit__degrees, + domain=None, + range=int, +) + +slots.gPSUnit__minutes = Slot( + uri=GX.minutes, + name="gPSUnit__minutes", + curie=GX.curie("minutes"), + model_uri=GX.gPSUnit__minutes, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__seconds = Slot( + uri=GX.seconds, + name="gPSUnit__seconds", + curie=GX.curie("seconds"), + model_uri=GX.gPSUnit__seconds, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__decimals = Slot( + uri=GX.decimals, + name="gPSUnit__decimals", + curie=GX.curie("decimals"), + model_uri=GX.gPSUnit__decimals, + domain=None, + range=Optional[float], +) + +slots.gaiaXEntity__name = Slot( + uri=GX.name, + name="gaiaXEntity__name", + curie=GX.curie("name"), + model_uri=GX.gaiaXEntity__name, + domain=None, + range=Optional[str], +) + +slots.gaiaXEntity__description = Slot( + uri=GX.description, + name="gaiaXEntity__description", + curie=GX.curie("description"), + model_uri=GX.gaiaXEntity__description, + domain=None, + range=Optional[str], +) + +slots.cPU__cpuArchitecture = Slot( + uri=GX.cpuArchitecture, + name="cPU__cpuArchitecture", + curie=GX.curie("cpuArchitecture"), + model_uri=GX.cPU__cpuArchitecture, + domain=None, + range=Optional[Union[str, "Architectures"]], +) + +slots.cPU__cpuFlag = Slot( + uri=GX.cpuFlag, + name="cPU__cpuFlag", + curie=GX.curie("cpuFlag"), + model_uri=GX.cPU__cpuFlag, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.cPU__smtEnabled = Slot( + uri=GX.smtEnabled, + name="cPU__smtEnabled", + curie=GX.curie("smtEnabled"), + model_uri=GX.cPU__smtEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.cPU__numberOfCores = Slot( + uri=GX.numberOfCores, + name="cPU__numberOfCores", + curie=GX.curie("numberOfCores"), + model_uri=GX.cPU__numberOfCores, + domain=None, + range=Optional[int], +) + +slots.cPU__numberOfThreads = Slot( + uri=GX.numberOfThreads, + name="cPU__numberOfThreads", + curie=GX.curie("numberOfThreads"), + model_uri=GX.cPU__numberOfThreads, + domain=None, + range=Optional[int], +) + +slots.cPU__baseFrequency = Slot( + uri=GX.baseFrequency, + name="cPU__baseFrequency", + curie=GX.curie("baseFrequency"), + model_uri=GX.cPU__baseFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__boostFrequency = Slot( + uri=GX.boostFrequency, + name="cPU__boostFrequency", + curie=GX.curie("boostFrequency"), + model_uri=GX.cPU__boostFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__lastLevelCacheSize = Slot( + uri=GX.lastLevelCacheSize, + name="cPU__lastLevelCacheSize", + curie=GX.curie("lastLevelCacheSize"), + model_uri=GX.cPU__lastLevelCacheSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.cPU__thermalDesignPower = Slot( + uri=GX.thermalDesignPower, + name="cPU__thermalDesignPower", + curie=GX.curie("thermalDesignPower"), + model_uri=GX.cPU__thermalDesignPower, + domain=None, + range=Optional[Union[dict, Power]], +) + +slots.encryption__cipher = Slot( + uri=GX.cipher, + name="encryption__cipher", + curie=GX.curie("cipher"), + model_uri=GX.encryption__cipher, + domain=None, + range=Union[str, "EncryptionAlgorithm"], +) + +slots.encryption__keyManagement = Slot( + uri=GX.keyManagement, + name="encryption__keyManagement", + curie=GX.curie("keyManagement"), + model_uri=GX.encryption__keyManagement, + domain=None, + range=Union[str, "KeyManagement"], +) + +slots.checkSum__checkSumCalculation = Slot( + uri=GX.checkSumCalculation, + name="checkSum__checkSumCalculation", + curie=GX.curie("checkSumCalculation"), + model_uri=GX.checkSum__checkSumCalculation, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.checkSum__checkSumValue = Slot( + uri=GX.checkSumValue, + name="checkSum__checkSumValue", + curie=GX.curie("checkSumValue"), + model_uri=GX.checkSum__checkSumValue, + domain=None, + range=str, +) + +slots.signature__signatureValue = Slot( + uri=GX.signatureValue, + name="signature__signatureValue", + curie=GX.curie("signatureValue"), + model_uri=GX.signature__signatureValue, + domain=None, + range=str, +) + +slots.signature__hashAlgorithm = Slot( + uri=GX.hashAlgorithm, + name="signature__hashAlgorithm", + curie=GX.curie("hashAlgorithm"), + model_uri=GX.signature__hashAlgorithm, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.signature__signatureAlgorithm = Slot( + uri=GX.signatureAlgorithm, + name="signature__signatureAlgorithm", + curie=GX.curie("signatureAlgorithm"), + model_uri=GX.signature__signatureAlgorithm, + domain=None, + range=Union[str, "SignatureAlgorithm"], +) + +slots.device__vendor = Slot( + uri=GX.vendor, + name="device__vendor", + curie=GX.curie("vendor"), + model_uri=GX.device__vendor, + domain=None, + range=Optional[str], +) + +slots.device__generation = Slot( + uri=GX.generation, + name="device__generation", + curie=GX.curie("generation"), + model_uri=GX.device__generation, + domain=None, + range=Optional[str], +) + +slots.device__defaultOversubscriptionRatio = Slot( + uri=GX.defaultOversubscriptionRatio, + name="device__defaultOversubscriptionRatio", + curie=GX.curie("defaultOversubscriptionRatio"), + model_uri=GX.device__defaultOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.device__supportedOversubscriptionRatio = Slot( + uri=GX.supportedOversubscriptionRatio, + name="device__supportedOversubscriptionRatio", + curie=GX.curie("supportedOversubscriptionRatio"), + model_uri=GX.device__supportedOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.disk__diskSize = Slot( + uri=GX.diskSize, + name="disk__diskSize", + curie=GX.curie("diskSize"), + model_uri=GX.disk__diskSize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.disk__diskType = Slot( + uri=GX.diskType, + name="disk__diskType", + curie=GX.curie("diskType"), + model_uri=GX.disk__diskType, + domain=None, + range=Optional[Union[str, "DiskTypes"]], +) + +slots.disk__diskBusType = Slot( + uri=GX.diskBusType, + name="disk__diskBusType", + curie=GX.curie("diskBusType"), + model_uri=GX.disk__diskBusType, + domain=None, + range=Optional[str], +) + +slots.endpoint__endpointURL = Slot( + uri=GX.endpointURL, + name="endpoint__endpointURL", + curie=GX.curie("endpointURL"), + model_uri=GX.endpoint__endpointURL, + domain=None, + range=Optional[Union[str, URI]], +) + +slots.endpoint__standardConformity = Slot( + uri=GX.standardConformity, + name="endpoint__standardConformity", + curie=GX.curie("standardConformity"), + model_uri=GX.endpoint__standardConformity, + domain=None, + range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]], +) + +slots.endpoint__formalDescription = Slot( + uri=GX.formalDescription, + name="endpoint__formalDescription", + curie=GX.curie("formalDescription"), + model_uri=GX.endpoint__formalDescription, + domain=None, + range=Optional[str], +) + +slots.gPU__gpuMemory = Slot( + uri=GX.gpuMemory, + name="gPU__gpuMemory", + curie=GX.curie("gpuMemory"), + model_uri=GX.gPU__gpuMemory, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.gPU__gpuInterconnection = Slot( + uri=GX.gpuInterconnection, + name="gPU__gpuInterconnection", + curie=GX.curie("gpuInterconnection"), + model_uri=GX.gPU__gpuInterconnection, + domain=None, + range=Optional[Union[str, "GPUInterconnetionTypes"]], +) + +slots.gPU__gpuProcessingUnits = Slot( + uri=GX.gpuProcessingUnits, + name="gPU__gpuProcessingUnits", + curie=GX.curie("gpuProcessingUnits"), + model_uri=GX.gPU__gpuProcessingUnits, + domain=None, + range=Optional[int], +) + +slots.gPU__gpuPassthrough = Slot( + uri=GX.gpuPassthrough, + name="gPU__gpuPassthrough", + curie=GX.curie("gpuPassthrough"), + model_uri=GX.gPU__gpuPassthrough, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__fileSize = Slot( + uri=GX.fileSize, + name="image__fileSize", + curie=GX.curie("fileSize"), + model_uri=GX.image__fileSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__operatingSystem = Slot( + uri=GX.operatingSystem, + name="image__operatingSystem", + curie=GX.curie("operatingSystem"), + model_uri=GX.image__operatingSystem, + domain=None, + range=Optional[Union[dict, OperatingSystem]], +) + +slots.image__cpuReq = Slot( + uri=GX.cpuReq, + name="image__cpuReq", + curie=GX.curie("cpuReq"), + model_uri=GX.image__cpuReq, + domain=None, + range=Optional[Union[dict, CPU]], +) + +slots.image__gpuReq = Slot( + uri=GX.gpuReq, + name="image__gpuReq", + curie=GX.curie("gpuReq"), + model_uri=GX.image__gpuReq, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.image__ramReq = Slot( + uri=GX.ramReq, + name="image__ramReq", + curie=GX.curie("ramReq"), + model_uri=GX.image__ramReq, + domain=None, + range=Optional[Union[dict, Memory]], +) + +slots.image__videoRamSize = Slot( + uri=GX.videoRamSize, + name="image__videoRamSize", + curie=GX.curie("videoRamSize"), + model_uri=GX.image__videoRamSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__rootDiskReq = Slot( + uri=GX.rootDiskReq, + name="image__rootDiskReq", + curie=GX.curie("rootDiskReq"), + model_uri=GX.image__rootDiskReq, + domain=None, + range=Optional[Union[dict, Disk]], +) + +slots.image__encryption = Slot( + uri=GX.encryption, + name="image__encryption", + curie=GX.curie("encryption"), + model_uri=GX.image__encryption, + domain=None, + range=Optional[Union[dict, Encryption]], +) + +slots.image__checkSum = Slot( + uri=GX.checkSum, + name="image__checkSum", + curie=GX.curie("checkSum"), + model_uri=GX.image__checkSum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.image__secureBoot = Slot( + uri=GX.secureBoot, + name="image__secureBoot", + curie=GX.curie("secureBoot"), + model_uri=GX.image__secureBoot, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__vPMU = Slot( + uri=GX.vPMU, + name="image__vPMU", + curie=GX.curie("vPMU"), + model_uri=GX.image__vPMU, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__multiQueues = Slot( + uri=GX.multiQueues, + name="image__multiQueues", + curie=GX.curie("multiQueues"), + model_uri=GX.image__multiQueues, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__updateStrategy = Slot( + uri=GX.updateStrategy, + name="image__updateStrategy", + curie=GX.curie("updateStrategy"), + model_uri=GX.image__updateStrategy, + domain=None, + range=Optional[Union[dict, UpdateStrategy]], +) + +slots.image__licenseIncluded = Slot( + uri=GX.licenseIncluded, + name="image__licenseIncluded", + curie=GX.curie("licenseIncluded"), + model_uri=GX.image__licenseIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__maintenance = Slot( + uri=GX.maintenance, + name="image__maintenance", + curie=GX.curie("maintenance"), + model_uri=GX.image__maintenance, + domain=None, + range=Optional[Union[dict, MaintenanceSubscription]], +) + +slots.maintenanceSubscription__subscriptionIncluded = Slot( + uri=GX.subscriptionIncluded, + name="maintenanceSubscription__subscriptionIncluded", + curie=GX.curie("subscriptionIncluded"), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__subscriptionRequired = Slot( + uri=GX.subscriptionRequired, + name="maintenanceSubscription__subscriptionRequired", + curie=GX.curie("subscriptionRequired"), + model_uri=GX.maintenanceSubscription__subscriptionRequired, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__maintainedUntil = Slot( + uri=GX.maintainedUntil, + name="maintenanceSubscription__maintainedUntil", + curie=GX.curie("maintainedUntil"), + model_uri=GX.maintenanceSubscription__maintainedUntil, + domain=None, + range=Optional[Union[str, XSDDate]], +) + +slots.updateStrategy__replaceFrequency = Slot( + uri=GX.replaceFrequency, + name="updateStrategy__replaceFrequency", + curie=GX.curie("replaceFrequency"), + model_uri=GX.updateStrategy__replaceFrequency, + domain=None, + range=Optional[Union[str, "UpdateFrequency"]], +) + +slots.updateStrategy__hotfixHours = Slot( + uri=GX.hotfixHours, + name="updateStrategy__hotfixHours", + curie=GX.curie("hotfixHours"), + model_uri=GX.updateStrategy__hotfixHours, + domain=None, + range=Optional[int], +) + +slots.updateStrategy__oldVersionsValidUntil = Slot( + uri=GX.oldVersionsValidUntil, + name="updateStrategy__oldVersionsValidUntil", + curie=GX.curie("oldVersionsValidUntil"), + model_uri=GX.updateStrategy__oldVersionsValidUntil, + domain=None, + range=Optional[str], +) + +slots.updateStrategy__providedUntil = Slot( + uri=GX.providedUntil, + name="updateStrategy__providedUntil", + curie=GX.curie("providedUntil"), + model_uri=GX.updateStrategy__providedUntil, + domain=None, + range=Optional[str], +) + +slots.latestN__value = Slot( + uri=GX.value, + name="latestN__value", + curie=GX.curie("value"), + model_uri=GX.latestN__value, + domain=None, + range=Optional[int], +) + +slots.issuer__issuerTermsAndConditions = Slot( + uri=GX.issuerTermsAndConditions, + name="issuer__issuerTermsAndConditions", + curie=GX.curie("issuerTermsAndConditions"), + model_uri=GX.issuer__issuerTermsAndConditions, + domain=None, + range=Union[str, "GaiaXTermsAndConditions"], +) + +slots.legalPerson__registrationNumber = Slot( + uri=GX.registrationNumber, + name="legalPerson__registrationNumber", + curie=GX.curie("registrationNumber"), + model_uri=GX.legalPerson__registrationNumber, + domain=None, + range=URIRef, +) + +slots.legalPerson__legalAddress = Slot( + uri=GX.legalAddress, + name="legalPerson__legalAddress", + curie=GX.curie("legalAddress"), + model_uri=GX.legalPerson__legalAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__headquartersAddress = Slot( + uri=GX.headquartersAddress, + name="legalPerson__headquartersAddress", + curie=GX.curie("headquartersAddress"), + model_uri=GX.legalPerson__headquartersAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__parentOrganizationOf = Slot( + uri=GX.parentOrganizationOf, + name="legalPerson__parentOrganizationOf", + curie=GX.curie("parentOrganizationOf"), + model_uri=GX.legalPerson__parentOrganizationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.legalPerson__subOrganisationOf = Slot( + uri=GX.subOrganisationOf, + name="legalPerson__subOrganisationOf", + curie=GX.curie("subOrganisationOf"), + model_uri=GX.legalPerson__subOrganisationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.localRegistrationNumber__local = Slot( + uri=GX.local, + name="localRegistrationNumber__local", + curie=GX.curie("local"), + model_uri=GX.localRegistrationNumber__local, + domain=None, + range=URIRef, +) + +slots.vatID__vatID = Slot( + uri=GX.vatID, + name="vatID__vatID", + curie=GX.curie("vatID"), + model_uri=GX.vatID__vatID, + domain=None, + range=URIRef, +) + +slots.leiCode__leiCode = Slot( + uri=SCHEMA.leiCode, + name="leiCode__leiCode", + curie=SCHEMA.curie("leiCode"), + model_uri=GX.leiCode__leiCode, + domain=None, + range=URIRef, +) + +slots.eORI__eori = Slot( + uri=GX.eori, + name="eORI__eori", + curie=GX.curie("eori"), + model_uri=GX.eORI__eori, + domain=None, + range=URIRef, +) + +slots.eUID__euid = Slot( + uri=GX.euid, + name="eUID__euid", + curie=GX.curie("euid"), + model_uri=GX.eUID__euid, + domain=None, + range=URIRef, +) + +slots.memory__memorySize = Slot( + uri=GX.memorySize, + name="memory__memorySize", + curie=GX.curie("memorySize"), + model_uri=GX.memory__memorySize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.memory__memoryClass = Slot( + uri=GX.memoryClass, + name="memory__memoryClass", + curie=GX.curie("memoryClass"), + model_uri=GX.memory__memoryClass, + domain=None, + range=Optional[Union[str, "MemoryClasses"]], +) + +slots.memory__memoryRank = Slot( + uri=GX.memoryRank, + name="memory__memoryRank", + curie=GX.curie("memoryRank"), + model_uri=GX.memory__memoryRank, + domain=None, + range=Optional[Union[str, "MemoryRanks"]], +) + +slots.memory__eccEnabled = Slot( + uri=GX.eccEnabled, + name="memory__eccEnabled", + curie=GX.curie("eccEnabled"), + model_uri=GX.memory__eccEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.memory__hardwareEncryption = Slot( + uri=GX.hardwareEncryption, + name="memory__hardwareEncryption", + curie=GX.curie("hardwareEncryption"), + model_uri=GX.memory__hardwareEncryption, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.pXEImage__pxeImageDiskFormat = Slot( + uri=GX.pxeImageDiskFormat, + name="pXEImage__pxeImageDiskFormat", + curie=GX.curie("pxeImageDiskFormat"), + model_uri=GX.pXEImage__pxeImageDiskFormat, + domain=None, + range=Optional[Union[str, "PXEDiskType"]], +) + +slots.resource__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="resource__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.resource__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.virtualResource__copyrightOwnedBy = Slot( + uri=GX.copyrightOwnedBy, + name="virtualResource__copyrightOwnedBy", + curie=GX.curie("copyrightOwnedBy"), + model_uri=GX.virtualResource__copyrightOwnedBy, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__license = Slot( + uri=GX.license, + name="virtualResource__license", + curie=GX.curie("license"), + model_uri=GX.virtualResource__license, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__resourcePolicy = Slot( + uri=GX.resourcePolicy, + name="virtualResource__resourcePolicy", + curie=GX.curie("resourcePolicy"), + model_uri=GX.virtualResource__resourcePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.physicalResource__maintainedBy = Slot( + uri=GX.maintainedBy, + name="physicalResource__maintainedBy", + curie=GX.curie("maintainedBy"), + model_uri=GX.physicalResource__maintainedBy, + domain=None, + range=Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ], +) + +slots.physicalResource__ownedBy = Slot( + uri=GX.ownedBy, + name="physicalResource__ownedBy", + curie=GX.curie("ownedBy"), + model_uri=GX.physicalResource__ownedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__manufacturedBy = Slot( + uri=GX.manufacturedBy, + name="physicalResource__manufacturedBy", + curie=GX.curie("manufacturedBy"), + model_uri=GX.physicalResource__manufacturedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__location = Slot( + uri=GX.location, + name="physicalResource__location", + curie=GX.curie("location"), + model_uri=GX.physicalResource__location, + domain=None, + range=Union[Union[dict, Address], List[Union[dict, Address]]], +) + +slots.softwareResource__checksum = Slot( + uri=GX.checksum, + name="softwareResource__checksum", + curie=GX.curie("checksum"), + model_uri=GX.softwareResource__checksum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.softwareResource__signature = Slot( + uri=GX.signature, + name="softwareResource__signature", + curie=GX.curie("signature"), + model_uri=GX.softwareResource__signature, + domain=None, + range=Optional[Union[dict, Signature]], +) + +slots.softwareResource__version = Slot( + uri=GX.version, + name="softwareResource__version", + curie=GX.curie("version"), + model_uri=GX.softwareResource__version, + domain=None, + range=Optional[str], +) + +slots.softwareResource__patchLevel = Slot( + uri=GX.patchLevel, + name="softwareResource__patchLevel", + curie=GX.curie("patchLevel"), + model_uri=GX.softwareResource__patchLevel, + domain=None, + range=Optional[str], +) + +slots.softwareResource__buildDate = Slot( + uri=GX.buildDate, + name="softwareResource__buildDate", + curie=GX.curie("buildDate"), + model_uri=GX.softwareResource__buildDate, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.operatingSystem__osDistribution = Slot( + uri=GX.osDistribution, + name="operatingSystem__osDistribution", + curie=GX.curie("osDistribution"), + model_uri=GX.operatingSystem__osDistribution, + domain=None, + range=Union[str, "OSDistribution"], +) + +slots.hypervisor__hypervisorType = Slot( + uri=GX.hypervisorType, + name="hypervisor__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.hypervisor__hypervisorType, + domain=None, + range=Union[str, "HypervisorType"], +) + +slots.serviceOffering__providedBy = Slot( + uri=GX.providedBy, + name="serviceOffering__providedBy", + curie=GX.curie("providedBy"), + model_uri=GX.serviceOffering__providedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.serviceOffering__dependsOn = Slot( + uri=GX.dependsOn, + name="serviceOffering__dependsOn", + curie=GX.curie("dependsOn"), + model_uri=GX.serviceOffering__dependsOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="serviceOffering__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.serviceOffering__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot( + uri=GX.serviceOfferingTermsAndConditions, + name="serviceOffering__serviceOfferingTermsAndConditions", + curie=GX.curie("serviceOfferingTermsAndConditions"), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, + domain=None, + range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]], +) + +slots.serviceOffering__servicePolicy = Slot( + uri=GX.servicePolicy, + name="serviceOffering__servicePolicy", + curie=GX.curie("servicePolicy"), + model_uri=GX.serviceOffering__servicePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.serviceOffering__dataProtectionRegime = Slot( + uri=GX.dataProtectionRegime, + name="serviceOffering__dataProtectionRegime", + curie=GX.curie("dataProtectionRegime"), + model_uri=GX.serviceOffering__dataProtectionRegime, + domain=None, + range=Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ], +) + +slots.serviceOffering__dataAccountExport = Slot( + uri=GX.dataAccountExport, + name="serviceOffering__dataAccountExport", + curie=GX.curie("dataAccountExport"), + model_uri=GX.serviceOffering__dataAccountExport, + domain=None, + range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]], +) + +slots.serviceOffering__keyword = Slot( + uri=GX.keyword, + name="serviceOffering__keyword", + curie=GX.curie("keyword"), + model_uri=GX.serviceOffering__keyword, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__provisionType = Slot( + uri=GX.provisionType, + name="serviceOffering__provisionType", + curie=GX.curie("provisionType"), + model_uri=GX.serviceOffering__provisionType, + domain=None, + range=Optional[Union[str, "ProvisionTypes"]], +) + +slots.serviceOffering__endpoint = Slot( + uri=GX.endpoint, + name="serviceOffering__endpoint", + curie=GX.curie("endpoint"), + model_uri=GX.serviceOffering__endpoint, + domain=None, + range=Optional[Union[dict, Endpoint]], +) + +slots.serviceOffering__hostedOn = Slot( + uri=GX.hostedOn, + name="serviceOffering__hostedOn", + curie=GX.curie("hostedOn"), + model_uri=GX.serviceOffering__hostedOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.computeServiceOffering__tenantSeparation = Slot( + uri=GX.tenantSeparation, + name="computeServiceOffering__tenantSeparation", + curie=GX.curie("tenantSeparation"), + model_uri=GX.computeServiceOffering__tenantSeparation, + domain=None, + range=Optional[Union[str, "TenantSeparation"]], +) + +slots.virtualMachineServiceOffering__codeArtifact = Slot( + uri=GX.codeArtifact, + name="virtualMachineServiceOffering__codeArtifact", + curie=GX.curie("codeArtifact"), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, + domain=None, + range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]], +) + +slots.virtualMachineServiceOffering__instantiationReq = Slot( + uri=GX.instantiationReq, + name="virtualMachineServiceOffering__instantiationReq", + curie=GX.curie("instantiationReq"), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, + domain=None, + range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]], +) + +slots.termsAndConditions__url = Slot( + uri=GX.url, + name="termsAndConditions__url", + curie=GX.curie("url"), + model_uri=GX.termsAndConditions__url, + domain=None, + range=Union[str, URI], +) + +slots.termsAndConditions__hash = Slot( + uri=GX.hash, + name="termsAndConditions__hash", + curie=GX.curie("hash"), + model_uri=GX.termsAndConditions__hash, + domain=None, + range=str, +) + +slots.dataAccountExport__requestType = Slot( + uri=GX.requestType, + name="dataAccountExport__requestType", + curie=GX.curie("requestType"), + model_uri=GX.dataAccountExport__requestType, + domain=None, + range=Union[str, "RequestTypes"], +) + +slots.dataAccountExport__accessType = Slot( + uri=GX.accessType, + name="dataAccountExport__accessType", + curie=GX.curie("accessType"), + model_uri=GX.dataAccountExport__accessType, + domain=None, + range=Union[str, "AccessTypes"], +) + +slots.dataAccountExport__formatType = Slot( + uri=GX.formatType, + name="dataAccountExport__formatType", + curie=GX.curie("formatType"), + model_uri=GX.dataAccountExport__formatType, + domain=None, + range=Union[str, "MIMETypes"], +) + +slots.standardConformity__title = Slot( + uri=GX.title, + name="standardConformity__title", + curie=GX.curie("title"), + model_uri=GX.standardConformity__title, + domain=None, + range=str, +) + +slots.standardConformity__standardReference = Slot( + uri=GX.standardReference, + name="standardConformity__standardReference", + curie=GX.curie("standardReference"), + model_uri=GX.standardConformity__standardReference, + domain=None, + range=Union[str, URI], +) + +slots.standardConformity__publisher = Slot( + uri=GX.publisher, + name="standardConformity__publisher", + curie=GX.curie("publisher"), + model_uri=GX.standardConformity__publisher, + domain=None, + range=Optional[str], +) + +slots.dataResource__producedBy = Slot( + uri=GX.producedBy, + name="dataResource__producedBy", + curie=GX.curie("producedBy"), + model_uri=GX.dataResource__producedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.dataResource__exposedThrough = Slot( + uri=GX.exposedThrough, + name="dataResource__exposedThrough", + curie=GX.curie("exposedThrough"), + model_uri=GX.dataResource__exposedThrough, + domain=None, + range=Union[ + Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]] + ], +) + +slots.dataResource__obsoleteDateTime = Slot( + uri=GX.obsoleteDateTime, + name="dataResource__obsoleteDateTime", + curie=GX.curie("obsoleteDateTime"), + model_uri=GX.dataResource__obsoleteDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__expirationDateTime = Slot( + uri=GX.expirationDateTime, + name="dataResource__expirationDateTime", + curie=GX.curie("expirationDateTime"), + model_uri=GX.dataResource__expirationDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__containsPII = Slot( + uri=GX.containsPII, + name="dataResource__containsPII", + curie=GX.curie("containsPII"), + model_uri=GX.dataResource__containsPII, + domain=None, + range=Union[bool, Bool], +) + +slots.dataResource__dataController = Slot( + uri=GX.dataController, + name="dataResource__dataController", + curie=GX.curie("dataController"), + model_uri=GX.dataResource__dataController, + domain=None, + range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]], +) + +slots.dataResource__consent = Slot( + uri=GX.consent, + name="dataResource__consent", + curie=GX.curie("consent"), + model_uri=GX.dataResource__consent, + domain=None, + range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]], +) + +slots.consent__legalBasis = Slot( + uri=GX.legalBasis, + name="consent__legalBasis", + curie=GX.curie("legalBasis"), + model_uri=GX.consent__legalBasis, + domain=None, + range=str, +) + +slots.consent__dataProtectionContactPoint = Slot( + uri=GX.dataProtectionContactPoint, + name="consent__dataProtectionContactPoint", + curie=GX.curie("dataProtectionContactPoint"), + model_uri=GX.consent__dataProtectionContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__purpose = Slot( + uri=GX.purpose, + name="consent__purpose", + curie=GX.curie("purpose"), + model_uri=GX.consent__purpose, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__consentWithdrawalContactPoint = Slot( + uri=GX.consentWithdrawalContactPoint, + name="consent__consentWithdrawalContactPoint", + curie=GX.curie("consentWithdrawalContactPoint"), + model_uri=GX.consent__consentWithdrawalContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.vMImage__vmImageDiskFormat = Slot( + uri=GX.vmImageDiskFormat, + name="vMImage__vmImageDiskFormat", + curie=GX.curie("vmImageDiskFormat"), + model_uri=GX.vMImage__vmImageDiskFormat, + domain=None, + range=Optional[Union[str, "VMDiskType"]], +) + +slots.vMImage__hypervisorType = Slot( + uri=GX.hypervisorType, + name="vMImage__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.vMImage__hypervisorType, + domain=None, + range=Optional[Union[str, "HypervisorType"]], +) + +slots.vMImage__firmwareType = Slot( + uri=GX.firmwareType, + name="vMImage__firmwareType", + curie=GX.curie("firmwareType"), + model_uri=GX.vMImage__firmwareType, + domain=None, + range=Optional[Union[str, "FirmType"]], +) + +slots.vMImage__hwRngTypeOfImage = Slot( + uri=GX.hwRngTypeOfImage, + name="vMImage__hwRngTypeOfImage", + curie=GX.curie("hwRngTypeOfImage"), + model_uri=GX.vMImage__hwRngTypeOfImage, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.vMImage__watchDogAction = Slot( + uri=GX.watchDogAction, + name="vMImage__watchDogAction", + curie=GX.curie("watchDogAction"), + model_uri=GX.vMImage__watchDogAction, + domain=None, + range=Optional[Union[str, "WatchDogActions"]], +) + +slots.serverFlavor__cpu = Slot( + uri=GX.cpu, + name="serverFlavor__cpu", + curie=GX.curie("cpu"), + model_uri=GX.serverFlavor__cpu, + domain=None, + range=Union[dict, CPU], +) + +slots.serverFlavor__ram = Slot( + uri=GX.ram, + name="serverFlavor__ram", + curie=GX.curie("ram"), + model_uri=GX.serverFlavor__ram, + domain=None, + range=Union[dict, Memory], +) + +slots.serverFlavor__gpu = Slot( + uri=GX.gpu, + name="serverFlavor__gpu", + curie=GX.curie("gpu"), + model_uri=GX.serverFlavor__gpu, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.serverFlavor__network = Slot( + uri=GX.network, + name="serverFlavor__network", + curie=GX.curie("network"), + model_uri=GX.serverFlavor__network, + domain=None, + range=Optional[str], +) + +slots.serverFlavor__bootVolume = Slot( + uri=GX.bootVolume, + name="serverFlavor__bootVolume", + curie=GX.curie("bootVolume"), + model_uri=GX.serverFlavor__bootVolume, + domain=None, + range=Union[dict, Disk], +) + +slots.serverFlavor__additionalVolume = Slot( + uri=GX.additionalVolume, + name="serverFlavor__additionalVolume", + curie=GX.curie("additionalVolume"), + model_uri=GX.serverFlavor__additionalVolume, + domain=None, + range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]], +) + +slots.serverFlavor__confidentialComputing = Slot( + uri=GX.confidentialComputing, + name="serverFlavor__confidentialComputing", + curie=GX.curie("confidentialComputing"), + model_uri=GX.serverFlavor__confidentialComputing, + domain=None, + range=Optional[Union[dict, ConfidentialComputing]], +) + +slots.serverFlavor__hypervisor = Slot( + uri=GX.hypervisor, + name="serverFlavor__hypervisor", + curie=GX.curie("hypervisor"), + model_uri=GX.serverFlavor__hypervisor, + domain=None, + range=Optional[Union[dict, SoftwareResource]], +) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot( + uri=GX.hardwareAssistedVirtualization, + name="serverFlavor__hardwareAssistedVirtualization", + curie=GX.curie("hardwareAssistedVirtualization"), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot( + uri=GX.hwRngTypeOfFlavor, + name="serverFlavor__hwRngTypeOfFlavor", + curie=GX.curie("hwRngTypeOfFlavor"), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.confidentialComputing__technology = Slot( + uri=GX.technology, + name="confidentialComputing__technology", + curie=GX.curie("technology"), + model_uri=GX.confidentialComputing__technology, + domain=None, + range=str, +) + +slots.confidentialComputing__attestationServiceURI = Slot( + uri=GX.attestationServiceURI, + name="confidentialComputing__attestationServiceURI", + curie=GX.curie("attestationServiceURI"), + model_uri=GX.confidentialComputing__attestationServiceURI, + domain=None, + range=Optional[Union[str, URI]], +) diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 1a740ae..199d599 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -2,26 +2,28 @@ Methods and classes needed/useful for JSON-LD serialization. """ import inspect - from datetime import date, datetime +from typing import List +from uuid import uuid4 -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots - -from linkml_runtime.utils.metamodelcore import URI +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from typing import List -from uuid import uuid4 +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python - classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials.""" + classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. + """ - def __init__(self, gx_object: YAMLRoot, gx_id:str=None): + def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct @@ -44,15 +46,14 @@ def get_json_ld_context() -> dict: @rtype: dict """ return { - "@context": - { - GX.prefix: GX, - QUDT.prefix: QUDT, - SCHEMA.prefix: SCHEMA, - VCARD.prefix: VCARD, - "xsd": "http://www.w3.org/2001/XMLSchema#", - "ex": "https://example.com/" - } + "@context": { + GX.prefix: GX, + QUDT.prefix: QUDT, + SCHEMA.prefix: SCHEMA, + VCARD.prefix: VCARD, + "xsd": "http://www.w3.org/2001/XMLSchema#", + "ex": "https://example.com/", + } } @@ -74,7 +75,7 @@ def to_json_ld(obj) -> dict: if isinstance(obj, JsonLdObject): # if JsonLdObject add id gx_object = obj.gx_object - json_ld['@id'] = "ex:" + obj.gx_id.replace(" ", "") + json_ld["@id"] = "ex:" + obj.gx_id.replace(" ", "") # call to_json_ld for gx_object json_ld.update(to_json_ld(gx_object)) return json_ld @@ -84,7 +85,7 @@ def to_json_ld(obj) -> dict: # json_ld['@type'] = get_types(obj.__class__) try: # set type of Gaia-X object if possible - json_ld['@type'] = obj.class_class_curie + json_ld["@type"] = obj.class_class_curie except AttributeError: pass for key, value in obj.__dict__.items(): @@ -109,29 +110,19 @@ def to_json_ld(obj) -> dict: return json_ld elif isinstance(obj, datetime): # Add type for datetime - return { - "@type": "xsd:dateTime", - "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} + return {"@type": "xsd:dateTime", "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} elif isinstance(obj, date): # add type for date - return { - "@type": "xsd:date", - "@value": obj} + return {"@type": "xsd:date", "@value": obj} elif isinstance(obj, float): # add type for float - return { - "@type": "xsd:float", - "@value": obj} + return {"@type": "xsd:float", "@value": obj} elif isinstance(obj, URI): # add type for URI - return { - "@type": "xsd:anyURI", - "@value": obj} + return {"@type": "xsd:anyURI", "@value": obj} elif isinstance(obj, bool): # add type for boolean - return { - "@type": "xsd:boolean", - "@value": obj} + return {"@type": "xsd:boolean", "@value": obj} else: return obj diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index d1ddb28..3b2e2db 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,16 +1,14 @@ -from generator.common.json_ld import JsonLdObject - -from generator.discovery.openstack.vm_images_discovery import VmDiscovery - -from linkml_runtime.utils.yamlutils import YAMLRoot +from typing import Dict, List from openstack.connection import Connection -from typing import Dict, List +from generator.common.json_ld import JsonLdObject +from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services." + def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn @@ -30,7 +28,3 @@ def discover_properties(self) -> List[JsonLdObject]: creds.extend(vm_dis.discover_vm_images()) return creds - - - - diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 968d2cf..2c710d6 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,36 +1,29 @@ +from datetime import datetime +from typing import Dict, List, Union + from linkml_runtime.utils.metamodelcore import URI +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +import generator.common.const as const from generator.common.expections import MissingMandatoryAttribute - +from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import CPU -from generator.common.gx_schema import Disk -from generator.common.gx_schema import DiskTypes -from generator.common.gx_schema import HypervisorType -from generator.common.gx_schema import Memory -from generator.common.gx_schema import MemorySize -from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX -from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import ( + CheckSum, + ChecksumAlgorithm, + Disk, + HypervisorType, + Memory, + MemorySize, + OperatingSystem, + Signature, + SignatureAlgorithm, + UpdateStrategy, +) from generator.common.gx_schema import VMImage as GX_Image - from generator.common.json_ld import JsonLdObject -from openstack.connection import Connection -from openstack.image.v2.image import Image as OS_Image - -import generator.common.const as const - -from typing import Dict, Union, List - -from datetime import datetime - -import yaml - def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -40,16 +33,23 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "x86-64" if os_image_arch == "aarch6": return "AArch-32" - if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + if os_image_arch in [ + "alpha", + "armv7l", + "lm32", + "openrisc", + "parisc", + "parisc64", + "unicore32", + ]: return "RISC-V" return CpuArch.other.text except AttributeError as e: raise MissingMandatoryAttribute(e.args) -class VmDiscovery(): - - #def __init__(self) -> None: +class VmDiscovery: + # def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) @@ -68,8 +68,8 @@ def discover_vm_images(self) -> List[JsonLdObject]: images = list() for image in self.conn.list_images(): images.append( - JsonLdObject( - self._convert_to_gx_image(image), gx_id=image.id)) + JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) + ) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -82,9 +82,11 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ # Initialize Gaia-X Image - gx_image = GX_Image(copyrightOwnedBy="TBA", - license="TBA", - resourcePolicy=const.DEFAULT_RESOURCE_POLICY) + gx_image = GX_Image( + copyrightOwnedBy="TBA", + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY, + ) # Discover optional attributes self._add_secure_boot(os_image, gx_image) @@ -135,7 +137,6 @@ def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) @@ -154,7 +155,9 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. try: - size = MemorySize(value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB) + size = MemorySize( + value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB + ) mem_req = Memory(memorySize=size) try: mem_req.hardwareEncryption = os_image.hw_mem_encryption @@ -166,207 +169,317 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: - size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + size = MemorySize( + value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB + ) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) except AttributeError as e: raise MissingMandatoryAttribute(e.args) - def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_operation_system_info( + self, os_image: OS_Image, gx_image: GX_Image + ) -> None: # Copyright owner and license not supported as Image properties, currently --> Default values from config are used if os_image.os_distro == "arch": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ARCH))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ARCH) + ), + ) elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CENTOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CENTOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CENTOS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CENTOS) + ), + ) elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_DEBIAN), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_DEBIAN))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_DEBIAN + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_DEBIAN) + ), + ) elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FEDORA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FEDORA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FEDORA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FEDORA) + ), + ) elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FREEBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FREEBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_FREEBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FREEBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FREEBSD) + ), + ) elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_GENTOO), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_GENTOO))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_GENTOO + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_GENTOO) + ), + ) elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRAKE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRAKE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRAKE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRAKE) + ), + ) elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRIVA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRIVA + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRIVA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRIVA) + ), + ) elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MES))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MES) + ), + ) elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MSDOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MSDOS) + ), + ) elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NETBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NETBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NETBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NETBSD) + ), + ) elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NOVELL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NOVELL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NOVELL + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NOVELL) + ), + ) elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPENBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPENBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPENBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPENBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPENBSD) + ), + ) elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_SOLARIS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SOLARIS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_SOLARIS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_SOLARIS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SOLARIS) + ), + ) elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPEN_SUSE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE) + ), + ) elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ROCKY))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ROCKY) + ), + ) elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_RHEL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_RHEL) + ), + ) elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SLED))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SLED) + ), + ) elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_UBUNTU), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_UBUNTU))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_UBUNTU + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_UBUNTU) + ), + ) elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_WINDOWS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_WINDOWS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_WINDOWS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_WINDOWS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_WINDOWS) + ), + ) elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CIRROS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CIRROS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CIRROS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CIRROS) + ), + ) elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_ALMALINUX), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_ALMALINUX + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_ALMALINUX + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ALMALINUX) + ), + ) else: - raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") + raise ValueError( + "Unsupported value for operating system distribution found: '" + + os_image.os_distro + + "'" + ) def _get_resource_policy_for_os(self, os: str) -> str: try: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ + const.CONFIG_RESOURCE_POLICY + ] except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ + const.CONFIG_COPYRIGHT + ] def _get_license_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ + const.CONFIG_LICENSE + ] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: - # check if comfig contains image's specific copright owner + # check if comfig contains image's specific copyright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -374,7 +487,9 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license - gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -382,18 +497,20 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy - gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() - for l in licenses: - if l.startswith("http"): - license_list.append(URI(l)) + for lic in licenses: + if lic.startswith("http"): + license_list.append(URI(lic)) else: - license_list.append(l) + license_list.append(lic) return license_list def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -432,7 +549,9 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return - gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) + gx_image.videoRamSize = MemorySize( + value=float(os_image.hw_video_ram), unit=const.UNIT_MB + ) except AttributeError: pass @@ -449,27 +568,35 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # collect mandatory attributes try: - os_image.updateStrategy.replaceFrequency = os_image.properties['replace_frequency'] - os_image.updateStrategy.oldVersionsValidUntil = os_image.properties['uuid_validity'] - os_image.updateStrategy.providedUntil = os_image.properties['provided_until'] + os_image.updateStrategy.replaceFrequency = os_image.properties[ + "replace_frequency" + ] + os_image.updateStrategy.oldVersionsValidUntil = os_image.properties[ + "uuid_validity" + ] + os_image.updateStrategy.providedUntil = os_image.properties[ + "provided_until" + ] except KeyError as e: raise MissingMandatoryAttribute(e.args) # collect optional attributes try: - os_image.updateStrategy.hotfixHours = os_image.properties['hotfix_hours'] + os_image.updateStrategy.hotfixHours = os_image.properties["hotfix_hours"] except KeyError: pass def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.description = os_image.properties[ - 'image_description'] + gx_image.description = os_image.properties["image_description"] except KeyError: pass try: - gx_image.description = gx_image.description + " Managed by " + os_image.properties[ - 'managed_by_VENDOR'] + gx_image.description = ( + gx_image.description + + " Managed by " + + os_image.properties["managed_by_VENDOR"] + ) except KeyError: pass @@ -483,25 +610,27 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") + gx_image.buildDate = datetime.strptime( + os_image.properties["image_build_date"], "%Y-%m-%d" + ) except KeyError: pass def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.licenseIncluded = os_image.properties['licenseIncluded'] + gx_image.licenseIncluded = os_image.properties["licenseIncluded"] except KeyError: pass def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.patchLevel = os_image.properties['patchlevel'] + gx_image.patchLevel = os_image.properties["patchlevel"] except KeyError: pass def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.version = os_image.properties['internal_version'] + gx_image.version = os_image.properties["internal_version"] except KeyError: pass @@ -514,33 +643,40 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _get_checksum_algo(self, algo: str) -> str: - if algo == 'sha512': - return 'sha-512' - if algo == 'sha224': - return 'sha-224' - if algo == 'sha256': - return 'sha-256' - if algo == 'sha384': - return 'sha-384' - if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + if algo == "sha512": + return "sha-512" + if algo == "sha224": + return "sha-224" + if algo == "sha256": + return "sha-256" + if algo == "sha384": + return "sha-384" + if algo in ["sha-3", "md5", "ripemd-160", "blake2", "blake3"]: return algo return ChecksumAlgorithm.other.text def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.maintenance = os_image.properties['maintained_until'] + gx_image.maintenance = os_image.properties["maintained_until"] except KeyError: pass def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + gx_image.file = MemorySize( + value=float(os_image.size * 1.073741824), unit=const.UNIT_GB + ) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.signature = Signature( signatureValue=os_image.img_signature, - hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), - signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) + hashAlgorithm=self._get_checksum_algo( + os_image.img_signature_hash_method + ), + signatureAlgorithm=self._get_signature_algo( + os_image.img_signature_key_type + ), + ) except AttributeError: pass @@ -564,11 +700,13 @@ def _get_signature_algo(self, algo: str) -> str: def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] + gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][ + os_image.name + ][const.CONFIG_AGGREGATION_OF] except KeyError: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass # not supported yet - #gx_image.hwRngTypeOfImage = "None" + # gx_image.hwRngTypeOfImage = "None" diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index 896b6d2..3c704c3 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,11 +1,7 @@ import json import os -from generator.common.json_ld import to_json_ld -from generator.common.json_ld import get_json_ld_context - -from generator.common.json_ld import JsonLdObject - +from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld from generator.wallet.wallet import WalletConnector @@ -21,13 +17,12 @@ def __init__(self, dir: str) -> None: def store_credential(self, credential: JsonLdObject) -> None: super().store_credential(credential) - with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + with open( + os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" + ) as json_file: props = get_json_ld_context() - props['@graph'] = [credential] + props["@graph"] = [credential] json.dump(props, json_file, indent=4, default=to_json_ld) - - - def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 8e5e43a..5c05a31 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,5 +1,4 @@ -from abc import ABC -from abc import abstractmethod +from abc import ABC, abstractmethod from generator.common.json_ld import JsonLdObject From eebdb93980598995ca53f0023c24f92d5611be09 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Tue, 16 Jan 2024 14:40:19 +0100 Subject: [PATCH 026/175] Update python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> --- .github/workflows/python-app.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index f3d4fca..365f372 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -28,12 +28,12 @@ jobs: python -m pip install --upgrade pip pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + #- name: Lint with flake8 + # run: | + # # stop the build if there are Python syntax errors or undefined names + # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | pytest From 2af9012e99d0f39a3a1b52740fffb4389fe59fdb Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:46:40 +0100 Subject: [PATCH 027/175] Fix tests Signed-off-by: Anja Strunk --- generator/discovery/openstack/vm_images_discovery.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 2c710d6..55f122f 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -707,6 +707,4 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: - pass - # not supported yet - # gx_image.hwRngTypeOfImage = "None" + gx_image.hwRngTypeOfImage = "None" From a60e55450d12767c26bfba5428d812abc00c7176 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 14:21:52 +0100 Subject: [PATCH 028/175] Fix unit tests Signed-off-by: Anja Strunk --- config/config.yaml | 28 ++++++++++++++-------------- tests/test_vm_image_discovery.py | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 9e9dc55..24f7ffe 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -121,17 +121,17 @@ default: resource policy: "abc" license: - https://www.abc.org -cloud resources: - own images: - AlmaLinux 8: - aggregation of: - - web:did:provider.de - copyright owner: - - "AlmaLinux OS Foundation" - - "ABC" - resource policy: "abc" - license: - - https://www.abc.org -wallets: - filesystem: - path: /etc/wallet/gx-credentials/ \ No newline at end of file +#cloud resources: +# own images: +# AlmaLinux 8: +# aggregation of: +# - web:did:provider.de +# copyright owner: +# - "AlmaLinux OS Foundation" +# - "ABC" +# resource policy: "abc" +# license: +# - https://www.abc.org +#wallets: +# filesystem: +# path: /etc/wallet/gx-credentials/ \ No newline at end of file diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index 8856972..cb257f1 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -205,7 +205,7 @@ def _get_os_images(): class VMImageDiscoveryTestcase(OpenstackTestcase): def setUp(self): - with open('../config/config.yaml', 'r') as config_file: + with open('config/config.yaml', 'r') as config_file: self.config = yaml.safe_load(config_file) self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) @@ -225,7 +225,7 @@ def test_json_ld(self): conforms, _, _ = validate(data_graph=json.dumps( _get_gx_images()[0], indent=4, default=to_json_ld), - shacl_graph="gaia-x.shacl.ttl", + shacl_graph="tests/gaia-x.shacl.ttl", data_graph_format="json-ld", shacl_graph_format="ttl" ) From 40957d1842eb025739e01817fefd32cb47bd3b5e Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Wed, 17 Jan 2024 14:35:15 +0100 Subject: [PATCH 029/175] Update python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> --- .github/workflows/python-app.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 365f372..1db7538 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -26,7 +26,8 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install flake8 pytest + # pip install flake8 pytest + pip install pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi #- name: Lint with flake8 # run: | @@ -36,4 +37,5 @@ jobs: # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | - pytest + ls + python -m pytest tests/ From 57a0daa22cc6190fc421038bbf7391a187d5f0ce Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 14:39:54 +0100 Subject: [PATCH 030/175] Update requirements Signed-off-by: Anja Strunk --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index 080f932..91180a4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,5 @@ openstacksdk==1.1.* PyYAML==6.* click==8.1.7 pyshacl==0.25.0 +linkml==1.6.7 + From 7304d34000f1595faeeed49f2566b2295c959237 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 17:50:22 +0100 Subject: [PATCH 031/175] Update documentation Signed-off-by: Anja Strunk --- README.md | 107 +++++++--- README_old.md | 186 ++++++++++++++++++ generator/cli.py => cli.py | 45 +++-- config/config.yaml | 48 ++--- .../openstack/vm_images_discovery.py | 7 +- 5 files changed, 324 insertions(+), 69 deletions(-) create mode 100644 README_old.md rename generator/cli.py => cli.py (68%) diff --git a/README.md b/README.md index bcd7b9b..d9c0b36 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,16 @@ # gx-credential-generator -Tools for creating [Gaia-X Crecential](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), formally knwon as Self-Descriptions for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) -## OpenStack +## Introduction + +### OpenStack We want to collect discoverable information from an OpenStack cloud, assuming that we have access to it (as normal tenant user). -We start with the region list and then read the OpenStack catalog to collect -- OS_AUTH_URL (Keystone Endpoint) -- List of services (along with supported versions, min thr. max) -- Per service: extensions (cinderv3, nova) -- Flavors for compute incl. flavor details (SCS spec) -- AZs (for nova, cinderv3, neutron) -- UI (URL, type: horizon or custom) +We read the OpenStack catalog to collect +- public VM Images -This then should be output as JSON-LD (or YAML-LD) for the Gaia-X catalogue. +This then should be output as JSON-LD for the Gaia-X catalogue. References: - @@ -35,7 +32,7 @@ Notes from reviewing the SD attributes: latency distance? -## k8s +### k8s Same thing for k8s Collect information on a k8s cluster: @@ -44,7 +41,7 @@ Collect information on a k8s cluster: - Nodes information - Pods information -## K8s as-a-Service (KaaS) offering considerations +#### K8s as-a-Service (KaaS) offering considerations For typical k8s aaS offerings, every cluster is different, and we probably don't want to have a description for every single @@ -68,8 +65,8 @@ like the IaaS SD, the list of node images (osism minio), ... 1. Clone the repository into a location of your choice ```bash -git clone git@github.com:SovereignCloudStack/gx-self-description-generator.git -cd gx-self-description-generator +git clone git@github.com:SovereignCloudStack/gx-credential-generator.git +cd gx-credential-generator ``` 2. Install scripts dependencies (installing them into a Python [virtualenv](https://virtualenv.pypa.io/en/stable/) is recommended) @@ -79,34 +76,94 @@ pip install -r requirements.txt 3. Create `clouds.yaml` configuration file - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) - - Make sure the following keys exist in our `clouds.yaml` + - Make sure the following keys exist in our `clouds.yaml`. clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. - `auth.user_domain_name` - `auth.project_domain_name` - `region_name` + - GX Credential Generator requires access to OpenStack cluster as normal tenant user and K8s access + 4. Generate Gaia-X Credentials - - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + - To print OpenStack properties in JSON-LD as ONE credential + ```bash + python3 cli.py openstack + ``` + - To store OpenStack properties as credential in wallet + ```bash + python3 cli.py openstack --wallet + ``` + - To omit to print OpenStack properties on screen store OpenStack properties as credential in wallet ```bash - ./gx-sd-generator.py --gaia-x --os-cloud= --file= + python3 cli.py openstack --wallet --no-print ``` - - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option - - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard - - K8s (script assumes K8s access) + - To print K8s properties ... ```bash ./gx-sd-generator.py k8s ``` - -4. Start the gaiax-pipeline +5. Start the gaiax-pipeline (deprecated) - To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder + ``` + cd devops + docker-compose up -d + ``` + +## Gaia-X Compliance + +GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework) + +## Configuration + +GX Credential generator is configured by config.yaml. The configuration includes: + +- Default values for mandatory attributes +- Wallets + +### Mandatory Attributes +Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file, from section `default`. +Providers are able to change default values. In doing so, attribute values for **ALL** instances of impacted cloud resource are modified. + +#### CopyrightOwner, License and ResourcePolicy of VM images + +`copyrigthowner`, `license` and `resourcePolicy` are mandatory for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. Configuration file lists default values for `copyrightOwner`, `license` and `resourcePolicy` for operating systems, e.g. for Alpine Linux. + +```yaml +default: + operating system: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: "default: allow intent" + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 ``` -cd devops -docker-compose up -d + +By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM Image instance, individually. Therefore, the section `cloud resources/own images` exists. To set individual values for a specific VM Image add a new section, started by image's name, to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. + +```yaml +cloud resources: + own images: + AlmaLinux 8: + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org ``` -## Simple SelfDescription validator +### Mandatory Attributes + +Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file as well. + +#### AggregationOf of VM Images + + + + +### Wallets Generated SelfDescriptions could be validated against their schemas (shapes) by the + simple SD validator script. Visit the `sd` directory and try to validate your generated SD. Find the examples in `sd` directory and do the validation as follows: ```bash diff --git a/README_old.md b/README_old.md new file mode 100644 index 0000000..8767dfd --- /dev/null +++ b/README_old.md @@ -0,0 +1,186 @@ +# Depracted - see README.md for up-to-date information + + +# gx-credential-generator +Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) + +## OpenStack +We want to collect discoverable information from an OpenStack cloud, +assuming that we have access to it (as normal tenant user). + +We start with the region list and then read the OpenStack catalog to collect +- OS_AUTH_URL (Keystone Endpoint) +- List of services (along with supported versions, min thr. max) +- Per service: extensions (cinderv3, nova) +- Flavors for compute incl. flavor details (SCS spec) +- AZs (for nova, cinderv3, neutron) +- UI (URL, type: horizon or custom) + +This then should be output as JSON-LD (or YAML-LD) for the Gaia-X catalogue. + +References: +- +- +- +- +- + +Notes from reviewing the SD attributes: +* Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties + (generation, speed, insn set extensions, ...) +* NICs: Virtual NICs are almost unlimited, but there may be a limited amount of hardware-accelerated + NICs (using SR-IOV and multiqueue features) available -- these may need to be added to SCS flavor + naming. +* Other extension hardware like FPGAs need to be specified +* Tenant isolation needs a list of criteria. Virt OK? V(x)LANs OK? Shared storage cluster OK? ... +* Availability Zones: Provider needs to create transparency over what it means. Fire protection zones? + Power supply zones? Internet connectivity zones? Minimal and maximal physical distance? Network + latency distance? + + +## k8s +Same thing for k8s + +Collect information on a k8s cluster: +- Metadata +- API Version +- Nodes information +- Pods information + +## K8s as-a-Service (KaaS) offering considerations + +For typical k8s aaS offerings, every cluster is different, +and we probably don't want to have a description for every single +customer specific cluster. (Some providers may offer self-service, +so we would not want to push of a new SD into the G-X catalogue on +creation, changing or deletion of clusters.) Still it might be +helpful to have a SD on demand for an existing cluster to characterize +it, so users can use the SD to match it to app requirements. + +So the SD for a k8s aaS solution would list possible options and +ranges: What k8s versions are supported, what max number of workers, +flavors, etc.? What services are optionally delivered (and supported) +by the provider? + +For KaaS, the option space really needs to be described. +As of now, this can not be discovered, short of using external sources, +like the IaaS SD, the list of node images (osism minio), ... + + +## Quick Start Guide + +1. Clone the repository into a location of your choice +```bash +git clone git@github.com:SovereignCloudStack/gx-self-description-generator.git +cd gx-self-description-generator +``` + +2. Install scripts dependencies (installing them into a Python [virtualenv](https://virtualenv.pypa.io/en/stable/) is recommended) +```bash +pip install -r requirements.txt +``` + +3. Create `clouds.yaml` configuration file + - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) + - Make sure the following keys exist in our `clouds.yaml` + - `auth.user_domain_name` + - `auth.project_domain_name` + - `region_name` + +4. Generate Gaia-X Credentials + + - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + ```bash + ./gx-sd-generator.py --gaia-x --os-cloud= --file= + ``` + - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option + - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard + - K8s (script assumes K8s access) + ```bash + ./gx-sd-generator.py k8s + ``` + +4. Start the gaiax-pipeline +- To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder +``` +cd devops +docker-compose up -d +``` + +## Simple SelfDescription validator + +Generated SelfDescriptions could be validated against their schemas (shapes) by the +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: +```bash +./sd/validate.py sd/example.jsonld sd/example.ttl +``` + +### GX SelfDescription - Service Offering minimal example + +SD definition `sd/gx_service_offering_example.jsonld` should represent +a minimal GX Service Offering example that is valid against the latest GX shacl shapes `sd/gx_shapes_latest.ttl`. +The latest GX shacl shapes (at the time of Hackathon#6 23/05/3-4) are +used by the [GX wizard](https://wizard.lab.gaia-x.eu/), and they have been downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). + +Try to validate a minimal example against the latest GX shapes (feel free to remove some +required attribute and check validation result): +```bash +./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl +``` + +## Docker + +The docker environment creates a general and portable environment for the gx-sd-generator module. Before running the container, don't forget to mount your credentials for the correct path. OpenStack-related secret located under `~/.config/openstack` + +**Example codes:** + +Running the gx-sd-generator.py on an example cloud: +```docker +docker run -v ":/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + +Running the container in an interactive mode: +```docker +docker run -it -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) test bash +``` + +or you can use the following to create a temp location for the secrets: + +```shell +mkdir -p os_secret && cp secret1 /os_secret +docker run -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + +## Status (2023-05-04) +The current PoC code can discover OpenStack capabilities and produces +an entry for the services in the service catalogue, with name, +(micro)versions, availability zones and extensions (where supported). + +For the compute service, there is a flavor list (yet without some +of the details discoverable by SCS specs); for volumes, we +list the types, for loadbalancers, we have a flavor list as well. + +Thanks to the work in Hackathon #4, we have an option to export +JSON-LD (use option `--gaia-x` aka. `-g`) that can be signed and +successfully processed by the compilance service at +http://compliance.lab.gaia-x.eu/ +Signing and verifying can be combined using the Delta-DAO signer. +https://signer.demo.delta-dao.com/#signer + +From an OpenStack perspective, this still incomplete. +- We lack flavor details (though we need SCS specs to discover more) +- We lack a list of public images (along with image details) +- Neutron probably has a few things to detect. + +During Hackathon#6, the JSON-LD was updated match the current +shapes thanks to the work from dNation. A validator was added. + +Tecnalia contributed work to characterize K8s clusters in Hackathon#6 +as well as an Airflow automation pipeline. + +TODO: Create cmd line tool that does signing and interacting with +the compliance service, so we can set up CI testing. + +From a Gaia-X perspective, SCS generator is still incomplete, as it does not generate W3C Verifiable Credentials. A concept on how to make generator Gaia-X compliant and integrate it into Gaia-x Tool box, can be found [here](doc/xfsc.md). + diff --git a/generator/cli.py b/cli.py similarity index 68% rename from generator/cli.py rename to cli.py index b23a533..17de219 100644 --- a/generator/cli.py +++ b/cli.py @@ -22,18 +22,23 @@ def cli(): @click.command() @click.option( - "--print-json-ld", + "--wallet", is_flag=True, - help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", + help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", +) +@click.option( + "--no-print", + is_flag=True, + help="Use '--no-print' to omit json-ld print on screen.", ) @click.option( "--config", - default="../config/config.yaml", + default="config/config.yaml", help="Path to Configuration file for SCS GX Credential Generator.", ) @click.option("--timeout", default=12, help="Timeout for API calls in seconds") @click.argument("cloud") -def openstack(cloud, timeout, config, print_json_ld): +def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -56,15 +61,18 @@ def openstack(cloud, timeout, config, print_json_ld): with open(config, "r") as config_file: # init everything config_dict = yaml.safe_load(config_file) - wallets = init_wallets(config_dict) os_cloud = OsCloud(conn, config_dict) # run discovery creds = os_cloud.discover_properties() - # store creds in wallets and print them as overall JSON-LD - store_creds_in_wallet(wallets, creds) - if print_json_ld: + # store creds in wallets + if wallet: + wallets = init_wallets(config_dict) + store_creds_in_wallet(wallets, creds) + + # print on screen + if not no_print: props = json_ld.get_json_ld_context() props["@graph"] = creds print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @@ -78,20 +86,23 @@ def kubernetes(): def init_wallets(config: dict) -> List[WalletConnector]: wallets = list() - for wallet in config[const.CONFIG_WALLETS]: - if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append( - FileSystemWallet( - config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + try: + for wallet in config[const.CONFIG_WALLETS]: + if wallet == const.CONFIG_FILESYSTEM_WALLET: + wallets.append( + FileSystemWallet( + config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + ) ) - ) - elif wallet == const.CONFIG_XFSC_WALLET: - wallets.append(XFSCWallet()) + elif wallet == const.CONFIG_XFSC_WALLET: + wallets.append(XFSCWallet()) + except KeyError: + pass return wallets def store_creds_in_wallet( - wallets: List[WalletConnector], creds: List[JsonLdObject] + wallets: List[WalletConnector], creds: List[JsonLdObject] ) -> None: for w in wallets: for c in creds: diff --git a/config/config.yaml b/config/config.yaml index 24f7ffe..c62a569 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -2,123 +2,123 @@ default: operating system: Alpine Linux: copyright owner: "Alpine Linux" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 Arch Linux: copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://gitlab.archlinux.org/archlinux CentOS Linux: copyright owner: "The CentOS Project and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://github.com/CentOS/ Debian: copyright owner: "Ian Murdock and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.debian.org/legal/licenses/index.en.html Fedora: copyright owner: "Fedora-Project" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ FreeBSD: copyright owner: "The FreeBSD Project" - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.gentoo.org/glep/glep-0076.html Mandrakelinux: copyright owner: "Mandriva Linux" - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: copyright owner: "Micro Focus International" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://support.novell.com/techcenter/articles/ana19960702.html OpenBSD: copyright owner: "OpenBSD" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.openbsd.org/policy.html OpenSolaris: copyright owner: "Sun Microsystems" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html openSUSE: copyright owner: "openSUSE contributors & others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://en.opensuse.org/openSUSE:License Rocky Linux: copyright owner: "Rocky Enterprise Software Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://rockylinux.org/licensing Red Hat Enterprise Linux: copyright owner: "Red Hat, Inc." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server SUSE Linux Enterprise Desktop: copyright owner: "SUSE" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.suse.com/products/terms_and_conditions.pdf Ubuntu: copyright owner: "Canonical" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://ubuntu.com/legal/open-source-licences Microsoft Windows: copyright owner: "Microsoft Corporation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.microsoft.com/licensing CirrOS: copyright owner: "Canonical Ltd." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-2.0-only AlmaLinux: copyright owner: "Canonical Ltd." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://almalinux.org/p/the-almalinux-os-licensing-policy/ Debian 11: copyright owner: "AlmaLinux OS Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.abc.org #cloud resources: diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 55f122f..5252390 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -67,9 +67,10 @@ def discover_vm_images(self) -> List[JsonLdObject]: """ images = list() for image in self.conn.list_images(): - images.append( - JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) - ) + if image.visibility == 'public': + images.append( + JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) + ) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: From 4302c0331025075b64e7e69b2d57eabfb637cbd8 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 29 Feb 2024 11:33:18 +0100 Subject: [PATCH 032/175] Refactoring --- README.md | 144 +- cli.py | 88 +- config/config.yaml | 2 +- doc/20230424-sd-schema.md | 5678 ----------------- .../discovery/openstack/opentack_discovery.py | 11 + .../openstack/vm_images_discovery.py | 28 +- generator/wallet/file_wallet.py | 28 - generator/wallet/wallet.py | 36 - generator/wallet/xfsc_wallet.py | 8 - requirements.txt | 2 +- sd/example.jsonld | 14 - sd/example.ttl | 40 - sd/gx_service_offering_example.jsonld | 65 - sd/gx_shapes_latest.ttl | 191 - sd/validate.py | 53 - 15 files changed, 175 insertions(+), 6213 deletions(-) delete mode 100644 doc/20230424-sd-schema.md delete mode 100644 generator/wallet/file_wallet.py delete mode 100644 generator/wallet/wallet.py delete mode 100644 generator/wallet/xfsc_wallet.py delete mode 100644 sd/example.jsonld delete mode 100644 sd/example.ttl delete mode 100644 sd/gx_service_offering_example.jsonld delete mode 100644 sd/gx_shapes_latest.ttl delete mode 100755 sd/validate.py diff --git a/README.md b/README.md index d9c0b36..6f9ac7d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # gx-credential-generator -Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +Tool for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Gaia-X Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) ## Introduction @@ -10,30 +10,11 @@ assuming that we have access to it (as normal tenant user). We read the OpenStack catalog to collect - public VM Images -This then should be output as JSON-LD for the Gaia-X catalogue. - -References: -- -- -- -- -- - -Notes from reviewing the SD attributes: -* Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties - (generation, speed, insn set extensions, ...) -* NICs: Virtual NICs are almost unlimited, but there may be a limited amount of hardware-accelerated - NICs (using SR-IOV and multiqueue features) available -- these may need to be added to SCS flavor - naming. -* Other extension hardware like FPGAs need to be specified -* Tenant isolation needs a list of criteria. Virt OK? V(x)LANs OK? Shared storage cluster OK? ... -* Availability Zones: Provider needs to create transparency over what it means. Fire protection zones? - Power supply zones? Internet connectivity zones? Minimal and maximal physical distance? Network - latency distance? - +This then should be output as GX compliant credential in JSON-LD for the Gaia-X catalogue. ### k8s -Same thing for k8s +We want to collect discoverable information from a k8s cloud, +assuming that we have access to it. Collect information on a k8s cluster: - Metadata @@ -46,19 +27,19 @@ Collect information on a k8s cluster: For typical k8s aaS offerings, every cluster is different, and we probably don't want to have a description for every single customer specific cluster. (Some providers may offer self-service, -so we would not want to push of a new SD into the G-X catalogue on +so we would not want to push of a new GX Credential into the GX catalogue on creation, changing or deletion of clusters.) Still it might be -helpful to have a SD on demand for an existing cluster to characterize -it, so users can use the SD to match it to app requirements. +helpful to have a GX Credential on demand for an existing cluster to characterize +it, so users can use the GX Credentials to match it to app requirements. -So the SD for a k8s aaS solution would list possible options and +So the GX Credential for a k8s aaS solution would list possible options and ranges: What k8s versions are supported, what max number of workers, flavors, etc.? What services are optionally delivered (and supported) by the provider? For KaaS, the option space really needs to be described. As of now, this can not be discovered, short of using external sources, -like the IaaS SD, the list of node images (osism minio), ... +like the IaaS GX Credential, the list of node images (osism minio), ... ## Quick Start Guide @@ -74,58 +55,82 @@ cd gx-credential-generator pip install -r requirements.txt ``` -3. Create `clouds.yaml` configuration file - - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) - - Make sure the following keys exist in our `clouds.yaml`. clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. + +### OpenStack + +a. Create `clouds.yaml` configuration file + - GX credential Generator requires access to OpenStack cluster as normal tenant user and has to be configured with these user credentials to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html). clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. + - Make sure the following keys exist in our `clouds.yaml`. - `auth.user_domain_name` - `auth.project_domain_name` - `region_name` - - GX Credential Generator requires access to OpenStack cluster as normal tenant user and K8s access - -4. Generate Gaia-X Credentials + +b. Generate Gaia-X Credentials - - To print OpenStack properties in JSON-LD as ONE credential - ```bash + - To print OpenStack properties in JSON-LD +```bash python3 cli.py openstack ``` - - To store OpenStack properties as credential in wallet +[//]: <> (- To store OpenStack properties as several credentials in wallet ```bash python3 cli.py openstack --wallet - ``` - - To omit to print OpenStack properties on screen store OpenStack properties as credential in wallet + ```) + +[//]: <> (- To omit to print OpenStack properties on screen and to store OpenStack properties as credential in wallet ```bash python3 cli.py openstack --wallet --no-print - ``` + ```) + +### K88 +Generate Gaia-X Credentials - To print K8s properties ... ```bash ./gx-sd-generator.py k8s ``` -5. Start the gaiax-pipeline (deprecated) +### Airflow Pipeline +Start the gaiax-pipeline (deprecated) - To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder ``` cd devops docker-compose up -d ``` -## Gaia-X Compliance +### Validation + +Generated GX Credentials could be validated against their schemas (shapes) by the +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: + + + +Try to validate a minimal example against the latest GX shapes (feel free to remove some +required attribute and check validation result): +```bash +./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl +``` + + +## Compliance -GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework) +GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). +GX Credential Generator **does not** create W3C complaint [Verifiable Credentials](https://www.w3.org/TR/vc-data-model/). ## Configuration -GX Credential generator is configured by config.yaml. The configuration includes: +GX Credential generator is configured by `config.yaml`. The configuration includes: -- Default values for mandatory attributes -- Wallets +- Mandatory: Default values for mandatory attributes +- Optional: Values for optional attributes +- Optional: Wallets ### Mandatory Attributes -Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file, from section `default`. +Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file in section `default`. Providers are able to change default values. In doing so, attribute values for **ALL** instances of impacted cloud resource are modified. #### CopyrightOwner, License and ResourcePolicy of VM images -`copyrigthowner`, `license` and `resourcePolicy` are mandatory for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. Configuration file lists default values for `copyrightOwner`, `license` and `resourcePolicy` for operating systems, e.g. for Alpine Linux. +`copyrigthowner`, `license` and `resourcePolicy` are mandatory attributes for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. The values for operating system are defined in section `operating system` with one section for each operating system. Operating systems are refered by name, e.g. for Alpine Linux. ```yaml default: @@ -137,7 +142,7 @@ default: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 ``` -By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM Image instance, individually. Therefore, the section `cloud resources/own images` exists. To set individual values for a specific VM Image add a new section, started by image's name, to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. +By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM image, individually. Therefore, the section `own images` in `cloud resources` exists. To set individual values for a specific VM image, add a new section, started by image's name (as defined in OpenStack cloud) to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. ```yaml cloud resources: @@ -151,37 +156,21 @@ cloud resources: - https://www.abc.org ``` -### Mandatory Attributes +### Optional Attributes -Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file as well. +Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file in section `cloud resources` as well. #### AggregationOf of VM Images +GX Credential schema allows to describe cloud resources, such VM images, in a fine granular manner, by using attribute `aggregationOf`. This attribute refers a list of GX credentials either as [DID](https://www.w3.org/TR/did-core/) or as file path relative to generators working directory. The latter is copied to cloud resource's credentials. For more details on GX credential schema and its attributes, please refer [Gaia-X Service Characteristics GitLab](https://gitlab.com/gaia-x/technical-committee/service-characteristics) +[//]: <> (### Wallets) +[//]: <> (Wallets are digital secure storages to store Verifiable Credentials, like GX credentials. GX generator stores generated GX credentials in all configured wallets. Wallets are configured in section `wallets`. The following wallets are supported:) +[//]: <> (- File System: + - Stores credentials on dedicated folder in disk. Use this wallet for testing purpose only. +) -### Wallets - -Generated SelfDescriptions could be validated against their schemas (shapes) by the - -simple SD validator script. Visit the `sd` directory and try to validate your -generated SD. Find the examples in `sd` directory and do the validation as follows: -```bash -./sd/validate.py sd/example.jsonld sd/example.ttl -``` - -### GX SelfDescription - Service Offering minimal example - -SD definition `sd/gx_service_offering_example.jsonld` should represent -a minimal GX Service Offering example that is valid against the latest GX shacl shapes `sd/gx_shapes_latest.ttl`. -The latest GX shacl shapes (at the time of Hackathon#6 23/05/3-4) are -used by the [GX wizard](https://wizard.lab.gaia-x.eu/), and they have been downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). - -Try to validate a minimal example against the latest GX shapes (feel free to remove some -required attribute and check validation result): -```bash -./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl -``` ## Docker @@ -206,6 +195,14 @@ mkdir -p os_secret && cp secret1 /os_secret docker run -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 ``` +Generated SelfDescriptions could be validated against their schemas (shapes) by the + +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: +```bash +./sd/validate.py sd/example.jsonld sd/example.ttl +``` + ## Status (2023-05-04) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, @@ -224,7 +221,6 @@ https://signer.demo.delta-dao.com/#signer From an OpenStack perspective, this still incomplete. - We lack flavor details (though we need SCS specs to discover more) -- We lack a list of public images (along with image details) - Neutron probably has a few things to detect. During Hackathon#6, the JSON-LD was updated match the current diff --git a/cli.py b/cli.py index 17de219..8b08cd5 100644 --- a/cli.py +++ b/cli.py @@ -1,5 +1,19 @@ +#!/usr/bin/env python3 + +"""Script to validate self-description in JSON-LD format + against its schema is turtle format. + +(c) Kurt Garloff , 5/2023 +(c) Roman Hros , 5/2023 +(c) Matej Feder , 5/2023 +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + import json import sys +import warnings + from typing import List import click @@ -8,12 +22,20 @@ import generator.common.const as const import generator.common.json_ld as json_ld + +from pyshacl import validate + from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud from generator.wallet.file_wallet import FileSystemWallet from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet +import rdflib + +SHAPES_FILE_FORMAT = "turtle" +DATA_FILE_FORMAT = "json-ld" + @click.group() def cli(): @@ -21,16 +43,16 @@ def cli(): @click.command() -@click.option( - "--wallet", - is_flag=True, - help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", -) -@click.option( - "--no-print", - is_flag=True, - help="Use '--no-print' to omit json-ld print on screen.", -) +#@click.option( +# "--wallet", +# is_flag=True, +# help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", +#) +#@click.option( +# "--no-print", +# is_flag=True, +# help="Use '--no-print' to omit json-ld print on screen.", +#) @click.option( "--config", default="config/config.yaml", @@ -38,7 +60,8 @@ def cli(): ) @click.option("--timeout", default=12, help="Timeout for API calls in seconds") @click.argument("cloud") -def openstack(cloud, timeout, config, no_print, wallet): +def openstack(cloud, timeout, config): +#def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -67,15 +90,18 @@ def openstack(cloud, timeout, config, no_print, wallet): creds = os_cloud.discover_properties() # store creds in wallets - if wallet: - wallets = init_wallets(config_dict) - store_creds_in_wallet(wallets, creds) + #if wallet: + # wallets = init_wallets(config_dict) + # store_creds_in_wallet(wallets, creds) # print on screen - if not no_print: - props = json_ld.get_json_ld_context() - props["@graph"] = creds - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + #if not no_print: + props = json_ld.get_json_ld_context() + props["@graph"] = creds + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + + #if not wallet and no_print: + # warnings.warn("--no-print is set, but not --wallet. Generated credential(s) will be stored/printed nowhere.") @click.command() @@ -109,8 +135,34 @@ def store_creds_in_wallet( w.store_credential(c) +def load_file(filepath, file_format=DATA_FILE_FORMAT): + """Load file in a given format""" + graph = rdflib.Graph() + graph.parse(filepath, format=file_format) + return graph + + +#@click.command() +#@click.argument("credential", help=f"Filepath of GX Credential to validate. Should have {DATA_FILE_FORMAT} format", ) +#@click.argument("shapes", +# help=f"Filepath of shacl schema to be used for validation. Should have {SHAPES_FILE_FORMAT} format", ) +#def validate(credential, shapes): +# """Validate SD in jsonld format against given schema in turtle format""" +# conforms, results_graph, results_text = validate( +# load_file(credential), +# shacl_graph=load_file(shapes, file_format=SHAPES_FILE_FORMAT), +# data_graph_format=DATA_FILE_FORMAT, +# shacl_graph_format=SHAPES_FILE_FORMAT, +# inference="rdfs", +# debug=False, +# serialize_report_graph=True, +# ) +# print(results_text) + + cli.add_command(openstack) cli.add_command(kubernetes) +#cli.add_command(validate) if __name__ == "__main__": cli() diff --git a/config/config.yaml b/config/config.yaml index c62a569..ea47ae1 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -91,7 +91,7 @@ default: resource policy: "default: allow intent" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server - SUSE Linux Enterprise Desktop: + SUSE Linux Enterprise Server: copyright owner: "SUSE" resource policy: "default: allow intent" license: diff --git a/doc/20230424-sd-schema.md b/doc/20230424-sd-schema.md deleted file mode 100644 index 2f7a654..0000000 --- a/doc/20230424-sd-schema.md +++ /dev/null @@ -1,5678 +0,0 @@ -# Self Description Model - -Version: 24/04/2023 - -## Outline - -- [gax-resource:NetworkingDevice](#gax-resource:networkingdevice) -- [gax-trust-framework:Attestation](#gax-trust-framework:attestation) -- [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) -- [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) -- [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) -- [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal) -- [gax-trust-framework:BigData](#gax-trust-framework:bigdata) -- [gax-trust-framework:BlockStorageOffering](#gax-trust-framework:blockstorageoffering) -- [gax-trust-framework:CPU](#gax-trust-framework:cpu) -- [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue) -- [gax-trust-framework:Certificates](#gax-trust-framework:certificates) -- [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) -- [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) -- [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) -- [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) -- [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) -- [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) -- [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) -- [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) -- [gax-trust-framework:ComplianceLabel](#gax-trust-framework:compliancelabel) -- [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) -- [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) -- [gax-trust-framework:Compute](#gax-trust-framework:compute) -- [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction) -- [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) -- [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) -- [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) -- [gax-trust-framework:Container](#gax-trust-framework:container) -- [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) -- [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) -- [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) -- [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) -- [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering) -- [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) -- [gax-trust-framework:DataResource](#gax-trust-framework:dataresource) -- [gax-trust-framework:Database](#gax-trust-framework:database) -- [gax-trust-framework:DigitalIdentityWallet](#gax-trust-framework:digitalidentitywallet) -- [gax-trust-framework:Disk](#gax-trust-framework:disk) -- [gax-trust-framework:Encryption](#gax-trust-framework:encryption) -- [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) -- [gax-trust-framework:FPGA](#gax-trust-framework:fpga) -- [gax-trust-framework:FileStorageOffering](#gax-trust-framework:filestorageoffering) -- [gax-trust-framework:GPU](#gax-trust-framework:gpu) -- [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) -- [gax-trust-framework:IdentityAccessManagementOffering](#gax-trust-framework:identityaccessmanagementoffering) -- [gax-trust-framework:IdentityFederation](#gax-trust-framework:identityfederation) -- [gax-trust-framework:IdentityProvider](#gax-trust-framework:identityprovider) -- [gax-trust-framework:Image](#gax-trust-framework:image) -- [gax-trust-framework:ImageRegistryOffering](#gax-trust-framework:imageregistryoffering) -- [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering) -- [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) -- [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) -- [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) -- [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier) -- [gax-trust-framework:Interoperability](#gax-trust-framework:interoperability) -- [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation) -- [gax-trust-framework:InteroperabilityAttestationType](#gax-trust-framework:interoperabilityattestationtype) -- [gax-trust-framework:LegalPerson](#gax-trust-framework:legalperson) -- [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity) -- [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) -- [gax-trust-framework:Location](#gax-trust-framework:location) -- [gax-trust-framework:Measure](#gax-trust-framework:measure) -- [gax-trust-framework:Memory](#gax-trust-framework:memory) -- [gax-trust-framework:Network](#gax-trust-framework:network) -- [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity) -- [gax-trust-framework:NetworkOffering](#gax-trust-framework:networkoffering) -- [gax-trust-framework:Node](#gax-trust-framework:node) -- [gax-trust-framework:ObjectStorageOffering](#gax-trust-framework:objectstorageoffering) -- [gax-trust-framework:Orchestration](#gax-trust-framework:orchestration) -- [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) -- [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) -- [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) -- [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver) -- [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering) -- [gax-trust-framework:Provider](#gax-trust-framework:provider) -- [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) -- [gax-trust-framework:Region](#gax-trust-framework:region) -- [gax-trust-framework:RegistrationNumber](#gax-trust-framework:registrationnumber) -- [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) -- [gax-trust-framework:Resource](#gax-trust-framework:resource) -- [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) -- [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint) -- [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) -- [gax-trust-framework:Signatur](#gax-trust-framework:signatur) -- [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) -- [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) -- [gax-trust-framework:Standard](#gax-trust-framework:standard) -- [gax-trust-framework:StorageOffering](#gax-trust-framework:storageoffering) -- [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) -- [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) -- [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) -- [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) -- [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) -- [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) -- [gax-trust-framework:VerifiableCredentialWallet](#gax-trust-framework:verifiablecredentialwallet) -- [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) -- [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) -- [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) -- [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) -- [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) -- [gax-trust-framework:Volume](#gax-trust-framework:volume) -- [gax-trust-framework:WalletOffering](#gax-trust-framework:walletoffering) -- [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) - - -
- - -## gax-resource:NetworkingDevice - -```mermaid -classDiagram - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount - - -``` - - **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| managementPort | xsd:string | 0 | unlimited | A dedicated port for management tasks. | no, yes | -| consolePort | xsd:string | 0 | unlimited | A dedicated port for console tasks. | no, yes | -| portCapacity_A | xsd:float
0 <= value | 0 | unlimited | The assigned capacity of ports. | 10GE, 100GE | -| portCapacity_A_Count | xsd:integer
1 <= value | 0 | unlimited | The assigned number of ports. | 10, 1 | -| redundantPowerSupply | xsd:string | 0 | unlimited | Availability of redundant power supply for the cases of emergency. | yes, no | -| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Ram size of the networking device | 2Gb | -| cpuCount | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Number of available CPUs. | 1 | -| type | xsd:string | 0 | unlimited | Type of networking device | switch, router, repeater | -| supportedProtocols | xsd:string | 0 | unlimited | List of supported protocols among used layers should be specified. | IP, IRP | -| networkAdress | xsd:float | 0 | unlimited | IP address of the netowrking device | 192.168.24.2/32 | - - -
- - -## gax-trust-framework:Attestation - -```mermaid -classDiagram - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -class gaxTrustFramework_InteroperabilityAttestation{ -interoperabilityAttestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation), [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| providedBy | gax-core:Participant | 1 | 1 | DID of participant providing this Attestation. | https://gaia-x.eu | -| attestationDate | xsd:date | 1 | 1 | Date of Attestation | | -| attestationType | xsd:string | 1 | 1 | Type of attestation: Positive or Negative (revocation) | Positive, Negative ( Revocation ) | - - -
- - -## gax-trust-framework:AutoscaledContainer - -```mermaid -classDiagram - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer - - -``` - - **Super classes**: [gax-trust-framework:Container](#gax-trust-framework:container) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:AutoscaledVirtualMachine - -```mermaid -classDiagram - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec - - -``` - - **Super classes**: [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| autoscaledVmServiceSpec | [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) | 1 | unlimited | Auto Scaling Group Specifications for this service offering | (a structured object of type gax-trust-framework:VMAutoScalingGroupSpec) | - - -
- - -## gax-trust-framework:AvailabilityZone - -```mermaid -classDiagram - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone - -gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | an availability zone is an aggregation of resources - physical and abstract - in a non-redundant setup often associated with a single datacenter room | (reference to Resources) | - - -
- - -## gax-trust-framework:BareMetal - -```mermaid -classDiagram - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal - -class gaxTrustFramework_PxeImage{ -format -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) | 1 | unlimited | all possible provided bare metal server images for this service offering | (a structured object of type gax-trust-framework:PXEImage) | -| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided bare metal server flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | - - -
- - -## gax-trust-framework:BigData - -```mermaid -classDiagram - -gaxTrustFramework_Platform <|-- gaxTrustFramework_BigData - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:BlockStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_BlockStorageOffering{ -volumeTypes -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_BlockStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| volumeTypes | xsd:string | 0 | 1 | List of volume types supported by this block storage | local-fast, remote-fast, remote-standard | - - -
- - -## gax-trust-framework:CPU - -```mermaid -classDiagram - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuArchitecture | xsd:string
value must be in: [x86, x86-64, RISC-V, Generic] | 0 | 1 | Basic CPU architecture. | x86, x86-64, RISC-V, Generic | -| cpuGeneration | xsd:string
value must be in: [Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2] | 0 | 1 | CPU instruction set generation. Determines basic feature set and migration compatibility. | Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2 | -| cpuFlag | xsd:string | 0 | unlimited | CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h . | fpu, vme, de, pse, sse, sse2, ht, vmx, smx, sse4_1, sse4_2, avx, 3dnowprefetch, ibrs_enhanced, ept_ad, sgx, sgx_lc, md_clear, arch_capabilities, ... | -| smtIsEnabled | xsd:boolean | 0 | 1 | Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default False. | true, false | -| numberOfSockets | xsd:integer | 0 | 1 | Number of CPU Sockets | 1, 2, 4 | -| numberOfCores | xsd:integer
1 <= value | 0 | 1 | Number of Cores of the CPU | 4, 6, 8, 12, 24 | -| numberOfThreads | xsd:integer
1 <= value | 0 | 1 | Number of Threads of the CPU | 8, 12, 24 | -| baseFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Frequency of the CPU | A structure object of type measure, e.g. measure:value=3.0 and measure:unit=GHz | -| boostFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Boost frequency of the CPU | A structure object of type measure, e.g. measure:value=4.0 and measure:unit=GHz | -| lastLevelCacheSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Last Level Cache size of the CPU | A structure object of type measure, e.g. measure:value=38 and measure:unit=MB | -| socket | xsd:string | 0 | 1 | Socket the CPU fits into. | FCLGA3647 | -| tdp | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | CPU Thermal Design Power - ref : https://en.wikipedia.org/wiki/Thermal_design_power | A structure object of type measure, e.g. measure:value=100 and measure:unit=W | -| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default maximum number of workloads scheduled on this CPU simultaneously | 1.0 | -| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available scheduler settings for the numer of simultaneously scheduled workloads on this CPU | 1.0 | - - -
- - -## gax-trust-framework:Catalogue - -```mermaid -classDiagram - -class gaxTrustFramework_Catalogue{ -getVerifiableCredentialsIDs -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| getVerifiableCredentialsIDs | xsd:string | 1 | unlimited | A route used to synchronize catalogues and retrieve the list of Verifiable Credentials (issuer, id). | | - - -
- - -## gax-trust-framework:Certificates - -```mermaid -classDiagram - -class gaxTrustFramework_Certificates{ -certificateName -certificateType -descriptionOfTestScope -certificateAuthority -certificateDocument -expirationDate -regularAudits -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| certificateName | xsd:string | 1 | 1 | Relevant certificate for the service | ISO XYZ | -| certificateType | xsd:string | 1 | 1 | Type of the certificates | BSI IT-Grundschutz, ISO 27001, Trust in Cloud | -| descriptionOfTestScope | xsd:string | 1 | 1 | Description of the scope of testing for this service | Freetext | -| certificateAuthority | xsd:string | 1 | 1 | Certificate authority for this service or its certificate | TÜV Süd | -| certificateDocument | xsd:string | 1 | 1 | Document that contains a certificate copy | certificates.pdf | -| expirationDate | xsd:date | 1 | 1 | Date on which the certificate expires | 2122-12-21 | -| regularAudits | xsd:boolean | 1 | 1 | Is the certificate regularly audited? | true, false | - - -
- - -## gax-trust-framework:CheckSum - -```mermaid -classDiagram - -class gaxTrustFramework_CheckSum{ -checksum -checksumAlgorithm -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| checksum | xsd:string | 1 | 1 | Value of check sum | 5d68f20237c7c01c067b577ee5e490d1 | -| checksumAlgorithm | xsd:string
value must be in: [md5, sha-1, ripemd-160, sha-2, sha-3, blake2, blake3, other] | 1 | 1 | Defines algorithm for generating check sum | md5 | - - -
- - -## gax-trust-framework:CodeArtifact - -```mermaid -classDiagram - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) - - **Sub classes**: [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode), [gax-trust-framework:Image](#gax-trust-framework:image) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 1 | 1 | Name identifying the code artifact | Image 1, Function_2 | - - -
- - -## gax-trust-framework:ComplianceAssessmentBody - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxCore_Participant <|-- gaxTrustFramework_ComplianceAssessmentBody - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential - -gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody - -gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| canCertifyThirdPartyComplianceCertificationScheme | [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) | 1 | unlimited | IDs of the Third Party Compliance Certification Scheme this Compliance Assessment Body can certify. | did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#1, did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#2 | -| hasThirdPartyComplianceCertificateClaim | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | unlimited | IDs of Certificate claims issued by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#1, did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#2 | -| hasThirdPartyComplianceCredential | [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) | 1 | unlimited | IDs of the Certificate claims VC certified by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceVC/sha256#1, did:web:compliance.gaia-x.eu/complianceVC/sha256#2 | - - -
- - -## gax-trust-framework:ComplianceCertificateClaim - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceCertificationScheme | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 0 | 1 | ID of the Compliance Certification Scheme (self-description) involved in the certification | https://company-a.com/self-descriptions/compliance-cert-scheme-iso27001.jsonld | -| hasServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | 1 | ID of the Service Offering (self-description) certified for the compliance | https://company-a.com/self-descriptions/service-offering-iaas.jsonld | - - -
- - -## gax-trust-framework:ComplianceCertificateCredential - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -cred_VerifiableCredential <|-- gaxTrustFramework_ComplianceCertificateCredential - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential - - -``` - - **Super classes**: [cred:VerifiableCredential](#cred:verifiablecredential) - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| credentialSubject | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 1 | 1 | ID of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the ID is the ID of the third party | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ComplianceCertificationScheme - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme - -gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceReference | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | 1 | ID of Compliance Reference (self-description) to be certified by any means defined in the Certification Scheme | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | -| grantsComplianceCriteriaCombination | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | 1 | ID of Compliance Criterion Combination granted by the scheme in case of certification | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | - - -
- - -## gax-trust-framework:ComplianceCriteriaCombination - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -class gaxTrustFramework_ComplianceCriterion{ -hasName -hasDescription -hasLevel -} - -gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination - -class gaxTrustFramework_ComplianceLabel{ -hasName -hasDescription -hasLevel -hasRequiredCriteriaCombinations -} - -gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X criteria combination | Gaia-X Criteria Combination #1 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language | Gaia-X | -| requiredOrGrantedCriteria | [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) | 1 | unlimited | List of Required Criteria to be granted for the label or list of granted Criteria by the compliance. All the Criteria have to be granted (logic AND) | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | - - -
- - -## gax-trust-framework:ComplianceCriterion - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCriterion{ -hasName -hasDescription -hasLevel -} - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Criterion | Gaia-X C1/L1 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Criterion as defined in TF document | Gaia-X | -| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Label level. The level ordering is done by alphanumeric order. | 1, 2, 3 | - - -
- - -## gax-trust-framework:ComplianceLabel - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceLabel{ -hasName -hasDescription -hasLevel -hasRequiredCriteriaCombinations -} - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Label | Gaia-X GDPR Trusted Label | -| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Label as defined in TF document | Gaia-X | -| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Gaia-X Label Level as defined in TF document | 1, 2, 3 | -| hasRequiredCriteriaCombinations | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | unlimited | List of Criteria Combinations. If one of these Combinations is valid the Label is Granted | 1, 2, 3 | - - -
- - -## gax-trust-framework:ComplianceReference - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -class gaxTrustFramework_ComplianceReferenceManager{ -hasComplianceReferences -} - -gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference - -gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasReferenceUrl | xsd:anyURI | 1 | 1 | URI to reference the content of the compliance reference in a single PDF file | https://www.iso.org/iso-27001.pdf | -| hasSha256 | xsd:string | 1 | 1 | SHA256 of PDF document referenced by hasReferenceUrl. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | -| hasComplianceReferenceTitle | xsd:string | 1 | 1 | Name of the Compliance Reference | ISO 27001 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language | Information security management system standards. | -| hasComplianceReferenceManager | [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) | 1 | 1 | ID of Participant (self-description) in charge of managing this Compliance Reference | https://company-a.com/self-descriptions/compliance-ref-manager.jsonld | -| hasVersion | xsd:string | 0 | 1 | versioning according to [semver](https://semver.org/). | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| cRValidFrom | xsd:dateTime | 0 | 1 | Indicates the first date when the compliance reference goes into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| cRValidUntil | xsd:dateTime | 0 | 1 | Indicates the last date when the compliance reference is no more into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| hasComplianceCertificationSchemes | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 1 | unlimited | List of schemes that grants certification. This list is managed by a reference manager. | did:web:compliance.cispe.org/coc/gdpr/thirdparty#1 | - - -
- - -## gax-trust-framework:ComplianceReferenceManager - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceReferenceManager{ -hasComplianceReferences -} - -gaxCore_Participant <|-- gaxTrustFramework_ComplianceReferenceManager - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences - -gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceReferences | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | unlimited | Unordered list of Ids of ComplianceReferences (self-description) managed by this ComplianceReferenceManager | https://company-a.com/self-descriptions/comp-ref1.jsonld | - - -
- - -## gax-trust-framework:Compute - -```mermaid -classDiagram - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_Container - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal), [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction), [gax-trust-framework:Container](#gax-trust-framework:container), [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) | 1 | unlimited | Compute Service Code Artifacts | (a structured object of type gax-trust-framework:CodeArtifact) | -| instantiationReq | [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) | 1 | unlimited | Set of technical Requirements / conditions to instantiate this service offering | (a structured object of type gax-trust-framework:InstantiationRequirements) | -| tenantSeparation | xsd:string | 0 | 1 | How compute resources of different tenants are separated. Default value = hw-virtualized | hw-virtualized, sw-virtualized, os-virtualized, os-hw-virtualized, hw-partitioned, physical | - - -
- - -## gax-trust-framework:ComputeFunction - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| code | [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionCode) | -| trigger | [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionTrigger) | - - -
- - -## gax-trust-framework:ComputeFunctionCode - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code - - -``` - - **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| file | xsd:anyURI | 1 | 1 | URL referring to function code file | https://storage.endpoint/image-file | - - -
- - -## gax-trust-framework:ComputeFunctionTrigger - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| URL | xsd:anyURI | 1 | 1 | URI / URL used to trigger this compute function | https://compute.function.endpoint | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether function is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether function has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:Connectivity - -```mermaid -classDiagram - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_Connectivity - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity - -class gaxTrustFramework_NetworkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity - -class gaxTrustFramework_PhysicalConnectivity{ -CircuitType -InterfaceType -SourceAccessPoint -DestinationAccessPoint -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity), [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity), [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| InstantiationRequirements | xsd:string | 0 | 1 | | | - - -
- - -## gax-trust-framework:Container - -```mermaid -classDiagram - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_Container - -gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer - -class gaxTrustFramework_ContainerImage{ -baseOS -format -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| image | [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) | 1 | unlimited | set of all possible provided container images for this service offering | (a structured object of type gax-trust-framework:ContainerImage) | -| resourceLimits | [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) | 1 | unlimited | set of all possible container resource limits for this service offering | (a structured object of type gax-trust-framework:ContainerQuota) | - - -
- - -## gax-trust-framework:ContainerImage - -```mermaid -classDiagram - -class gaxTrustFramework_ContainerImage{ -baseOS -format -} - -gaxTrustFramework_WorkloadArtifact <|-- gaxTrustFramework_ContainerImage - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image - - -``` - - **Super classes**: [gax-trust-framework:WorkloadArtifact](#gax-trust-framework:workloadartifact) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| baseOS | xsd:string | 1 | 1 | container image base operating system | linux, windows | -| format | xsd:string | 1 | 1 | container image format | docker v1, docker v2, oci, lxc | - - -
- - -## gax-trust-framework:ContainerResourceLimits - -```mermaid -classDiagram - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | 1 | CPU requirements | (a structured object of type gax-trust-framework:CPU) | -| numberOfCoresLimit | xsd:integer | 0 | 1 | limit to the number of cores used by container | 2 | -| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory requirements | (a structured object of type gax-trust-framework:Memory) | -| memoryLimit | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory limit | (a structured object of type gax-trust-framework:Memory) | -| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | 1 | number of GPUs | (a structured object of type gax-trust-framework:GPU) | -| gpuLimit | xsd:integer | 0 | 1 | GPU number limit | 1, 2 | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether container is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential container has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:DataAccountExport - -```mermaid -classDiagram - -class gaxTrustFramework_DataAccountExport{ -requestType -accessType -formatType -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| requestType | xsd:string | 1 | 1 | the mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter. | API, email, webform, unregisteredLetter | -| accessType | xsd:string | 1 | 1 | type of data support: digital, physical. | digital, physical | -| formatType | xsd:string | 1 | 1 | type of Media Types (formerly known as MIME types) as defined by the IANA. | application/gzip, text/csv | - - -
- - -## gax-trust-framework:DataCenter - -```mermaid -classDiagram - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf - -class gaxTrustFramework_Region{ -aggregationOf -} - -gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) | 1 | unlimited | a data center is an aggregation of availability zones | (reference to availability zone) | - - -
- - -## gax-trust-framework:DataConnectorOffering - -```mermaid -classDiagram - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| physicalResource | [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) | 1 | unlimited | a list of resource with information of where the data is located | https://gaia-x.eu | -| virtualResource | [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) | 1 | unlimited | a list of resource with information of who owns the data. | https://gaia-x.eu | -| policies | xsd:anyURI | 1 | unlimited | a list of policy expressed using a DSL used by the data connector policy engine leveraging Gaia-X Self-descriptions as both data inputs and policy inputs | https://gaia-x.eu | -| type | xsd:string | 0 | unlimited | Type of the data asset, which helps discovery. Preferably a controlled vocabulary entry referenced by URI | dataset, container | -| creationTime | xsd:dateTimeStamp | 0 | unlimited | Timestamp the service has been created. | 2021-07-17T00:31:30Z | -| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | - - -
- - -## gax-trust-framework:DataExport - -```mermaid -classDiagram - -class gaxTrustFramework_DataExport{ -unlimitedAccessToCustomerData -description -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| unlimitedAccessToCustomerData | xsd:string
value must be in: [No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered] | 1 | 1 | Can the user access unlimited and at any time the customer data? | No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered | -| description | xsd:string | 1 | 1 | Description of procedures for data repatriation and supported file formats? | Freetext | - - -
- - -## gax-trust-framework:DataResource - -```mermaid -classDiagram - -class gaxTrustFramework_DataResource{ -producedBy -exposedThrough -obsoleteDateTime -expirationDateTime -containsPII -legalBasis -} - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| producedBy | gax-core:Participant | 1 | 1 | A resolvable link to the participant self-description legally enabling the data usage. | (a reference to gax-core:Participant object) | -| exposedThrough | gax-core:Participant | 1 | unlimited | A resolvable link to the data exchange component that exposes the data resource. | | -| obsoleteDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is obsolete. | 2022-10-26T21:32:52 | -| expirationDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is expired and shall be deleted. | 2022-10-26T21:32:52 | -| containsPII | xsd:boolean | 1 | 1 | Boolean determined by Participant owning the Data Resource. | True | -| legalBasis | xsd:string | 0 | 1 | NOTE: Mandatory if containsPII is true. One of the reasons as detailed in the identified Personal Data Protection Regimes, such as [GDPR2018]. Potential Legal Bases can be [article 6], article 7, (https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1) or article 9. It shall be expressed as a string matching 6.1.[a-f], 6.1.4, 7 or 9.2.[a-j]. (Note: this list is not final, as GDPR and Member State Law may provide for additional legal basis. Those will be implemented as options in future iterations.) | https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1 | - - -
- - -## gax-trust-framework:Database - -```mermaid -classDiagram - -gaxTrustFramework_Platform <|-- gaxTrustFramework_Database - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:DigitalIdentityWallet - -```mermaid -classDiagram - -gaxTrustFramework_Wallet <|-- gaxTrustFramework_DigitalIdentityWallet - - -``` - - **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Disk - -```mermaid -classDiagram - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | The size of that hard drive. | 1600 GB | -| type | xsd:string | 0 | 1 | The type of that hard drive. | local SSD, local HDD, shared network storage, high-perf NVMe | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of disk ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | -| keyManagement | xsd:string | 1 | unlimited | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "bring-your-own-key": : Keys created by user and stored in key manager of cloud. "hold-your-own-key": Key created by user and kept by user | managed, bring-your-own-key, hold-your-own-key | - - -
- - -## gax-trust-framework:Encryption - -```mermaid -classDiagram - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| encryptionAlgorithm | xsd:string
value must be in: [none, rsa] | 1 | 1 | Supported algorithm used to encrypt. | none, rsa | -| keyManagement | xsd:string
value must be in: [managed, byok, hyok] | 1 | 1 | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "byok": bring-your-own-key: Keys created by user and stored in key manager of cloud. "hyok" hold-your-own-key Key created by user and kept by user | managed, byok, hyok | - - -
- - -## gax-trust-framework:Endpoint - -```mermaid -classDiagram - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| endPointURL | xsd:anyURI | 0 | unlimited | The URL of the endpoint where it can be accessed | https://gaia-x.eu/ | -| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | -| endpointDescription | xsd:anyURI | 0 | unlimited | The Description (e.g. openAPI Description) of the endpoint | https://gaia-x.eu/ | - - -
- - -## gax-trust-framework:FPGA - -```mermaid -classDiagram - -class gaxTrustFramework_FPGA{ -type -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string | 0 | 1 | FPGA generation. | Agilex, Stratix | - - -
- - -## gax-trust-framework:FileStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_FileStorageOffering{ -fileSystem -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_FileStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| fileSystem | xsd:string
value must be in: [FAT32, NTFS, exFAT] | 0 | 1 | File system of storage service. | FAT32, NTFS, exFAT | - - -
- - -## gax-trust-framework:GPU - -```mermaid -classDiagram - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| gpuGeneration | xsd:string | 0 | 1 | GPU generation. | Fermi, Kepler, Gen9 | -| memory | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | Memory of the GPU | a structure object of type Memory | -| connection | xsd:string | 0 | 1 | Interconnection of the GPU | PCIe Gen4: 64GB/s | - - -
- - -## gax-trust-framework:HardwareSpec - -```mermaid -classDiagram - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk - -class gaxTrustFramework_FPGA{ -type -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:CPU](#gax-trust-framework:cpu), [gax-trust-framework:Disk](#gax-trust-framework:disk), [gax-trust-framework:FPGA](#gax-trust-framework:fpga), [gax-trust-framework:GPU](#gax-trust-framework:gpu), [gax-trust-framework:Memory](#gax-trust-framework:memory), [gax-trust-framework:Network](#gax-trust-framework:network) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | 1 | Procuct name of the hardware resource. | Xeon Platinum 8280 | -| vendor | xsd:string
value must be in: [intel, AMD, NVIDEA, others] | 0 | 1 | Vendor of this hardware. | intel, AMD, NVIDEA, others | - - -
- - -## gax-trust-framework:IdentityAccessManagementOffering - -```mermaid -classDiagram - -class gaxTrustFramework_IdentityAccessManagementOffering{ -disableUserAccountDaysInactive -passwordExpiresDays -authKind -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_IdentityAccessManagementOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| disableUserAccountDaysInactive | xsd:integer
1 <= value | 0 | 1 | Days of account inactivity before a user account is disabled. | | -| passwordExpiresDays | xsd:integer
1 <= value | 0 | 1 | Days until a user must renew their password. This attribute is only allowed with authKind=credentials. | | -| authKind | xsd:string
value must be in: [credentials, ssl-cert] | 0 | 1 | Indicate, which kind of authentication is used. "credentials": Authentication with username and password. "ssl-cert": Authentication with X.509 certificates. | credentials, ssl-cert | - - -
- - -## gax-trust-framework:IdentityFederation - -```mermaid -classDiagram - -gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityFederation - - -``` - - **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:IdentityProvider - -```mermaid -classDiagram - -gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityProvider - - -``` - - **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Image - -```mermaid -classDiagram - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image - -class gaxTrustFramework_PxeImage{ -format -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage - -class gaxTrustFramework_VmImage{ -format -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage - -class gaxTrustFramework_CheckSum{ -checksum -checksumAlgorithm -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Signatur{ -signatur -signatureAlgo -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image - - -``` - - **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - **Sub classes**: [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage), [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| diskFormat | xsd:string | 0 | 1 | Disk format. Default RAW | RAW | -| checkSum | [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) | 0 | 1 | Details on checksum of this image. | (a strucctured object of type gax-trust-framework:Checksum) | -| version | xsd:string | 0 | 1 | Version of this image. | 8 | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements for this image | (a structure object of type CPU) | -| fileSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | file size of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | -| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | size in RAM of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of image ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | -| signature | [gax-trust-framework:Signatur](#gax-trust-framework:signatur) | 0 | 1 | Details of image signatur. | (a strucctured object of type gax-trust-framework:Signatur) | - - -
- - -## gax-trust-framework:ImageRegistryOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_ImageRegistryOffering - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| image | [gax-trust-framework:Image](#gax-trust-framework:image) | 0 | 1 | Images available in this image registry. | (a structured object of type gax-resource:Software) | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details on encryption capabilities of this image registry. | (a structured object of type gax-core:Encryption) | -| privateImagesAllowed | xsd:boolean | 0 | 1 | Default: "true". "true" means that the image registry supports upload of private user images. | true, false | - - -
- - -## gax-trust-framework:InfrastructureOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:InstantiatedVirtualResource - -```mermaid -classDiagram - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource - -class gaxTrustFramework_VirtualNode{ -type -} - -gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_ServiceAccessPoint{ -name -host -protocol -version -port -openAPI -} - -gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| maintainedBy | gax-core:Participant | 1 | unlimited | a list of participants maintaining the resource in operational condition. | https://gaia-x.eu | -| hostedOn | gax-core:Resource | 1 | 1 | a resource where the instance of this virtual resource is being executed on. | https://gaia-x.eu | -| instanceOf | gax-core:Resource | 1 | 1 | A virtual resource (normally a software resource) this process is an instance of. | https://gaia-x.eu | -| tenantOwnedBy | gax-core:Participant | 1 | unlimited | A list of participant with contractual relation with the resource. | https://gaia-x.eu | -| serviceAccessPoint | [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint)
value must be in: [PD-SAP, PLME-SAP] | 1 | unlimited | a list of Service Access Point which can be an endpoint as a mean to access and interact with the resource | PD-SAP, PLME-SAP | - - -
- - -## gax-trust-framework:InstantiationRequirements - -```mermaid -classDiagram - -gaxCore_Configuration <|-- gaxTrustFramework_InstantiationRequirements - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq - - -``` - - **Super classes**: [gax-core:Configuration](#gax-core:configuration) - - **Sub classes**: [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger), [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits), [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor), [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Interconnection - -```mermaid -classDiagram - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag - - -``` - - **Super classes**: [gax-trust-framework:Network](#gax-trust-framework:network) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| location | vcard:Address | 0 | unlimited | A vcard:Address Object containing the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format with at least the both ends of the connection. | (a reference to vcard:Address object) | -| interface.type | xsd:string | 0 | unlimited | a type of physical interface | Copper cable, 5G | -| connectionPointA | xsd:string | 0 | unlimited | The ID of the source of the connection. | a MAC address, IP address | -| connectionPointZ | xsd:string | 0 | unlimited | The ID of the destination of the connection. | a MAC address, IP address | -| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual bandwidth defined in the service level agreement (SLA). Bandwidth is usually measured in dimension of bits per second. | 500 Gbps | -| latency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual latency defined in the SLA. If not specified, then best effort is assumed. Latency is usually measured in dimension of time. | 10 seconds | -| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual availability of connection defined in the SLA agreement. If not specified, then best effort is assumed. Availability is measured in the pseudo-unit "percent". | 99 percent | -| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | -| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual jitterdefined in the SLA. If not specified, then best effort is assumed. Jitter is measured in dimension of time. | 0.01 miliseconds | -| targetPercentile | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual percentile in the SLA. Usually referred to the nubmer of frames the SLA metrics such as availability, latency and jitter can bbe guaranteed. | 97.5%, 99% | -| connectionType | xsd:string | 0 | unlimited | the supported types of connection, preferably specified as a controlled vocabulary entry | ethernet unicast, multicast, broadcast support | -| vlanType | xsd:string | 0 | unlimited | the chosen types of vlan types | qinq, dot1q | -| vlanTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | -| vlanEtherType | xsd:string | 0 | unlimited | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | -| connectedNetwork_A | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side A | 200, 714 | -| connectedNetwork_Z | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side Z | 200, 714 | -| prefixSet_A | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side A | 176.46.32.0/24 | -| prefixSet_Z | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side Z | 192.46.52.0/24 | - - -
- - -## gax-trust-framework:InterconnectionPointIdentifier - -```mermaid -classDiagram - -class gaxTrustFramework_InterconnectionPointIdentifier{ -dataCenterName -dataCenterFloor -DataCenterRackNumber -dataCenterPatchPanel -dataCenterPortNumber -macAddress -IPAddress -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| dataCenterName | xsd:string | 0 | 1 | the name or Id of datacenter where the service can be accessed | Equinix FR2 - Frankfurt, North, Datacenter Leipzig Lindenau (RZW) , Equinix AM1/AM2 - Amsterdam, Luttenbergweg | -| dataCenterFloor | xsd:string | 0 | 1 | the floor number of datacenter where the service can be accessed | 0G, 1st , 2nd | -| DataCenterRackNumber | xsd:string | 0 | 1 | the Id of datacenter rack number where the service can be accessed | 0FM102 | -| dataCenterPatchPanel | xsd:string | 0 | 1 | the Id of datacenter patch panel where the service can be accessed | PP102 | -| dataCenterPortNumber | xsd:string | 0 | 1 | the port number on the patch panel where the service can be accessed | 14, 16, 25 | -| macAddress | xsd:string | 0 | 1 | the mac address required for L2 connectivity setup | 00:00:5e:00:53:af | -| IPAddress | xsd:string | 0 | 1 | the IP address required for L3 connectivity setup | 18.125.10.15 | - - -
- - -## gax-trust-framework:Interoperability - -```mermaid -classDiagram - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -class gaxTrustFramework_TechnicalStandards{ -adminstrationApiStandards -virtualizationStandards -serviceStackStandards -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards - -class gaxTrustFramework_DataExport{ -unlimitedAccessToCustomerData -description -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport - -class gaxTrustFramework_TechnicalIntegration{ -standardizedAP -description -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration - -class gaxTrustFramework_RequirementsServiceUsage{ -technicalRequirements -organizationalRequirements -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| technicalStandards | [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) | 1 | 1 | Information about technical standards the service stack is based on. | (a structured object of type TechnicalStandards) | -| dataExport | [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) | 1 | 1 | Representation of procedures of data access of customer data and data feedback. | (a structured object of type DataExport) | -| technicalIntegration | [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) | 1 | 1 | Description of procedures of technical integration of service in the available IT-landscape of the user? | (a structured type of type Integration) | -| requirementsServiceUsage | [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) | 1 | 1 | Description for the technical and organizational prerequisites to use the service the user has to fulfill. | (a structured object of type RequirementsServiceUsage) | - - -
- - -## gax-trust-framework:InteroperabilityAttestation - -```mermaid -classDiagram - -class gaxTrustFramework_InteroperabilityAttestation{ -interoperabilityAttestationType -} - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation - - -``` - - **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Technical and Functional | - - -
- - -## gax-trust-framework:InteroperabilityAttestationType - -```mermaid -classDiagram - -class gaxTrustFramework_InteroperabilityAttestationType{ -interoperabilityAttestationType -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string
value must be in: [Service Interoperability Attestation, Resource Interoperability Attestation] | 1 | 1 | Interoperability Attestation Types | Service Interoperability Attestation | - - -
- - -## gax-trust-framework:LegalPerson - -```mermaid -classDiagram - -class gaxTrustFramework_LegalPerson{ -legalName -legalForm -description -registrationNumber -legalAddress -headquarterAddress -leiCode -parentOrganization -subOrganization -} - -gaxCore_Participant <|-- gaxTrustFramework_LegalPerson - -http_//www.w3.org/ns/org#Organization <|-- gaxTrustFramework_LegalPerson - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant), [http://www.w3.org/ns/org#Organization](#http://www.w3.org/ns/org#organization) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| legalName | xsd:string | 0 | 1 | Legally binding name | ACME L.L.C | -| legalForm | xsd:string
value must be in: [LLC, Corporation, Limited partnership (LP), Nonprofit corporation, Gesellschaft mit beschränkter Haftung (GmbH), Aktiengesellschaft (AG), Einzelunternehmen, Gesellschaft bürgerlichen Rechts (GbR), Offene Handelsgesellschaft (OHG), Kommanditgesellschaft (KG), Unternehmergesellschaft (haftungsbeschränkt), Sole Trader, Unincorporated Association, Partnership, Limited Partnership, Trust, Limited Company, Limited Liability Partnership (LLP), Community Interest Company (CIC), Charitable Incorporated Organisation (CIO), Co-operative Society (Co-op), Community Benefit Society (BenCom), other] | 0 | 1 | Legal form | L.L.C, GmbH | -| description | xsd:string | 0 | 1 | Textual description of this organization. | A company making everything | -| registrationNumber | xsd:string | 1 | 1 | Country’s registration number which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode. | DEU1234.HRB12345 | -| legalAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | -| headquarterAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | -| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | M07J9MTYHFCSVRBV2631 | -| parentOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant that this entity is a subOrganization of, if any. | https://gaia-x.eu | -| subOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant with an legal mandate on this entity, e.g., as a subsidiary. | https://gaia-x.eu | - - -
- - -## gax-trust-framework:LinkConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | FR:VLANID:56 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | MUC:VLANID:24 | -| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual bandwidth defined in the service level agreement (SLA) | 1 Gbit/s, 10 Gbit/s, 100 Gbit/s, 400 Gbit/s | -| RoundTripTimeRTT | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual latency defined in the SLA. | 1 ms, 10 ms, 1 s | -| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual availability of connection defined in the SLA agreement. Availability is measured in the pseudo-unit "percent". | 99.9999 %, 99.9 %, 99.99 % | -| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | -| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual jitter defined in the SLA. If not specified, then best effort is assumed. | 0.01 ms, 0.002 ms | -| ProtocolType | xsd:string | 0 | 1 | Link protocol type | Ethrnet, ARP, PPP, VLAN | -| VLANType | xsd:string | 0 | 1 | the chosen types of vlan types | qinq, dot1q | -| VLANTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | -| VLANEtherType | xsd:string | 0 | 1 | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | - - -
- - -## gax-trust-framework:LocatedServiceOffering - -```mermaid -classDiagram - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential - -gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| isImplementationOf | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Id of the Service Offering referenced by this located service | did:web:example.com/serviceOffering/sha256 | -| isHostedOn | [gax-trust-framework:Location](#gax-trust-framework:location) | 1 | 1 | Id of the Location where this located service is hosted on | did:web:example.com/location/sha256 | -| hasComplianceCertificateClaim | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 0 | unlimited | Ids of the compliance reference claims claimed by the provider for the located service | did:web:example.com/location/sha256 | -| hasComplianceCertificateCredential | [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) | 0 | unlimited | Ids of the compliance reference claim claimed by the provider for the located service | did:web:example.com/location/sha256 | - - -
- - -## gax-trust-framework:Location - -```mermaid -classDiagram - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasProvider | [gax-trust-framework:Provider](#gax-trust-framework:provider) | 1 | 1 | Id of the participant who operates the Location Unit that implements the Service Offering | did:web:example.com/location/sha256 | -| canHostServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | List of references of Service Offering that may be hosted on this location | did:web:example.com/serviceOffering/sha256-1, did:web:example.com/serviceOffering/sha256-2 | -| hasAdministrativeLocation | xsd:string | 1 | 1 | ISO 3166-2 5 digit string for location | FR-39, DE-BE | -| hasLocatedServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | unlimited | Ids of Located Service Offerings on this location | did:web:example.com/locatedServiceOffering/sha256 | - - -
- - -## gax-trust-framework:Measure - -```mermaid -classDiagram - -class gaxTrustFramework_Measure{ -value -unit -} - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic - -class gaxTrustFramework_Volume{ -size -type -} - -gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| value | xsd:float | 1 | 1 | The value of this measurement. | 100 | -| unit | xsd:string | 1 | 1 | The unit of this measurement | Gbps, Euro | - - -
- - -## gax-trust-framework:Memory - -```mermaid -classDiagram - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | -| memclass | xsd:string | 0 | 1 | Memory class | DDR4, DDR5, GDDR5, GDDR6 | -| rank | xsd:string | 0 | 1 | DIMM Type | 1R RDIMM, 2R RDIMM, 4R LRDIMM, 8R LRDIMM | -| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default overbooking ratio on this memory | 1.0 | -| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available overbooking ratios on this memory | 1.0 | - - -
- - -## gax-trust-framework:Network - -```mermaid -classDiagram - -class gaxTrustFramework_Network{ -nicPortReq -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| nicPortReq | xsd:string | 0 | 1 | placeholder for networking | | - - -
- - -## gax-trust-framework:NetworkConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_NetworkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Global:IANA:18.125.20.15/32 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination and references a network | Global:IANA:18.125.10.15/24 | - - -
- - -## gax-trust-framework:NetworkOffering - -```mermaid -classDiagram - -class gaxTrustFramework_NetworkOffering{ -serviceType -publicIpAddressProvisioning -ipVersion -tenantSeparation -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_NetworkOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | -| publicIpAddressProvisioning | xsd:string
value must be in: [floating, fixed, provider-network] | 0 | 1 | Defines how public IP address are provided. Floating: floating ips are supported . | floating, fixed, provider-network | -| ipVersion | xsd:string
value must be in: [ipV6, IPv4] | 0 | 1 | Version of IP address supported. IPv4: only ipV4 addresses are supported. IPv6: both version iIPV4 and IPv6 are supported. | IPV6, IPv4 | -| tenantSeparation | xsd:string
value must be in: [virtual, physical] | 0 | 1 | Default: virtual. How networks of different tenants are separated. | virtual, physical | - - -
- - -## gax-trust-framework:Node - -```mermaid -classDiagram - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_PhysicalServer{ -supportedManagementProtocols -managementInterface -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer - -class gaxTrustFramework_VirtualNode{ -type -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode), [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver), [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpu | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | unlimited | Description of CPU(s) of this node | a structured object of type cpu, e.g. CPU:numberOfCores=4, CPU:frequency:value=3.0 and CPU:frequency:measure:unit=GHz | -| gpu | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Description of GPU(s) of this node. | a structured object of type gpu, e.g. GPU:memoryType=DDR6, GPU:memorySize:value=24 and GPU:memorySize:value:unit=GB | -| ramsize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Size of RAM of this node | a structured object of type measure, e.g. measure:value=950 and measure:unit=GB | -| disk | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Description of disk(s) of this nodes | a structured object of type harddrive, e.g. harddrive:productid=6CX68AV, and harddrive:name=Xeon Platinum 8280,and harddrive:manufacture=NVIDA; harddrive:size:value=1000, harddrive:size:unit=GB, and harddrive:type=SSD | -| nic | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Description of network interface card(s) of this node | a structured object of type measure, e.g. measure:value=10 and measure:unit=GBase-T | - - -
- - -## gax-trust-framework:ObjectStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ObjectStorageOffering{ -fileSystem -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_ObjectStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| fileSystem | xsd:string
value must be in: [FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS] | 0 | 1 | File system of storage services provides. | FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS | - - -
- - -## gax-trust-framework:Orchestration - -```mermaid -classDiagram - -class gaxTrustFramework_Orchestration{ -type -} - -gaxTrustFramework_Platform <|-- gaxTrustFramework_Orchestration - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string
value must be in: [Docker Swarm, Apache Mesos, Kubernetes] | 0 | 1 | Type of this Orchestration Service Offering, such as kubernetes. | Docker Swarm, Apache Mesos, Kubernetes | - - -
- - -## gax-trust-framework:PhysicalConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalConnectivity{ -CircuitType -InterfaceType -SourceAccessPoint -DestinationAccessPoint -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| CircuitType | xsd:string | 0 | 1 | type of access medium: wired medium access or wireless medium access | single mode fibre or copper cable, laser, mobile network or satellite | -| InterfaceType | xsd:string | 0 | 1 | for the chosen circuit type, one should know the interface type in case the interoperability is required | optical cable interface SR | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Physical:DE:EQIX:FR2:0G:0FM102:PP102:14 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | Physical:DE:DE-CIX:FR4:1G:0FM102:PP102:24 | - - -
- - -## gax-trust-framework:PhysicalNode - -```mermaid -classDiagram - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:PhysicalResource - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: [gax-resource:NetworkingDevice](#gax-resource:networkingdevice), [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter), [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| maintainedBy | gax-core:Participant | 1 | unlimited | Participant maintaining the resource in operational condition and thus have physical access to it. | https://gaia-x.eu | -| ownedBy | gax-core:Participant | 0 | unlimited | Participant owning the resource. | https://gaia-x.eu | -| manufacturedBy | gax-core:Participant | 0 | unlimited | Participant manufacturing the resource. | https://gaia-x.eu | -| locationAddress | vcard:Address | 1 | unlimited | A vcard:Address object that contains the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format. | | -| locationGPS | xsd:string | 0 | unlimited | A list of physical GPS in ISO 6709:2008/Cor 1:2009 format. | Atlantic Ocean +00-025/ | - - -
- - -## gax-trust-framework:PhysicalServer - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalServer{ -supportedManagementProtocols -managementInterface -} - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer - -gaxTrustFramework_PhyscialResource <|-- gaxTrustFramework_PhysicalServer - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhyscialResource](#gax-trust-framework:physcialresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| supportedManagementProtocols | xsd:string | 1 | unlimited | List of supported Management Protocols, including version number | IPMI, Redfish, OpenBMC, iLo, iDrac | -| managementInterface | xsd:anyURI | 1 | unlimited | Interface used for management (NIC, Device,...) | (a structured object defining NetworkAccessPoint) | - - -
- - -## gax-trust-framework:PlatformOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Provider - -```mermaid -classDiagram - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxCore_Participant <|-- gaxTrustFramework_Provider - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering - -gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasLocations | [gax-trust-framework:Location](#gax-trust-framework:location) | 0 | unlimited | Ids of available Locations for this provider | did:web:provider.com/location#1, did:web:provider.com/location#2 | -| hasServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 0 | unlimited | Ids of the ServiceOffering managed by this provider. | did:web:provider.com/serviceoffering#1, did:web:provider.com/serviceoffering#2 | - - -
- - -## gax-trust-framework:PxeImage - -```mermaid -classDiagram - -class gaxTrustFramework_PxeImage{ -format -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| format | xsd:string | 1 | 1 | PXE image format for a bare-metal server | iso, winpe | - - -
- - -## gax-trust-framework:Region - -```mermaid -classDiagram - -class gaxTrustFramework_Region{ -aggregationOf -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_Region - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) | 1 | unlimited | a region is an aggregation of data centers | (reference to data center) | - - -
- - -## gax-trust-framework:RegistrationNumber - -```mermaid -classDiagram - -class gaxTrustFramework_RegistrationNumber{ -local -EUID -EORI -vatID -leiCode -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| local | xsd:string | 0 | 1 | The state issued company number. | HRA 12345, 123456789 | -| EUID | xsd:string | 0 | 1 | The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal. | DEB1234.HRB123123, FR1234.123456789 | -| EORI | xsd:string | 0 | 1 | The Economic Operators Registration and Identification number (EORI). | DE123456789101112, FR123456789101112 | -| vatID | xsd:string | 0 | 1 | The VAT identification number. | 5133081508159, 3201012312340 | -| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | 39120001LYGX6JEVCV44, 5299009D9BIL4D4UHT93 | - - -
- - -## gax-trust-framework:RequirementsServiceUsage - -```mermaid -classDiagram - -class gaxTrustFramework_RequirementsServiceUsage{ -technicalRequirements -organizationalRequirements -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| technicalRequirements | xsd:string | 1 | 1 | Description for the technical requirements to use the service | Freetext | -| organizationalRequirements | xsd:string | 1 | 1 | Description for the organizational requirements to use the service | Freetext | - - -
- - -## gax-trust-framework:Resource - -```mermaid -classDiagram - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxCore_Resource <|-- gaxTrustFramework_Resource - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone - -class gaxTrustFramework_InterconnectionPointIdentifier{ -dataCenterName -dataCenterFloor -DataCenterRackNumber -dataCenterPatchPanel -dataCenterPortNumber -macAddress -IPAddress -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource - -class gaxTrustFramework_Region{ -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_Region - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource - -gaxTrustFramework_Resource --> "0..*" gaxTrustFramework_Resource: aggregationOf - -gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf - - -``` - - **Super classes**: [gax-core:Resource](#gax-core:resource) - - **Sub classes**: [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone), [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource), [gax-trust-framework:Region](#gax-trust-framework:region), [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | 1 | Name of resource. | Example Resource | -| description | xsd:string | 0 | 1 | A more detailed description of resource. | Example Resource placed somewhere in Europe | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Resources related to the resource and that can exist independently of it. | (a reference to gax-trust-framework:Resource object) | - - -
- - -## gax-trust-framework:ServerFlavor - -```mermaid -classDiagram - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements | (a structured object of type CPU) | -| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 1 | 1 | Server memory requirements | (a structured object of type Memory) | -| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Server memory requirements | (a structured object of type GPU) | -| networkReq | [gax-trust-framework:Network](#gax-trust-framework:network) | 1 | unlimited | Networking requirements | (a structured object of type Network) | -| bootVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 1 | 1 | Boot volume requirement | (a structured object of type Disk) | -| additionalVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Additional volume requirements | (a structured object of type Disk) | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether server is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential server has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:ServiceAccessPoint - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceAccessPoint{ -name -host -protocol -version -port -openAPI -} - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | unlimited | Name of the access point | accesspointABC | -| host | xsd:string | 0 | unlimited | Host of the access point | | -| protocol | xsd:string | 0 | unlimited | Protocol of the access point | TCP, UDP | -| version | xsd:string | 0 | unlimited | Version of the access point | 1.2 | -| port | xsd:string | 0 | unlimited | Port of the access point | 8888 | -| openAPI | xsd:string | 0 | unlimited | URL of the OpenAPI documentation | https://gaia-x.eu/openAPIdoc | - - -
- - -## gax-trust-framework:ServiceOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxCore_ServiceOffering <|-- gaxTrustFramework_ServiceOffering - -class gaxTrustFramework_Catalogue{ -getVerifiableCredentialsIDs -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering - -class gaxTrustFramework_TermsAndConditions{ -content -hash -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions - -class gaxTrustFramework_DataAccountExport{ -requestType -accessType -formatType -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService - - -``` - - **Super classes**: [gax-core:ServiceOffering](#gax-core:serviceoffering) - - **Sub classes**: [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue), [gax-trust-framework:Compute](#gax-trust-framework:compute), [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering), [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering), [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering), [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 1 | 1 | human readable name of the service offering | GenericServiceName | -| termsAndConditions | [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) | 1 | unlimited | a resolvable link to the Terms and Conditions applying to that service. | https://gaia-x.eu | -| policy | xsd:string | 1 | unlimited | a list of policy expressed using a DSL (e.g., Rego or ODRL) | | -| dataProtectionRegime | xsd:string | 0 | unlimited | a list of data protection regime from the list available below | GDPR2016, LGPD2019 | -| dataAccountExport | [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) | 1 | unlimited | a list of methods to export data out of the service | | -| description | xsd:string | 0 | 1 | A description in natural language | An ML service for training, deploying and improving image classifiers. | -| keyword | xsd:string | 0 | unlimited | Keywords that describe / tag the service. | ML, Classification | -| provisionType | xsd:string | 0 | 1 | Provision type of the service | Hybrid, gax:PrivateProvisioning | -| endpoint | [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) | 0 | unlimited | Endpoint through which the Service Offering can be accessed | (reference to endpoint) | -| providedBy | gax-core:Participant | 1 | 1 | Id of Participant (self-descrription) providing this service offering. | https://gaia-x.eu | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Id of Resource (self-descrription) related to the service and that can exist independently of it. | https://gaia-x.eu | -| dependsOn | xsd:anyURI | 0 | unlimited | a resolvable link to the service offering self-description related to the service and that can exist independently of it. | https://gaia-x.eu | -| ServiceOfferingLocations | xsd:string | 0 | unlimited | Provision type of the service | Hybrid, gax:PrivateProvisioning | - - -
- - -## gax-trust-framework:Signatur - -```mermaid -classDiagram - -class gaxTrustFramework_Signatur{ -signatur -signatureAlgo -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| signatur | xsd:string | 1 | 1 | Value of Signture | 5d68f20237c7c01c067b577ee5e490d1 | -| signatureAlgo | xsd:string
value must be in: [dsa, ecdsa, rsa, other] | 1 | 1 | Defines algorithm used check signature | ecdsa | - - -
- - -## gax-trust-framework:SoftwareOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:SoftwareResource - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Standard - -```mermaid -classDiagram - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| title | xsd:string | 1 | 1 | Name of the standard. | ISO10303-242:2014 | -| standardReference | xsd:anyURI | 1 | unlimited | Provides a link to schemas or details about applied standards. | https://www.iso.org/standard | -| publisher | xsd:string | 0 | 1 | Publisher of the standard. | International Organization for Standardization | - - -
- - -## gax-trust-framework:StorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_StorageOffering{ -serviceType -encryptionMethod -snapshotSupported -backupsSupported -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_StorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | -| encryptionMethod | xsd:string
value must be in: [None, managed, byok, hyok] | 0 | 1 | Default: None. Define encryption method of storage service. None: means no encryption art all. managed: Virtual storage is encrypted by key managed provider. byok: Virtual storage | None, managed, byok, hyok | -| snapshotSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports snapshots. | True, False | -| backupsSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports backus. | True, False | - - -
- - -## gax-trust-framework:TechnicalIntegration - -```mermaid -classDiagram - -class gaxTrustFramework_TechnicalIntegration{ -standardizedAP -description -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| standardizedAP | xsd:string
value must be in: [No statement, No APIS are offered, Documented APIs, Standardized APIs] | 1 | 1 | Is there a standardized API to integrate the service into the customers IT-landscape? | No statement, No APIS are offered, Documented APIs, Standardized APIs | -| description | xsd:string | 1 | 1 | Description of the offered APIs to integrate the services | Freetext | - - -
- - -## gax-trust-framework:TechnicalStandards - -```mermaid -classDiagram - -class gaxTrustFramework_TechnicalStandards{ -adminstrationApiStandards -virtualizationStandards -serviceStackStandards -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| adminstrationApiStandards | xsd:string
value must be in: [No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs] | 1 | 1 | Is the administration of service possible with standard API? | No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs | -| virtualizationStandards | xsd:string
value must be in: [No statement, Proprietary, Open format, Standardized format] | 1 | 1 | Does the service use standardized formats for virtual machines and containers? | No statement, Proprietary, Open format, Standardized format | -| serviceStackStandards | xsd:string | 1 | 1 | Description of the standard, the service stack is built on. | Freetext | - - -
- - -## gax-trust-framework:TermsAndConditions - -```mermaid -classDiagram - -class gaxTrustFramework_TermsAndConditions{ -content -hash -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| content | xsd:anyURI | 1 | 1 | a resolvable link to document | https://gaia-x.eu | -| hash | xsd:string | 1 | 1 | sha256 hash of the above document. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificateClaim - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceAssessmentBody | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | 1 | Id of the Participant (self-description) endorsed having a Compliance Assessment Body role that claims the compliance | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificateCredential - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| credentialSubject | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | 1 | Id of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the id is the id of the third party | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificationScheme - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceAssessmentBodies | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | unlimited | Unordered list of IDs of ComplianceAssessmentBody (participant) endorsed having a Compliance Assessment Body role by the Compliance Reference. This unordered list is managed and validated by the Compliance Reference Manager | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:VerifiableCredentialWallet - -```mermaid -classDiagram - -class gaxTrustFramework_VerifiableCredentialWallet{ -verifiableCredentialExportFormat -privateKeyExportFormat -} - -gaxTrustFramework_Wallet <|-- gaxTrustFramework_VerifiableCredentialWallet - - -``` - - **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| verifiableCredentialExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export verifiable credentials. | https://gaia-x.eu | -| privateKeyExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export private keys. | https://gaia-x.eu | - - -
- - -## gax-trust-framework:VirtualMachine - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine - -class gaxTrustFramework_VmImage{ -format -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) | 1 | unlimited | all possible provided virtual machine images for this service offering | (a structured object of type gax-trust-framework:VMImage) | -| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided virtual machine flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | - - -
- - -## gax-trust-framework:VirtualNode - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualNode{ -type -} - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string
value must be in: [virtual machine, container] | 0 | unlimited | Type of virtual node | virtual machine, container | - - -
- - -## gax-trust-framework:VirtualResource - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource - -class gaxTrustFramework_DataResource{ -producedBy -exposedThrough -obsoleteDateTime -expirationDateTime -containsPII -legalBasis -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: [gax-trust-framework:DataResource](#gax-trust-framework:dataresource), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource), [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| copyrightOwnedBy | foaf:Agent | 1 | unlimited | The copyright owner(s), given as a Gaia-X Participant or as some other agent, possibly also a person outside of Gaia-X. A copyright owner is a person or organization, that has the right to exploit the resource. Copyright owner does not necessary refer to the author of the resource, who is a natural person and may differ from copyright owner. A simple name string can be referenced as a blank node whose foaf:name attribute has that string value. | https://gaia-x.eu | -| license | xsd:string | 1 | unlimited | A list of SPDX license identifiers or URL to license document | https://gaia-x.eu | -| policy | xsd:string | 1 | unlimited | A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …) | https://gaia-x.eu | - - -
- - -## gax-trust-framework:VmAutoscalingGroupSpec - -```mermaid -classDiagram - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| minInstantiatedVM | xsd:integer | 0 | 1 | Minimim number of VM instances in the ASG | 2, 8 | -| loadMetric | xsd:string | 0 | 1 | Load Metric type - can be of various types | cpu load, memory load, IO load, cost | -| loadMetricTarget | xsd:integer | 0 | 1 | Per VM instance Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be between Min and Max | 2, 8 | -| loadMetricTargetMin | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be < Max | 2, 8 | -| loadMetricTargetMax | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be > Min | 2, 8 | -| asgScalingPlan | xsd:string | 0 | 1 | Autoscaling Policy | scale by one instance, scale by two instances, My Custom Scaling Plan | - - -
- - -## gax-trust-framework:VmImage - -```mermaid -classDiagram - -class gaxTrustFramework_VmImage{ -format -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| format | xsd:string | 1 | 1 | Format of this virtual machine image. | qcow2, vhd, vhdx, vmdk, vdi, iso, ovf, ova | - - -
- - -## gax-trust-framework:Volume - -```mermaid -classDiagram - -class gaxTrustFramework_Volume{ -size -type -} - -gaxTrustFramework_StorageResource <|-- gaxTrustFramework_Volume - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size - - -``` - - **Super classes**: [gax-trust-framework:StorageResource](#gax-trust-framework:storageresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | -| type | xsd:string | 0 | 1 | storage volume type | small, medium, large | - - -
- - -## gax-trust-framework:WalletOffering - -```mermaid -classDiagram - -gaxTrustFramework_Software <|-- gaxTrustFramework_WalletOffering - - -``` - - **Super classes**: [gax-trust-framework:Software](#gax-trust-framework:software) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:serviceInteroperabilityAttestation - -```mermaid -classDiagram - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService - - -``` - - **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Functional and technical | -| serviceInteroperabilityAttestationType | xsd:string
value must be in: [Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider] | 1 | 1 | Type of Service Interoperability Attestation | Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider | -| composedService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Composed Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceComplianceService.json | -| componentService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | Component Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceManagedPostgreSQLOVH.json | - - diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 3b2e2db..93c0ef4 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,3 +1,14 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# openstack_discoverypy +"""Script to generate GX Credentials in JSON-LD. + +(c) Kurt Garloff , 5/2023 +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + from typing import Dict, List from openstack.connection import Connection diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 5252390..77d2f3c 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,3 +1,13 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# vm_images_discovery.py +"""Script to discovery VM images properties. + +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + from datetime import datetime from typing import Dict, List, Union @@ -6,7 +16,7 @@ from openstack.image.v2.image import Image as OS_Image import generator.common.const as const -from generator.common.expections import MissingMandatoryAttribute +#from generator.common.expections import MissingMandatoryAttribute from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import ( @@ -45,7 +55,8 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "RISC-V" return CpuArch.other.text except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + return CpuArch.other.text class VmDiscovery: @@ -166,7 +177,9 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass gx_image.ramReq = mem_req except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + pass + #raise MissingMandatoryAttribute(e.args) + def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: @@ -175,7 +188,8 @@ def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: ) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + pass def _add_operation_system_info( self, os_image: OS_Image, gx_image: GX_Image @@ -579,7 +593,8 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: "provided_until" ] except KeyError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + pass # collect optional attributes try: @@ -692,7 +707,8 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: else: gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + gx_image.hypervisorType = HypervisorType.other.text + #raise MissingMandatoryAttribute(e.args) def _get_signature_algo(self, algo: str) -> str: if algo.startswith("SHA-"): diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py deleted file mode 100644 index 3c704c3..0000000 --- a/generator/wallet/file_wallet.py +++ /dev/null @@ -1,28 +0,0 @@ -import json -import os - -from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld -from generator.wallet.wallet import WalletConnector - - -class FileSystemWallet(WalletConnector, object): - """ - Abstraction for filesystem acting as a wallet. - """ - - def __init__(self, dir: str) -> None: - super().__init__() - self.dir = dir - - def store_credential(self, credential: JsonLdObject) -> None: - super().store_credential(credential) - - with open( - os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" - ) as json_file: - props = get_json_ld_context() - props["@graph"] = [credential] - json.dump(props, json_file, indent=4, default=to_json_ld) - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py deleted file mode 100644 index 5c05a31..0000000 --- a/generator/wallet/wallet.py +++ /dev/null @@ -1,36 +0,0 @@ -from abc import ABC, abstractmethod - -from generator.common.json_ld import JsonLdObject - - -class WalletConnector(ABC): - """ - Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector - wraps API calls for different kind of wallets. - """ - - @abstractmethod - def store_credential(self, credential: JsonLdObject) -> None: - """ - Stores given CREDENTIAL in this wallet. - @param credential: credential to be stored in JSON-LD - @type JsonLdObject - @return: None - """ - pass - - @abstractmethod - def get_provider_cred_did(self, service_offering: str) -> str: - """Returns DID of provider of given service offering. - - Parameters - ---------- - service_offering : str - DID of service offering - - Returns - ------- - str - DID of service offering's provider - """ - return "" diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py deleted file mode 100644 index 489c619..0000000 --- a/generator/wallet/xfsc_wallet.py +++ /dev/null @@ -1,8 +0,0 @@ -from generator.wallet.wallet import WalletConnector - - -class XFSCWallet(WalletConnector): - """ - Abstraction XFSC wallet, called Organization Credential Manager. - See https://projects.eclipse.org/projects/technology.xfsc - """ diff --git a/requirements.txt b/requirements.txt index 91180a4..e140269 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,4 @@ PyYAML==6.* click==8.1.7 pyshacl==0.25.0 linkml==1.6.7 - +rdflib==7.0.0 diff --git a/sd/example.jsonld b/sd/example.jsonld deleted file mode 100644 index d52b7b4..0000000 --- a/sd/example.jsonld +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@context": { "@vocab": "http://schema.org/" }, - "@id": "http://example.org/ns#Bob", - "@type": "Person", - "givenName": "Robert", - "familyName": "Junior", - "birthDate": "1961-07-07", - "deathDate": "1968-09-10", - "address": { - "@id": "http://example.org/ns#BobsAddress", - "streetAddress": "1600 Amphitheatre Pkway", - "postalCode": 10404 - } -} diff --git a/sd/example.ttl b/sd/example.ttl deleted file mode 100644 index 879c5d8..0000000 --- a/sd/example.ttl +++ /dev/null @@ -1,40 +0,0 @@ -@prefix dash: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix sh: . -@prefix xsd: . -schema:PersonShape - a sh:NodeShape ; - sh:targetClass schema:Person ; - sh:property [ - sh:path schema:givenName ; - sh:datatype xsd:string ; - sh:name "given name" ; - ] ; - sh:property [ - sh:path schema:birthDate ; - sh:lessThan schema:deathDate ; - sh:maxCount 1 ; - ] ; - sh:property [ - sh:path schema:gender ; - sh:in ( "female" "male" ) ; - ] ; - sh:property [ - sh:path schema:address ; - sh:node schema:AddressShape ; - ] . -schema:AddressShape - a sh:NodeShape ; - sh:closed true ; - sh:property [ - sh:path schema:streetAddress ; - sh:datatype xsd:string ; - ] ; - sh:property [ - sh:path schema:postalCode ; - sh:or ( [ sh:datatype xsd:string ] [ sh:datatype xsd:integer ] ) ; - sh:minInclusive 10000 ; - sh:maxInclusive 99999 ; - ] . diff --git a/sd/gx_service_offering_example.jsonld b/sd/gx_service_offering_example.jsonld deleted file mode 100644 index d981645..0000000 --- a/sd/gx_service_offering_example.jsonld +++ /dev/null @@ -1,65 +0,0 @@ -{ - "@context": { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "gx": "https://https://registry.lab.gaia-x.eu//v1$/gx#", - "ex": "http://example.org/" - }, - "@id": "ex:Compute", - "@type": "gx:ServiceOffering", - "gx:providedBy": { - "@id": "did:example:123", - "@type": "gx:LegalParticipant", - "gx:legalAddress": { - "@type": "gx:legalAddress", - "gx:countrySubdivisionCode": { - "@value": "DE-BE", - "@type": "xsd:string" - } - }, - "gx:headquarterAddress": { - "@type": "gx:legalAddress", - "gx:countrySubdivisionCode": { - "@value": "DE-BE", - "@type": "xsd:string" - } - }, - "gx:legalRegistrationNumber": { - "@type": "gx:legalRegistrationNumber", - "gx:leiCode": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:vatID": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:EORI": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:EUID": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:taxID": { - "@value": "123", - "@type": "xsd:string" - } - } - }, - "gx:policy": "IaaS", - "gx:termsAndConditions": { - "@type": "gx:SOTermsAndConditions", - "gx:URL": { - "@value": "https://www.acme.com/compute/tac", - "@type": "xsd:string" - }, - "gx:hash": "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" - }, - "gx:dataAccountExport": { - "@type": "gx:dataAccountExport", - "gx:requestType": "API", - "gx:accessType": "digital", - "gx:formatType": "application/json" - } -} diff --git a/sd/gx_shapes_latest.ttl b/sd/gx_shapes_latest.ttl deleted file mode 100644 index ca350b2..0000000 --- a/sd/gx_shapes_latest.ttl +++ /dev/null @@ -1,191 +0,0 @@ -@prefix gx: . -@prefix rdfs: . -@prefix rdf: . -@prefix sh: . -@prefix xsd: . - -gx:ParticipantShape a sh:NodeShape ; - sh:targetClass gx:Participant, gx:LegalParticipant ; - sh:nodeKind sh:IRI . - -# TODO: simplify with https://github.com/zazuko/rdf-validate-shacl/issues/41#issuecomment-745803630 - -gx:LegalParticipantShape a sh:NodeShape ; - sh:targetClass gx:LegalParticipant ; - sh:property [ - sh:path gx:legalRegistrationNumber ; - sh:node gx:legalRegistrationNumberShape ; - sh:minCount 1 ; - ], [ - sh:path gx:parentOrganization ; - sh:node gx:LegalParticipantShape ; - ], [ - sh:path gx:subOrganization ; - sh:node gx:LegalParticipantShape ; - ], [ - sh:path gx:headquarterAddress ; - sh:minCount 1 ; - sh:node gx:PostalAddressShape ; - ], [ - sh:path gx:legalAddress ; - sh:minCount 1 ; - sh:node gx:PostalAddressShape ; - ] . - -gx:legalRegistrationNumberShape a sh:NodeShape ; - sh:targetClass gx:legalRegistrationNumber ; - sh:message "At least one of taxID, vatID, EUID, EORI or leiCode must be defined." ; - sh:property [ - sh:path gx:taxID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:EUID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:EORI ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:vatID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:leiCode ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:or ( - [ - sh:path gx:taxID ; - sh:minCount 1 ; - ] - [ - sh:path gx:EUID ; - sh:minCount 1 ; - ] - [ - sh:path gx:EORI ; - sh:minCount 1 ; - ] - [ - sh:path gx:vatID ; - sh:minCount 1 ; - ] - [ - sh:path gx:leiCode ; - sh:minCount 1 ; - ] - ) . - -gx:PostalAddressShape a sh:NodeShape ; - sh:targetClass gx:headquarterAddress, gx:legalAddress ; - sh:property [ - sh:path gx:countrySubdivisionCode ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:pattern "^[a-zA-Z]{2}-(?:[a-zA-Z]{1,3}|[0-9]{1,3})$" ; - sh:flags "i" ; - sh:message "an ISO 3166-2 format value is expected." ; - ] . - -gx:GaiaXTermsAndConditionsShape a sh:NodeShape ; - sh:targetClass gx:GaiaXTermsAndConditions; - sh:property [ - sh:path gx:termsAndConditions ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:hasValue '''The PARTICIPANT signing the Self-Description agrees as follows: -- to update its descriptions about any changes, be it technical, organizational, or legal - especially but not limited to contractual in regards to the indicated attributes present in the descriptions. - -The keypair used to sign Verifiable Credentials will be revoked where Gaia-X Association becomes aware of any inaccurate statements in regards to the claims which result in a non-compliance with the Trust Framework and policy rules defined in the Policy Rules and Labelling Document (PRLD).''' ; - ] . - -gx:DataAccountExportShape - a sh:NodeShape ; - sh:targetClass gx:dataAccountExport ; - sh:property [ sh:path gx:requestType ; - sh:datatype xsd:string ; - sh:name "Request type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ] ; - sh:property [ sh:path gx:accessType ; - sh:datatype xsd:string ; - sh:name "Access type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:description "type of data support: digital, physical." ; - sh:in ( "digital" "physical" ) ] ; - sh:property [ sh:path gx:formatType ; - sh:datatype xsd:string ; - sh:name "Format type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:pattern "^\\w+/[-+.\\w]+$" ; - sh:flags "i" ; - sh:message "type of Media Types (formerly known as MIME types) as defined by the IANA." ; ] . - -gx:SOTermsAndConditionsShape - a sh:NodeShape ; - sh:targetClass gx:SOTermsAndConditions ; - sh:property [ sh:path gx:URL ; - sh:name "URL" ; - sh:description "a resolvable link to document" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:hash ; - sh:name "hash" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:description "sha256 hash of the above document." ; - sh:datatype xsd:string ] . - -gx:ServiceOfferingShape - a sh:NodeShape ; - sh:targetClass gx:ServiceOffering ; - sh:property [ sh:path gx:providedBy ; - sh:name "provided by" ; - sh:description "a resolvable link to the participant self-description providing the service." ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:node gx:LegalParticipantShape ] ; # TODO add alternativePath to support all type of Participant - sh:property [ sh:path gx:aggregationOf ; - sh:name "aggregation of" ; - sh:description - "a resolvable link to the resources self-description related to the service and that can exist independently of it." ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dependsOn ; - sh:name "depends on" ; - sh:description - "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; - sh:datatype gx:ServiceOffering ] ; - sh:property [ sh:path gx:termsAndConditions ; - sh:name "terms & conditions" ; - sh:minCount 1 ; - sh:description - "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; - sh:node gx:SOTermsAndConditionsShape ] ; - sh:property [ sh:path gx:policy ; - sh:name "policy" ; - sh:minCount 1 ; - sh:description - "a list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …)." ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dataProtectionRegime ; - sh:name "data protection regime" ; - sh:description "a list of data protection regime" ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:message "Refer to https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/service_and_subclasses/#service-offering Personal Data Protection Regimes" ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dataAccountExport ; - sh:name "data account export" ; - sh:minCount 1 ; - sh:description "list of methods to export data from your user’s account out of the service" ; - sh:node gx:DataAccountExportShape ; ] . diff --git a/sd/validate.py b/sd/validate.py deleted file mode 100755 index f505be5..0000000 --- a/sd/validate.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python3 - -"""Script to validate self-description in JSON-LD format - against its schema is turtle format. - -(c) Roman Hros , 5/2023 -(c) Matej Feder , 5/2023 -SPDX-License-Identifier: EPL-2.0 -""" - -from pyshacl import validate -from argparse import ArgumentParser -import rdflib - -SHAPES_FILE_FORMAT = "turtle" -DATA_FILE_FORMAT = "json-ld" - - -def load_file(filepath, file_format=DATA_FILE_FORMAT): - """Load file in a given format""" - graph = rdflib.Graph() - graph.parse(filepath, format=file_format) - return graph - - -def validate_sd(sd, schema): - """Validate SD in jsonld format against given schema in turtle format""" - conforms, results_graph, results_text = validate( - load_file(sd), - shacl_graph=load_file(schema, file_format=SHAPES_FILE_FORMAT), - data_graph_format=DATA_FILE_FORMAT, - shacl_graph_format=SHAPES_FILE_FORMAT, - inference="rdfs", - debug=False, - serialize_report_graph=True, - ) - print(results_text) - - -parser = ArgumentParser(description="Simple SD validator for development purposes") -parser.add_argument( - "sd", - help=f"Filepath of SelfDescription to validate. Should have {DATA_FILE_FORMAT} format", -) -parser.add_argument( - "schema", - help=f"Filepath of shacl schema to be used for validation. Should have {SHAPES_FILE_FORMAT} format", -) - - -if __name__ == "__main__": - args = vars(parser.parse_args()) - validate_sd(**args) From 166b2bd9fc5b37ecab4c7ebf3ba8bf46f44f51e5 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Thu, 28 Sep 2023 13:39:32 +0200 Subject: [PATCH 033/175] Add concept to integrate scs gaia-x generator into Federation Services (#58) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add concept to integrate scs gaia-x generator into Federation Services Signed-off-by: Anja Strunk * Remove unneccessary files Signed-off-by: Anja Strunk * Fixed typos, added a few articles here and there Signed-off-by: Matthias Büchse * Made OCM and TSA introduction consistent (link the whole word, abbreviation in parentheses) Signed-off-by: Matthias Büchse * Add link to gaia-x integration to READMe.md Signed-off-by: Anja Strunk --------- Signed-off-by: Anja Strunk Signed-off-by: Matthias Büchse Co-authored-by: Matthias Büchse Signed-off-by: Anja Strunk --- README.md | 2 ++ doc/figures/architecure-xfsc.png | Bin 0 -> 36381 bytes doc/figures/figures.drawio | 31 ++++++++++++++++++++++++++++ doc/xfsc.md | 34 +++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 doc/figures/architecure-xfsc.png create mode 100644 doc/figures/figures.drawio create mode 100644 doc/xfsc.md diff --git a/README.md b/README.md index ba487e7..1b2be00 100644 --- a/README.md +++ b/README.md @@ -172,3 +172,5 @@ as well as an Airflow automation pipeline. TODO: Create cmd line tool that does signing and interacting with the compliance service, so we can set up CI testing. +From a Gaia-X perspective, SCS generator is still incomplete, as it does not generate W3C Verifiable Credentials. A concept on how to make generator Gaia-X compliant and integrate it into Gaia-x Tool box, can be found [here](doc/xfsc.md). + diff --git a/doc/figures/architecure-xfsc.png b/doc/figures/architecure-xfsc.png new file mode 100644 index 0000000000000000000000000000000000000000..9367138a57e2a5416648de2c64e74dbc807185a0 GIT binary patch literal 36381 zcmeFZ2UOI{)+Z{6(uim`2q;OqiGqM+5Kw4xjsg-TG#MJ2)JPDd!ImUZq9B+skdYje zoTDVk*+51KA~4nHx%ZrJ?mhG7y*Kl|@2y#@7yd(4{deu!wNw4J_q8+>DNfOyI(FI&aq?15yy@ZIY3T=CkrDhUf>@hcO6CKvD_|(&&Q5ID?Q{5J)E&N_D-l{Y=W}C zuGj>w*rDA$*aYR+1O()rP*xrovtF8#t_TS7ToK{n7t-SwV-u7S z6a{~Tg?L4UMT~y6x3ERI{2oXhecRs2$%0KlL74Xn7>d)7pPx+-39i)aT|BYiU#ysj zxropua3$mF>Vz^tS*qH55ZVih@(PL&x~MAYsjIOG$bxGpdq))bM-gS^h$eKg##ngs z+M_{p0e)UVUQzH!)((Sq28|T>`2~2d@Cu9Y3-bzG5dv@iIVlAJA>Lo~=vvrVVC?_& zIl_EV9u~I0=IV(x5O)`H($Ueh5V3Icvi1(AmSs74_?> zHOkB03Q!`zCMeH#MFzYh`~+pK?JaCE7S7<*e*9gn5oy{CVU*#&^alVk}(k)X~-`CoqIH_SYvwMZ|xN zY3=jtfsh#Z0^uXJm_I(l|IY`y_P2l2#t-N|YUXKgjdK6h_jf}NG}_6--u15!t)*g1h+KLH)RVR=~Xsv{@ zx3&A@%lv;#*xBNb#=mFcZf9YQ_WsrX=+S@A#y^;eL8HNVe_Fp^FaG?Ou!Ce#P6S^6 z!N=d<0dn;}-}fKf!2Dwu{XZE_)kEBs-%!lP(9J1Zg=jVKH@w1s+{zKe_a86i2(nAK`!xXq zf#3nS`4?RK{m32di2>X2sMWt@#_x6>78qO9Z`t{m?EuIAx|RPd1b@CJ2!tXEXdy5) zz-0`|32bbyzY=Qkdo$Snqa9&E{;voOX!Bd%{-?$AUry`y_W83cc%U&ydQ0HS|6XDE z|6oxC|NptDzh(MQi>fQD3j|Ej!rp?%kZ^%=K>>S%#{A;>pVs-WTiV;s-UFrUYH_rK zyn$W$>-PQC8yG_m)NeEM?>6G!3+u1#^B*?O?-2z>e(S$K?ADdv_ul`s0{nyl2s_B` zPZr>he*by)+K~$Ri{91K1&#rM@c+y!AT0DhUIDTH5({v&-T$%xnzHKu`4>Ro5Apt+ zE%0As0fc{RjDLC_7?g!IkbhSU+7+k~d*EUI$NliX)eZTl=Rt5p2oB7VSMqP%5ERzl z=SktD|;;$p3^^QTSh3MZtfel>g8Z|0}JcAP7zs{!Qp~^zJV) z>YwHB=!5%b6>fzGP1Zd zU75akjlz4idhkcp-cnJ`9^;@xQ_>9ubrKb|TLWC$(kC+_`f|W2PUPR4Fh){yTH4&B=GK6`{NrqrZ+^U7D_Ne; z7u|ccUOzbnVa4H@geo*uWZp?ZJP#A@)*Sk`)f@=wpG8d368Q)0Bj_W(w$;4Pmo-tG zUb#*dQ#L_Flw8V$BjU$t)<^sM6TfZ`lZHV)Z5orbuq`3Cc;J4X&a84CR3vu;nQ%c@ zg3-aCmF#Qs@W54)Z@b?a-IOJw{Z+%RZ#`1QHyqG_+>jI`*n+fH0lxP`UVn(1=#cEw z=GW`9I$O+p4`XY7JcRa2K_SGqp(pE3*H9q0zEkAzUM8-g>RBA}ZeUxM-r~7*Fzn3> zr`$7UK7Z^R^XX8=pL8KhUukce8j$?tc-)6MW^o*P7$G!aQ?pPgB@hM&PyD z13_NY*+TTC&#%#Bu<_$T%#TSem^-FMnXSzyd%n~mrX&E<{1r|5&R9>z&OGp6q(l_d zp14aSeYWn_@cTUNmYRT=0Z;jNcZh%d{Lx(&FV#}>>}g&No1Dkl|HH8V!?6D&VgI$a zB#d_NV6Fb_LX^bHmG0|@RlDE%H7O2lR)ifsT#;DH4;G)nv#4#ajCbDtnv+QL{rcfg zD<+>gn4rs;n4td;kIixK$>iF@gHfl7&(ELR_dj1qvWnv8NXKTq)On`T=IFW(!fG5?+4X z2Dxe`cP9O}-?}^XJeDyV()84Mq4B8W_*uzYxz$@n?!EG~)Jqkuv~+?t5uXQhQePUq zeYHCkd{(Xc_V>Om&-W*2limlDraG65G%=A+W|x%t1w3)6Rojg97lie#?z1w(XE;nv zB^-g8wu$75CvAFP)Bjvu@ZQCMGSi*Bnjc@DThxczY<7x@-Z|KPakI=d^JcMK%v;98 z!#3``;Yl{phW1{?i_Y?=ojZkxgur)_E!Gd0OD9uqyw)E%ME5AC z*)#ltHXZqgovV&Rxz2+|jyz!C$)u4Y+tEYY-i}>hH8nN1`#CcFETg2h4C^yo{2;7N z_nCM1wW*UovQL&u`yGEMbp2`q!)f&>h zoku;Z5xF9%1@eW&@}jsCElXdh6B zW=H<0&LClx`}y>>qpdoy&Tq6sHr{2AZcq5GzD+;5A#Kx{aw9XcW@m={>$1;&O43 z{Ws5_>&>IH>tlNH67RpaDEsVxA9BX_U;X+Qen(|EtW+Dr^CT)Tq~}b7zbq zlYRB+)?FIv5F4qjVJn+&pL+F&d2SXqys6&$IC#di(o0zC_BW*qMhTs1kCG6lSAfQN zd-wQs0gy1G%=^PnGQ^6r?*z==st;S>+-urD!@2yEO-`lVy!!Aukrd>KKeya?%^c-Y z_4b5U@7_Wx`XltU$wy_5N7hpG*cNzv^u?^}_b9mUQ@I?sqr-~;x5%zHl4pPDY3ea*lDO`}GYmU3JXTQP(G)3|!Tw{qG)IN;nyOw~?R~IV$(}=|L%cdS ztBPFJ6PD7Pk}EvFrko(B8U7hoVT)Esl?gA z(&N!AtFy)Z8iF7?(43*falvEH*AtO4+>#>wj4|x{u4+gb{=+uIe~>+UaWrXGm9N^m zng;T0PM}HeBZ92PsyRyJPUBlWB+i6Ek^`%+)Til!&0fnprnyZ|mE)XZJy7&M>`V9G)B8!Do=_n6=}wn&wjX!m zvVprm1%;65!yK&TuoBOe^2O&2BI%jHHaz>u2)~I%LdA>sR%<7txW(moQa7sG6ZuNv zW>`}@tV_}%SZLdp?Uqt)>0^2LcB@@rXNzVYqVLE^^6_R&G8ghSC0S2eYUyA63{k>= znt+f1X*q6ja`GfhaSx%Q^mrjh^8P4pGvDxeL4M6@%^qcyPrt^9p~|X_ZX*}1EbL_C z`5lYXn~UA0FLWP;3)GA_H7JH$Zrdu{hWI{X6_vd5A`PR`W)ah{`n@Nb^zKk_c}4Y& zSj`6C218R-4!LUwJ67%kHw-S2FburYdE4f67f*UGn(tLejGE>S1L6#ya+(pt_1Z#o z8pJO58L*f-ARv*D0ijuM%>`?7DupyDX7J_}RIwvWpcbp}j ziyn@o6rZ+P%0qhciri(jZkw+^&3N@g6%cgP7O_RMciuagZvDon(|XlLfFsG5{clm z0z?es99TOS<70teOt4mUCD&C%yi`3SuGQ|wk~jMlqQ#cZ4QQ+2SM5IUuO7RbnY9IEZIrSCM_;a$6Bgw?e_#A0pX}Gc9Ki{qmpI7$9px595(+w@ z>@ne%N9DldDxyT3BW7mcHZ`MQIwQ%qi?b=XNakA}t@og1oxNUyNUl(dVYVmh=Wb;1 zzCfq;R;Qd&?RH!s4xi!Sx%`IglT4EED=nt;sJ&RHDBHX8-001lfiE2Ou$DopN&Qpr zgPmutMn+$1ASGKdA!7mdEFWEm%eX7Omdv0b<4zTQY{E7;h;pVls{A-OJRjD0uS;^+o9(%Z_a zGx%T}f4x?_)Kp|M&c7)0snt&elp9``h)4}xZ~Bfp4;;(UOeh#w*%Hq^VkUB#cur z_y1H`-$P!5+$7Pypu{6aa>{;ks^d#-Otj+E*3gtDiNXewk?-U#9Cs4dCrezs?Nd*j z*kG5=@iX9EAkkLxT-}|PkjJmi(SKe4iOkLy^ogVsUXmV`2&UM{#=Jc|*c)}w##5qa zCAU5?4;^0@beoamb||!u2p4z!X! z9xN0!f1&FAN&4Z9npTMqFDMbYl6-Gqp1H7(q0+%;)7k4L@-<5+u3<~CB2)n(i)`iP z(44aP%}8MOMtxcAnyJ53@}Al9F@(Ul2GW3)-l9l!6m}deHoqM|^mBJHWBE?eJKIDv zm!}?)qRCZ0bDDH0(VJ>oA7l7*YsT!C&Zvc4m|&_{pho;O7eTT4IDTe)fK&SMfD3JZ z^Qm^phjyvli!02X5@*akSd%xm9@!FYqNt?J5Nol-MDI3(6at9CJ-29;U0Qu(@^4-o zn!0ULFJ(S_mP9+2;bc?R#j_-4C+O}5oe-Y){(P~ZKKxv|C)NcsZXUeImUWCs*2>Q$ zgZ6U!L!P39S`(Jj;f2)`-3Y5&9G>ar*w8g==*h;S3o>$1kX@E5bK>o1;npv4_@S>d z8f4)oy`&b!rFl;|i9IOyS{WOO&Q8DF5xZL?b_@2t=&COAYU>x)8jeJ|GkuG>T2}XG z7HRoAEMr$ULMiBJPTkPXD{`Gi_P=#B*y}^wxVh{^N+rL?-u*~Yw9cS9a`Do1s!+Oa zu3EW7XrgkLV7uV`pH~csq7yGmzHV`!EpG{DGb3JCn`>+Vo~8jjK*SwY{h4l2)ZqiC zah&{@vKDe!O|;L{TK+VTctNY5csZY|i`;}BW_F4vv*7XL+v=EE)hNg5XVUv-{@({e z=M)XrLqs2zeeu!7>nJQ~bx-<8r9r1pE*QFCTx!DTZdjC^qz{8}t)}n}Y4=6RCs-crUZb%%M)s9{PRbxF zY5KeG;tp? za{c%$BWy*xZ6;J^VxH>^!4w%Rx)&u$PVhZCkCqP?#`ts6yt@Wpn`YCJ@1)O?&m=1S zY*C{Y>}PiFdMyN1g~v`o3oM)=u!$abbkSCeVzgXu&B$>79wx~*Xi>33VW3K|TeAPQ z(mGzJY0Sq%{NDEqUsc0yzl&R>?~c=p3~(HHh05r3+0-ATkldabM)1k)^ewcX(hf|m zK{U3i2c}+>563ipU!^loS_+G>%RIPNyO{El4$Z4f)A+1;RFcDWOuah`CmMvaTT@^k z?^H=TepZQw56AD?uY&)nIL0kKc3AgDZvt9+T#&rz<6Fn(b)Q(TF1P)xesyMIZRW?_ zXxALP0WOOwcb-LQ#$nO~2jL5X(!QbM-tb!6NV>vphJQ*$Gxumc78iY^3W2roiK!=d zGP~NGBX5NFJJ?+uoDWl72JvDk`m=zr9&c+Z?pn0i7drUaDjA~lOsDEjaXC~)K24#h zJVhlU?Jg>XZYPtOQa`y;2iyUk`DbfwYoWoVsSTHBYQJ^L1VOM2o< zq4J}P$hjf&J2`7Sx1aA-e5if!mDcoS`Rh9{P7;vCB$w%}brj3Pm)M0T-3R527z8tiasOd88E zX3dRUY15mbe*axVQZ(|Zwj_PReNrz`sr3(>=5_UDH);9IOn60NuHAojFcZ$Vv?{)p zS9=il7OKo4ohG%v77DG^NY>uso(f>@IEf~O``{v?->4wD#bsJMjrHSQFRUoGRp~qp z97Dv~Um{X@#)c*$enke`QjCH%_gz=MkJlQy#c$mL{i@BP7j1G3X(^VdmH7B=SwQcJ z&NFlmAakPLqB0e#oH3D zeyTVB?3r#1UHOHob1W4>0T4FUZ_&2G7SXh(9x;(&Yn5!i@)&AXivo0}_yR%>E3Te( zmGAXPMhpGJg!ZyBzH-r>E{@xwT6|&mT=Q5B$UEjMEUt<4A#q|BGyx#C%YXa1$iCq! zm1-xwor=ZGiA-_fj+s34WX*`lt1p|5N|vfM zmv@k3=-T}^*>ZN!2VJAED)ewt=-L!{B%j8s{k5rC3i5JNA2uV=BU%*R!WnSprU?mc>Z!sK=MGtK`;et4Qg4c(9 z+?t7ew>Fq6Iv_a<HP2KEnXEmcNz|JSHdaKS; zx9UgZ8f!vqlER_WdkGGHLUo^8?PrZWTs-dw9}z{GCzIC&n$$SJ^_hGcS-# z-;SX{=qXL-D2NQatZJH)L4H3M8;8yBG5qG%Pnjj3-0Ejk2$f-lKOANb|M7ET!Arnv zzfl`+%_7Yp2$%BG)1;pe50^q!P90esOlG@*vUr1-Wy36WkvAN$$|R3-<6jW7tHf>t-3<;mG;-Qjc4Dr#gkm6}C&Rj`ITf z61|CE8w_b9la#($RdMBti~d1ZJ;e~?w6q%~q8tJ(+x!05+xNuNw%PYy!}l%@fkmxi zTZtswyTZ&{6)BJ{S><}TDblq!KUj!TO=Vbg?lP`3rmkU#OQo8`h5N{>h-|;eXm0o( z-lh4xq6Bg-T>AXA+A8JeWvUxYLQ$~E*Jf_9m*vu;GwbN?cu(%8b<+iE8JS_9Q6j3e zSS8y>ZMxFzLzMZq@hx-I${b2{x6H4vd^ZV!Slv=@q9Lkcecng29qRaI05WN{oWv!U z!T`-W&zW7n|3#fv8po`#7QxI_?MQxof$6EEf)Tz9_t?aH5Jl8XPmNYqpo!DV$$InL zy?frF#Ts6>t7l#YqNL@l*haR;r4?b^xi^He4qwIc!@YrL?bVS;M93GOM;! z0@Q+!Uggl2zB~l0y%X@FkDcd_$s6e7StnVXR^L@n@ux8$B1uX3$Rf%)bV6KXD5Wjv z&Ac{|S9y8*kPXXUrIV-zUbv>B99W;Nzi$XpC5BN`*sVB2lvNrQZ2MiO%R5htUrT^a zAC6?;NU7_BZ%;)e(hpXSSO7t|s3VDJn6lwk`gy7oBeI}=V*3R85|n*K^+cisTGXWR zbr?=be&7mJu&Q(R;Bj;i72;*h*jOURL{u2%$Fh6jG0e%Gi|_VMFqHCDIPHECgFys> z@bYIQ*nY7n@M{Dx{Rf zcX-K|Gb)4z5fN@Ff*rW^10-WO+IBW{VrEW`2o1i{`}~y7hQSD|uv@yM-x@~C9zTu| z6kd!}irSqcTJXAzdH|()NG%-CAC`ovZ8%YAsLmlb+!K20^irGh3D&y6GK))#3r1-; ze5yO|-G&F&-#xbG)oEw$kwzI@eoBeJ@~v6sub$qP!^|#|l0C#4xo-AxQ6g3j)Na`G z^jDj;MIbaQfRYI=+0<8a}>vH~R}tvMq&8qCWPYfz^Mk zqt7)@77v{sQzD0*4&y4%+{PhSiT z1kOgtw5qh#xga%y8EACxeC{eot@UbXbcZoqDJ&#kRF4Z@H(}Set!A*rL=*;{XRZvNPraKLsk zUMV@uOLOrVA?3Dg#xmCJW*0+?D6`g1ieH~+ulwrScIkzo=6%OG8!dg$rQw3DS|z4t z*_bic1h_R;si3SOrD2l zrq2u*6CG164wFQH=zv=IQ@Hi*p|JoqzwGiCakUYuyVB(K$mj8XA4(x4$prHtY1}Qf zZDMTWJ@qaKJlvp{=t@5lOX z%ODH#yXpqkM@CIah%e{9*E&t^^!crPxB-6Os?0naqbxBOE$bA;X&L%fRz9)?GWepZ zft59l_>?vpFzh@uD6r1D9!?k6v?(o2A$Ouuzkf$GwTTVQ`>C32%`4v^xSh&ErbWG8 z7WhUm)N}Oxmbqj1;$0{rc1hM<|7auNU);4m9w|? z4|%arnFt}-Ix#IVyv&EBJLVf4^Y#6Hvp>!t2ay-PUG#a2>B-t%Uzzk(ThY^tjYzzh zY(BjRxjdJHtNWVQ@$KZ%kc2NvAkB1Bp>ld*K1f07OghcXfgR3ZeQlPgsZO~32CLjK zCz7@gPv-kzv`v= zEGAFRkeV!J%-63M?zBTJ!|Ll8YDnG3dmDX!bt1 z&tZYu;=SeV0!oC1phjAgaWdc4JmyQq2CNz)Ywo!T1$h~>T=Q>X41V@Lsv$aMfqcT2 z;V;W(=qCF1Rx0zx$isA^YUBNjm~rZeiJ9!9;hW3sFJWa?>mit|t-)UN2YJ96b^nSiz!s`BHr*sko-HkV0bf#Tz!0J?I zrm;3nfW-UYW(e)WBx@vbus;6rxl&Pd5m`bs^wODqq+~|8U|-vJW%eaYEL zK#f%nB_fdE-;$UN7pomqgg%lnhrit-7CLyroE|*D8NlDhPI+X6aB3@a*b@~#cMz&HCJ@wp<+urKjRazt* zl05BKi-X*~P>|$euwv58ur)iovCF3R@Rd9(!|bkWq^ogVCFCWWp8)41U&xQ#@Nob7 z1M!G2J8W`U4kOW>s%Pt>FI;Y(ZmT&YvVzNQAjlmkVaiG!A2?~%Lxc=6`F62fD=`ep zU374BhI`E+T*%fN2A|?ev-RBR#W7FI7g8LZOeCo-hPC2MShxPYNP766!#_D(Ne?xR6iB;ZDm{nQ;JLPjuEuaW@m*{a=FWU=ii1Z z43%`KZS8m0Ku*#KE~SKXu0IUySmeFsrm3tnF<5xs_PypXWjaln?(xY=Y*x!jMBoW= zwBF5ZDzCec_p`_y+B+{!3;S}EDNLV~BMKK%iPPPu=#_;*4<2M)#3{xu&ZPL(`+XlU z7$vzCCJ~L(oVl_m07ve`;rtuwz=54}<7o?fJ+3UD*AM}(HhbOiX#NU;uX;k3%}z9J zxH5RaT9T`CY{E-BLe4eS={Di;pm!nV_1;;ks8msO`gs5S@~y8!d>7;7R?@`$17Iwy zFWfV<$>MMpa+kO1(px!8#70EJw#fI=Smo+m-s2<8&(`733v>!uPaeL@*Lto(gA9yq zPq43g`D{!q97{r!>QE7y{dkNO#d6=*+qbKSgRSKfPpd|MLzVCA5^b*(`8|-|v)$CS zGYNjhx1q_Nn2@^#FRC4%Shj0}OhZwb1`mIF@dLEdQX2NrO&r*QQSaKrY%fuA1l8L143z%oxs z($8GGTBczqs=ZlwIOOulTFbu!Hub+9l}~c3h`d4OpJgpP-?@ICHIep31RJ>zof%WZ z@f^*JYYPC3@Yd{1l=6f%6(4!sUH?b1vMmr(S!fw!(WC5aCA^U1V8?AtpRx2?W%?<_OOKzwo%eY&mAk-|k#8@w-AtQ42dDJmGF{&;K-uZkqr{y?wy$e7 zJdO*V8b99|9+Twp3i-_8@|JjF(*eKJtNW#QPgHMWvE5dp=37D=gZbX%XqrP@I;$u~ zc$hP82TRK&zri~JtK!2cK67v}4<&#Yia|Cc0!qNrEHPcB7A7Ixg*!=q#lTWT(JtFl z7PSm=v^ewWLqm)}w8JW-%9MvQRFt>wQlEI{69)j6-6F?so-2V6>R zi{j-pLcobE2FS@$KfwJh(Y(R_1WfjWB+fWjiGFKUPPlSku|NPwlB2h4nimP&^;x$EL7Nh3}?UO+=o_t-Z11)FaLHnWf zE=qIyVhGvvLFo2+DjZCqDM^4=2_gUO)y8uUbv4eQL?Ay2>Q zMdl08hJ`AUbStqljdX~AY5ufH?@ZqQZ-mnG#_QoHcYCtuVoP7H;Pj9UdtMnNOLJ9` z9^QJ-L%g}*Ga~L!!p<>0a59!hk`zdHks)UR3PEJ9h*dOph%B*90q+N(6(t|3BOO_k zVp9`GR%;JkxY4MYm}QeEeraG&l;pmmQy8syPdJiXb3PXi`x4Ik(dME5VG-XREV?5S z`}oZ=TcSy9?+)4+XNbbuOQL6>k_^XE-^)K_rG z_%Env|Cq>SKx^U}G`<(CQ|OfbFt;GzW|HESl#gtY*aTZm5p42Z(D8QDyIQOpOb{Oo zQyj>nf;b3M6aT%@SC$E)Jlz^8@D2}0_xZ^q8+KJ%lcNTyv{5F6zdU%epTD zR8;4R)r>QbQE|QxAM0RTaNO9iEKdEDa+B>L)QFv__rTglRKh=?X!hLT6YI%*BVM}M zhtT_>jI!6sr698Cx>FngUE3&&;&>&hO_Lb1Gh&?qTpA2z zk81U$03b~kVxWPMoYV~GB=yU{cX(%e%-=~ z&D+q2jVB+>bx!RY=HCjUwqJS`#VIpY>^Ri5f{nDjcQBGjB7=O(y`Y5RrK^1N;DTV2 zegnoggMidp8AqO{Pvwf0%(%SJ$F{m?H>kvvyXel^nUWO0MDM(J(%*{`AycZQ*7SnZ zqL_kb?|CU-rULeyneVc2{oQ0gvIfX5%xR;UI4z&E`N}}T8mAUhVm@nZ?K)+?^y*l7 z(dWKrs>%5;{6Zl6GePGCK%Vv%GY#a0Wm?1ob*i}Sl@?aH>^aZ*1cQ&`!y}Lwx1v3t z!-M_hmCxULfiqGmC~1lFS09!S*qCb_92K~8;OBd$Tm%B8n~AK}Qi!BONh!}oxt_Lg zihva?I45J}_TrMqm%ikAdLV&fARAR$^Ztf(D&xYL1f8ISwRW1n4ToAkH-gSA0731 z1i>W+rgu-jH5Fk={C%1XkcI%+Ey@9qh6^}u57PFUOu^)nmx*s%F~#{xcP}QLzxud8 z9!i#NF(Yyr0G^!PMnpeu4J>7;1CTekBoV6A0YIEfZ2sSKL|ypHNsFWJ-_I28RHE!z z6pghR*hUw3(xr?j<8e)Ty-e9PpR6bCsCt&eAEu>b`eBlNoF&J*Xso(>HptI+eXE$Q#_9D53> zfi@h((`=6y-LcMzoh_(IC(h63YXRP62SDdL?*m|w`1Gmq_l4+BYR`$n11FN2=a_mn z#o0s8d=g@lBX&qCqX1s7ow3PQWQo6UC79Ww!B(UQQD<&E0K=&$oBMx_G*(+7;<2{0 zv{M(11&IB~r#HXv(>oW1+5jQV>z=rK#oSvxotm8@e*3@bQHW9@vkI%$_GEL0Q+C5wESC8g!x+j_*v z`_fplPrD3eqbNblh$y|v)h0d=XAq$F?g)U;*C<1J=P%J;jkAA;cr3aAR{fh_)cwrk zSJla40_oUY>idGPe56VAf8uQ3$@>vZI>G;mx^xjY8xdKIPM^W#?O7TiT;$0~=Z*R! zSb-^KvDf!MR2Y4enGB4Oof`FW(3fzHBSvbF)Tsh7T>HqI8q;1gqSePA079l+E8>ZvC1K>UfG@1Gxzw#NCec3`1ZAXLtY~hCR?4Mu~F;c z0Ad1a8OGB<2}BZAZV%(-z0fXex_ro|NFT83QW;j3p8_>>k*tqH?~mqxV~!|kL`~X_ z8We?#fJuW(uoG02r9mk9ZJ>0btPuzolAS$tP>4lYI%85P<;G-fuZW|a4e(Xzbme^? z|Hz6vVkA}28YK|Js*-k_xk9u^yhnsN0egvf{dGYOU@y~LLso8$hWS}7Jpap8%4H5Y;;R}I z-0UR!IY!iR$xV(aD>77hHyuk5P#(Z$#rAX;5%5ocu0`sAL(}=3WA!#~AyEeA9x$O- z{0ac&Rs7n9nvc-3f8rnQUVp=prFIIL!JtHh12q5b@u9Fz12Z2s=xi@DI1m88I1Bd8m z#MbU?gf;Bu_KY2U+Z(XET(JKF;d@YH;+Iu$@OI0qr-AVHu?|>Kt`JR*qv5L{Pd7qa zxGD2|rHep`5;O=2Ho>KH%BG5hDIqi-BhdIN1WdH%IR}CKYf!L7h+gqtBHU=RYQ>1k znZ;BEZfiXZ0)Z=tZ3MnYfw>DQTIgueF)Hfi|S7c&A?cQu%42~^3HK5sgr>OGtp zPRU?w$9gnjF=F6}*4PiexmoV!382@K0L!}YA|pV6BhB@$4*+?$F#=Tjc>pFEde^CZ z{D^WG2&)n#O)0Gu!6+fZFGA81NOZhIWYo#(l|h~h0d)P4&)fxoorT@| z)kQ}#F5das%hb(JPIDPDS0%*xYXSSH01vAvgop{Z5Z0g&a@rK<((%ElP5?x><@h1n zLcWE7!j&gm2Ecnx7Nt3AvZwaKN4)_Wk}O6#NhbJ+kSUm}#f`4xv66M_A|nl9(Wv%^ z7v%1jipvOqLIhcCVhTY9z>gJtu~!QIOTuE0F~RCy_q|OKb~J(&dVJOi=2RYlvK9mA zwNgAm1PD@ant+Ul5*Wrz>;oJ2=vU8y?1GT@be5d@Q447j3}9<4IS(WEuVI<w$H0CMmqr*4r%FnYi9m=L@mq(1Ld4wHyjl@FrSQ=g z!3OvP>v}YK>ATX)AK&Ic2z3fF@!9u}I^v~yfs|u1pIQByFC_^m!{g>gf&vHbzazf- z`ye156dwEy@!7gBqNw5Ke(NEB^SNP9Mp)gMrGHQKyOL2CNBNe!C&>SX<65OIrrgMd z?hN$5Qy@VkLASquxd{_MPe}gF#6IMiPliR8yD!qo-Ty;o=8!;N(HdRVKU!{Pna480 zC&A||e^uvbQQjGV&(zEeG=j~ar7#7MQ^Ft+=h-a|k4LhX!(%R1%0e{lW4PGsCe*L^C8l&&ksyf&bmtaf)H)n+)~!lo(Wg3bC& zqYcn8f}N?NqWeF-3p#%+zU2KAs5h4%+pFjY<^%+7fq|)Kg3tE2cc=JbTHKAO77!IX zp1Jdn?>;kK#pUUkto_x~<1};xh6F^o>VCc*!R~DO+=T^Qx)UdM$vY zf1G@Tow+YkWq0s%cL5Z$2``V9mZEoxl=U-&>|?3LNf|w&87KLh8LU8o9*SV{x^7VNxe4^1Od(WM5HSBDmmP;p zy@h#ZU?a2ig{1ijmw zrX#;CiC|HTDmEh@TC-V`kURwva&klnoQU6!>)!K;w|q4_bxyVWTU!~IKZ<^|W7*pV zApX%)&j)jiQ-R{>x@~1rFS`LM7*jwMkP$lC5yJjM#%T&J26ETSd1NRgMCkU^ ze4=@mGQP|aex-^+8&`U=`!xEyJx-r+v~E*}BU=E|)nL#NGx+{xV7az-Z$*N;ugZC* z;r?^y(GvZ4Qz4JV;dMx+lM|uX>DxG2*vbu%5~mjl;ozbLqM~X(aw-NCr1m=jSpo1w zxeIr;MMxlKa7mR1Qd>#;)Mi)YNX@c3MMmFrtefy9zrE)4OX2@IQasY1_7E{Rvg>&3 z^n^kZO?o7#!0ZdX$yN#~BD%*wL77cQ6902hvpFBojmVJS2ZgSVcMO0pvI(?=G5jtw zJkc7Q_FrDS;YN!vm<2_Y-O6}q)HiTEkw8yQ9w13SS3gCRRURTWE#IYDcR2fY>MB;4 z(?4|#s*Wd679GxdJTtJIMWR3AI;(*t*fj_FC6CLrar^xBE~2<3Cplvnr7Uj`u;cmGI1zP;yq|i@+nfa3OX_ErbVmg4|^l@lakOp|s_aD{>C( z@FMD$u~ZYLikCkrOLoiSp<8l0x)_#kOW+8hB-2a}^4iYg0WIW#e8n2uhGaJLTS5^= z)mb1GIR9x=6&HxmE9V%(Wx3=CxM4eh<=HipY(%crB^O zs>gE-8C86_R0Kz#83`DTuvSx-2N6y_3CL{cX3^}DvM5Aw4i&WLxZXXEKCZm{vWlDc zeQLNEyly7JOn(FU(BveB4g*7&gi8sp>0s#x-eot;=PV?2u^>4qTjyCl;@+gE z^(;%WW5pq*8>eFQTECb)aJ+(EXswenC<&oNM7)m-VTk4_8O}P*LBcZAmMSPaz%O~R zwHbq;Zpbza&6XMa9h=0n0d`9KlbvOhMY*gw-kG1bMx=3C!r|45Q11B7WuPD}FH%;Z z;HuY%5)zd{%_=-z<~)?Q>JCp9wEgG~lg!l~58HUR8^4N*SruWMyN$n4#S83DO{ay$ zn`D|TPy`oN4m9jiQ^*8szy>=+zP{-F1Y`W}_fs%KICib0tmzv2TqHENDeKWg?oqW_ zPkJr^{iY=&`FY=D7KuV%`lalJM$dfG)*taE3Lew*8~QDXr;&ZtI43xl@|3}^0FV%N z9%+=DFd!MOL7)b6d_^zn#WbN(nEqS<@Qp(K0VuI-{-N>Gs{Li9k?3ei=*C&YrvbqC z5Gf|-Bcq>+dEyGZ?$Mtx+{r_Qr_5py15E0%*n2%s6wh*N@z(wXcjnsed-&*~_vy4) zT}U4C8x+}Kd@v_}`|1P8{uEgzhK3&K00`X5Ob=?M(Gj#!(nUXqEP}G*ObXDD8+8Q7 zpXv4|_}69lxk&!t;e>d|`lAOz2J0xuL=7*UJ7Vfeb6}zQXnH$_~ zt+6Cs^gBVvNsaj5WqnM&mF^O%fp?Xhwn(clQ+}*Cc10f-SqkttVo{AEOvJboOsA`e z^uiH784lVL{yJ$;nIw3VQdDz)@H^x={_8Y{tvs|P)RBp46b%<=j=AAVgMX%g<17AK ziVg6(Qw1SfmbFk48dP$%?+a+I{H~d#w37q=7|Pp|gdA~>=;g1_Jvs#>B3F*`Qg|^U z4mm@m*_=yW?nqYghBw2rT6caKmiGvdf4S^yCv@aG6MXy=im%9jWd!~j1zCf4G9^(> zN29NUjX-HW>bL;9@e@)wg#0mK2&e#P1{X{UJ<2?k6UuQDlA;J%B@p=#5;cV4(O;kb z$6pi(CO(A{%r{67gdcl`UF=Ayzn3&*`i=e=Q%*p8wmkWB;sPmFLiJ1^ljfe^-t2V6Bi8d(F3 zyy6|Wz(;uHLm-+eP2<-t$p>o5g9XHT;5SD|6Y@D-RX(y{Q-=h%L;nxDK_qB4>~Rzp z;t8Dp9lNzbnPv8Y?JXtyN~m7!c;=D&D=0cm*1|$5`^2%0zy~b|ATH!_wj<#~(td>L z3~i;96I$vKV$5f2pRJEXRtm6ic#@d-Xyfhz*Rb`!_4eieP`BZ~Oryp=$S%eZD%scU zj3q^s>{-jclr3And;qWh*|BmAt9y-&}I&b&p zKPr>ah1;d7u*pD$TM1k3hjXDz9NL9Oz~MuoVF7fXn}47>YIGBM zVE=aj32;|G_XC2E+SD9H-Cg|jr3=C%u7mW(Y-$yr_KxyLDB`-P7>RE|ROo14~fTGt7$gBTK9`#!DK4#|M1uUQ)@r!8V$ocgb>BC?lPRQ6bG>{*|-7sgfq~4Bt_bSc3KE!jDYaDvc z7F6id#?5Eb51Wfkb(bBUr%|M~0-F`kJUxzKzvqb4a@o z1EZnIkmyxhPhjR31;-0Jk(rxv=T3iaPt;J-rrigx2{>tFhW*9n4Nye!AKxb?8rC{b z_z@Mp)!M6vmB1yCAMxF5`2`JMDQ@aea;z&Xxi69w*E)7Z%OsJ+rHV#r!xdc>cprvb zU{eOCN9}9NknPzyKp@0sLhphzh%wQq==@O@|AMobb`+H3X@Hds%GbD$$S}mQP-C(l zA`^;m7t%s2ZOH-@dc^o97*MB1oN%-Am%H9c2%?)tRRFRCB$`RSy* z1wBI+uon{z(Cuu-?B>l>|N2^-Eufc`abt7n4VT}bZGm34j9N>{>i(dr!NPnP{Xk@Y zb`CMsf*7+4L66R{iP?mm>@7ByLxJnjb2}mrhr;s?Y0OSk9tp)mE_gO1nyPV&(YE3yvvsOd9w`iHX^NP(`954-emcp|bxGgYMACPz-ps z0NQH1DN~}yM@<@xBAA!V0igTrCu=DLsBwxLM5TB}V*y~%SO?_9)j91@_+Y6}2+$z^ zt@iVhDO6YPl^}19u^Z*MT#GTlgs1f(xqs;LO}!E}`R@(uOUimaoGnm8NS&6IQgDI4Be3~=rY;wy>%9V=X@Wj zS^}9|kbD=yfO{UrSoF;ipxilFuRDwDHRD+_VS$?UEz@TV@5E+^*+wi3R}~{nS{E$% z?y_e}fWx>VQsli~aN^)zs3HuJ6o^qEw_7yJ1AiZwMXy4k0h%qSnu_Mkf?g#PaY;hp zolU`y6ODf!U!E$TIP#uNWg9;_BE_sniq?~+Mh-xkT5e$g0vCqD!{La#OaiBDPXdq1 zxUfZaNmmu3fs~DR1y3$!9^o0V9m{Z&wFy$0ebgb9nV`PvF+YpSH{3xP?TMTgs}%qejfk;GGmtpQpVTCB$^Y}A z)Z$ah2Pg=NwcX>glA-q0fjLiXHQ*?K&$F0dfI5x+Cx82cu8EP=b>d~C{IB^3%e??d zTh!_MRAY!lRanAlIC=jCHD&l842Z#aY~kic z9E=*}#_7InH&Fvac}-B2x%L2^T+=SBw|=iu`_HK;ebbQ&g@C~$WQW96UtlXHRl;F; zZi!1l9E-MoLhUrM@%7`oxp1VZ-_^E3syxTuoPGB+829KWSNCJyKp0}a4PP1pcMvQH zllt%pRnm>eh~BgSmJ%7XCXlT->2L%Mtr-t|XX*R#VnOJiy=IsrIFu&RUr2rUssl^B zC<>Owr(<=&E0eFQ;}NDRP)%QX`|_(7AAB`&5@_z=6}5fL9|70{HK7P*&8&0A!%<#C zreSp3aq@xB?3fgvclbCL)0yx|ay6n``RjvraCa$3!)4ruGeG*xzRAw69PFR&xFCjP z&_XTLfG?$1A_K#`x3zs zL7i0T;L&-7J<@+8H+U`flF*H*-*dT{ts4U2CU(o={KDQ|DX zHA6jdKzF3!AyTyTs=pDOKKnA2&2DL?{FJG!m1FJvMi*;3Wa~5+2L6 zYf!f(T3vH8?Tm;x!X?NHkAi*dU#;76c(iF&rVXmS7Q& zKJo#|pDPx}PUzC6R>0oGjDYnyGtomk`9{#^%pL|?KT(Y>B!4^0Oayx`^2XVbva)v( zCoXr9WSwi@{GsN&YAg!j{J&dH+zNWQ#?#YVApgapB&T=|^anEEBg;#`Cc?z&W^Tx@ zw^A-2I?C^Kf*iOTDm{nfTv$Sez*7!J(#?LZ=bo!a!>X2~-;!y)+L5VCh!tNQum}Bt zhWkX^hQqXlYWMG3#C8TC3-pRxye(mjOmVHm10H`X@cuM9_rfHAQ( z$1v)0^sf{mS_6aadFZODKk?V)Dl#cjL7vDpt8%%m7cI!zHqs;ig-a4D(n@fIWN(j@ z%TNlcM*Q}=U5ZN`kV-Tv!qxIXFU{|Ap+68f?jncO!$OWxyqg%pJp~7{O)0n7NmYK{ zYSWFUkTW+Y4)f%RhZ4}Szh+`agV(zqW;<`E(_Xm(C$&~k&f=7`b%EwDdF)K|Oo;m6 z3K#D;tkk%SeLD@p(hiHmfNZ8u07vY;byEt_(M6k#0p>9VN6Q4Du7BBD>HilPPegtK6wLn<>#2c+oQQ58^A>GOfHd zd7%F4Vngd{*Cm5u0RpZ0mmf?OI+2L+C2u^n}X-614PQ+i;iQPyO0&Q z_50ROD9)`#q^Nrt)FYJNW~xorM$fwpJ$uB=M=Yz`HrS@}d<(PD;~*`^Ws$~>e_G|w zDgC&`d=X=%C_tJpQb+S%N2uc%?!b<@m8&_|xy{%`n+}~Op$FwSvM_`c$mrA4p*Qit3)ow!)oaYHG7d`-yD4|ZgT4dE2c)RW}wKvPA zzW^3BW8F7@vuzjbvAW^$T9@r0<}jlm3A&>G`7ZV~QmpUE2;K*;{SIPvm^ zJBA5GmMtLLfG0_`q9Vf5^-0+C6r!yZITD9FX_o1F@mUj<&UG-W&GcD{&~Rr$nXAG}Jf7uxiZ?Bo z&gwqW)%8RUJU+)$pCOP-Y+&TTQ-42O&3pB&I&qi1xgYWRN}Vs z4V;2F+mq8y<&e(qBfZISZ|8D6Rs|)pnKQHCbNgZQ*{I9zYZ9iauK<&Yy;^+M+ZmV9-vjh3sW_FLmmtL({cuF<5~nJioyW^9cr%}1TMLoV6})866c z_}lNQgCImWqHyYCFR z!|Y85jZhc%f!$ZIL~ZGre%i0V$yvf@cv5V*K5Ai@?w_4Gl_Hm;*TQtQjoF0lsdn=s zgDtC{;>ov(%Kr7e+20YsX6}xZ^FOWJT241dRK@$*)|m0*i}*YYll{c4Lp;HK=`>n{ zI0K1UQp&5Q01P(cs7a~UIQ>)XlU@WgbOwN84E!{b#IF|`y9FQR-83n>D_UM<0#b5Q-!`B`WG zFR?bb!|~55$7?%^hq;m9YROS*!+8n2=5vK3^+N$qo- zSZZ3){4GJB`+yZ=&5Cvyw!IZpSFiCLuctQ|!{dL_DsM9i|5KOl+QXM(`EnqZYVGWb znEx5fXG)tXy=HmO?q0diG(mOXt@1_8cXD}rH4K5;Q74-#8}e^fNQmAM{?-G2 zcbQDHK9^cXG)#@bgiu(t{avl|_zeOg)VWT){&t&m_OJGnG?7!Q<|V`3pplZAE5k3DCDkOUyUe#Aa}**ZKFR(nwI_qWsf|% zJ8@yUM*rTa=!S3vI-jG(#hE^QF`5`m#8|O1w!fu)ogEo-KuvSon!pshA`&~En5f6J z5WgZ$q-mxipZXCvnHffTG=6CL?kKDJ5iJ5%-mM1_UGS|bS80$l| z>sAMHqGTxt{dxTt^-Y=VBDko=hwCZ)Bo5VFb-31*pVPeykO*D&{JAYGH>(WEhq`xW zeU+-b!*POTO%!8`XN`&qz9Vv}(~T@68GB!4^Z5O__~Fp6QbTTS#TvhI zni0<+;}QP2{R=5Y=6HEUE)DOszx}Qo((ekC?LkYphVLu8q_7Spl$n}@-_l@18N-j8 z{DgdusphWat5RvdkEL7%JzX|9pp}ZT4qSw<5O9c0QXbVm1xer$uUNp^OzS}}aPf7j zvyAvB;kaodY`%EMt#%}_SWfFT%FAgVpU*RbrbJiM>NjM%nX_SE&5YjXpH8^-Mvymc z{Umce(_mMsI);Dn0)zWvX-(3R1A3-#B02a@ggtd40X|csz_nD5=x{pWGWppUQqvzM zxy6#oE)oOZ(yNC0Pt++$OLq&Q(26>Wtzj@5C;>PXtT=tIRcD;d*De9GvG}PsU9TXK zTWL65_wQUekAMeN6dzvw9m3JRTZC_Io`9on#0M}ko;@(&dCx!n=x$xC|=4|2c^f7{Ju9npf}x! zJ`QS<$0bi69MHsxphJEw2reF(a)cdjh!6ZJ$DCpeyb87|4dQtWg)Yq}si^HI`}F0OUh|W%Mh6laqLieDz=;Rhdjd zJI@YVoD&lrSM^+>SC9uewchvf#sf;5opc^RCOSYjB@5R14^B=5f~F&Tb9qG23k9^~ zz7_t^!&z_w97g)e2Dlc4!FYb@(2e^%8><%wLfTH{_P$0$p!Kf(1&N68G5%u}!UK{R z;Lh3DEiN#J*D|SwC9sJ%i>z)FKnr}yht6qNI&^nIRb zC>log4#0xKBYFLsrFS!>Un?Cj)U=gtEEcyi1#;M^s1Xs}++FXUV=-Zh z%raAF_I~Gv?l~W%=XPUy@(Qf#FO-@~TZEBu-u%uu!zslYPjwA z{*?Q$R6Uu1D3QwSn!E4ffHaWdVj9sj;z0j(Q)__vSyd@8N8{y!6gi3aHDa=0O$C`ymSoftun z(c5p<3WX71lJUbfWTWYNiS6C%~JQ z?0Z5vrcX;zAB-AgpMH_m78c_#ihn1o0t?t3 z$9%#KCHJuzIUD9vgfz7g(fY|8W3OoKB+46->6ep)LH{(xTM)|fsf6X_-o~ms+Wb6= z4%g{sb1APsOd-FYyuX^KAYzW-w+o7Jo+gGB<1Kb6r<6J%M-RxhpQq~xU@Cj@^?3iQ z&_4~)Uf8JRNbGJqG4O)9~VxnsICc{&}!^C89*o_*eo{R`Sa0aDef%figcK zbwU(Q$~ayqa_I$IgXQ4sfZ=Bf7TQRhHHAXZ`^dt&ONc<^5$>py*((fwgsoI_GnC`q zYtdszvnlvJ;mr+8g3~gRGg}~Sx-<+(@97h}*s!9k^?mbzIoMj)txGa+$p~ig+#aWu z9qmJ2yWy;acRPQ&xj_*>WGef|UMQ$rS!(HIGdJJgyQW9(x^RJO|E{lk&KA*VvYRkg ze(Yq-yY&tFBG*4m^am9jOg;>5U4`Zsp$ zs0aHi9nS@ks26li+TxE}@Ye)IVIGAe>LjKC1xQ_GClo~h#wsR~dSz8+Z&JR)kJ3NI z`0a17`tMdibW)fs{~};Q@gbGFc_9$=Ny_OJs@VJn%>RX5XIoNR|q zfADG4*obrJ?rKbFIYA<5O)Jj-lxgeq$@}@~BSFOVl`LE!G#F1M)X{2$3|4MYMMZx% zClc4%g$@;4I&dforNTzsG8EuXYt-B?264#Vk2=QwRU|R+^?|`45@eKg!qL9Hh)%(cOb02-GG3*KGo`A;Z!?6`xR)6W1lom@ivG1TL^V403EY) z{mHS4?IStI6_4^~3CgY+=y(bClASyF+gp)46CP!cfX2;H{jGFYMBq}|*EYBiv-k~Q zt7;!HTN@0X*vIMFU`VNcN}3ZjcpWewnNj+wC;O%3fA;QSxX2lAo;DD;mQHkm2ne5M znEz08bFB4Q{y*JqoQZ+Z-eNdm@|2tHx4l9dVPbdTZA5p1Tt&{p3weM&g_hl{W%| zubwhSuH^qHV6fIG0QqaiuIzO1B};+gCtef-EQzkF4b-}R-_sG4KHcJPYw({vljx)- zP|+0(nVSA!8h~|>5skmMd`Hw;L>Mj)pCSp5<8JB#8lF}jgB-B&U5T>e zPS^b$VjPh<{D+bYWZc!~S#n>&%KU5MejxBIB!u+q$TVVN4BukNPzikrOwEn1e9ibS zpd!u!8vFT>nj}j&o)O0tUtWULKnUkl06e$m(xpp~y$Q$$O(Wr=0A%~Jf%GE07^PAk z4;A7IXFyE4Vxf|mY5!)yw=E8R3L8e zVuk>RcNdz0bbe_|-$xVf#uSMC*r-hD(+s3T>d-Dprs2dhR0JpW;PiH;C9F7fR z;w8}&Fm``8w5~x6>cf&) z!ZR2%PWe7z#+`#kBcf@r!d~x7&pmrxLO<}3|E=bmu(bg8>g6imSn|jIE%(DepjkvL zojhLs_LKBqu~`SYbvQB!x@yj^gFsW*?qfR<&{`c6(!X>TrVI&el>yv{DL``?`hv{ zfF^*#bz^C$KLONsh_uZ(0VGIjZUkI4S{a%Q;?@?3B$>Fr4wSkEZp_cA#8yLZ}5 z&g;STm&$!P=YD=ZnbzkbjP5g}pwQm64*JQ$sLA=}+OD->rj2%G>w(jPClyR( z4bA*g@=3UeBv}T6Pk(rReOY{*KEYp)5%yDr8#v-X>w55axcmD7= zSpE3uH0(Pul==MtePwZduVSy`rd{Yxmt-Uv>OK>YAJI_^N>^MvQg~Ukp6ll*%KNa; z$kn2tue$l<$?>|-KQC|Hx@Ed-xe-m&-|EW*T@40@JwqO$BV0Aaio$GZP5$2b>6c|} zXqYGKAc}gWkU9MNl{Vi#)i+tModzxab9Vup1HYs$==p#%Z<^!x{wg*t3G8t zcI%r;Jv}|?5fLa0$w$(Hf`Zit>^w2JFjWQe2n^35G!|2(`b9OLE$}w(9`F00WPX1B z)=}+q_v?bUpIO#S82@f*g%qsU%Zt z?bVKX$s4BHMR8ZvYi~E;n5gLY@=&Ej%}_Hd=W zB4_nqn~6QS;rnDyee5N?9Lw_j`SXMt{pH<;vNC-aSJy}N?%v*&BQqeLT8`6n9VkhK zEqQgJ6LsE?xfK2TLXLd8Dg}U7*t?kP{(){k@Knyu&VDXANPtTpBfoC z`UL}ywDMjRK27VWM(Sy3L?&=6nd_c8vn;ZDYm2$hS1s^jac{25NYQl;bBpw zL1F`QlT3~Otaf$02$4r6#O-I~`_i1aN931*a##K? zJ*ENo6sQ%3`$w|uIdYY)1mGeMJ+o~&SU*#olV9c7%U!>XZwp016P^ZEStEhiM&a+U zKXK`$)c&=WAlJ$r(4Gj_%FsvAYf;R>1_T1F<}fnE!MLlFP2}~f_s4GsfrD-}*8D)MazU$= zswn@}jd{a5|JD3uOUIH8{}RhOiOqYq$;d#{Q(*AQib6h=FbrE3;hmkj?^W}u2dm~w zNFm!F%@}pv(8rG-7Y^f62^sY(jPLuwHb1&b ze1W=s&_AN&%tL948X7D`ENg8Z+uqn-)BLr$>`HzakfgM%tgp%X|4_q2Ytn|p@EoCe zfy6bzBCoKp1N9c}zjOh*>cQL98*3FMhNPrT5dI2>IsM*Ve=Pl^okP9gTrT&$dwu)q zP8HG}8U1k$br^(U>JOhjy?c98a2DXzwYhH29TP1r$f3WRyYl_M=ibT6;*bqiyz%RU zyA5o=%?ERjN8_BcN07VdKx6Q{3X?RfJwie}20ZIS;BnP8}+0>X!KR z7`{&@tmP|tXlZFT%V3&O^Oy_jWo^WqT$O;kA%n!23qz@jBcfzI$DgZCkB(VTf_@rL zK|vt_t(wIJm?UiKnMoRZzkU=Wx%(sbyt(<;mp0H)d5}SOY%pI+hCI#&DlDNPZZ!}& zm@4X5+i>R5qS8`d?etr>F5f2<=Qv1(>~4`I{`#pA@Z;<4sHEv>ySf`Y)xkTPr7fIt zzmH4tP#lEFR1#LjF4)>+X~Q9>)l|<(dWHP>vB<=*4EcczZRJyK}#0i0pXI$`40+NW#qykTkf3yM!Y#U z=WspYz(JZ6P|~~w2nka6n`-mVQ|+-l%E9FnJ5Q}&RX<7gO;|qjD&+TN*uehG<~53% zJ0Kt+T;U}R2FcEmke%tZ!1CYaawx%Tr{I#-n@*wy!_mQ z;<7To$Y>@xpW>fC=by~X&6#iYRf%&b!|r#Ub>&J8WW3yv$#vvfdpr_TLV0(}Zfwk_ zDpXE(i9N5X@*VQh)s3S#e5r5wkqcX2+jL@LqKEsRhT=EAzP~w zGB-aPHP+|`1_lz3HylBpYf~{?Xfd#{Fr3)=^LhFC(<+aZ7KDjquSve_r+f-25_|6R zoj7q~;F4`9L=_oo41*7iG@cblB6#Rf|M$z2hGDpAhJ-tO|N9g$6=q=kI%u8A|NCV{h)2bURj>bZ3N)5v aImttT7M-3=*GndY|4wV_6Ux+WBK{Y50WJ6d literal 0 HcmV?d00001 diff --git a/doc/figures/figures.drawio b/doc/figures/figures.drawio new file mode 100644 index 0000000..8464efe --- /dev/null +++ b/doc/figures/figures.drawio @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/xfsc.md b/doc/xfsc.md new file mode 100644 index 0000000..5145041 --- /dev/null +++ b/doc/xfsc.md @@ -0,0 +1,34 @@ +# Integration into Gaia-X Federation Services + +This section describes how the SCS Gaia-X generator is integrated into the [Gaia-X Federation Services Tool Stack](https://www.gxfs.eu/specifications/). In this context, two services are important: + +- Organisation Credential Manager (OCM) +- Trust Service API (TSA) + +In Gaia-X, Participants describe themselves, their Service Offerings and Resources in a machine-readable way as [Gaia-X Credentials](https://gitlab.com/gaia-x/glossary/-/blob/main/docs/Gaia-X_credentials.md). A Gaia-X Credential is a set of [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/), i.e. cryptographically signed attestations about a Gaia-X entity. These credentials are stored in a secure digital wallet, called [Organization Credential Manager (OCM)](https://www.gxfs.eu/organizational-credential-manager/). The OCM supports endpoints to issue and to retrieve Verifiable Credentials. + +The SCS Gaia-X generator discovers technical properties from an OpenStack cloud, such as available flavors and images, and outputs them as claims in JSON-LD. These claims have to be stored as Verifiable Credentials in the OCM. To output Verifiable Credentials instead of claims, the Gaia-X SCS generator has to sign discovered technical properties. Signing capabilities are provided by a further GXFS tool, called [Trust Service API (TSA)](https://www.gxfs.eu/trust-services-api/). + +## Overall Architecture +The SCS Gaia-X generator acts as organisation-internal Conformity Assessment Body, which outputs Verifiable Credentials about technical properties of OpenStack clouds and stores these credentials in the OCM. To sign credentials, the GXFS TSA is used. + + ![xfsc-Architecture](figures/architecure-xfsc.png "Integration of SCS Gaia-X Generator into XFSC Landscape") + +## Workflow +The following diagram shows the dynamic behaviour of the SCS Gaia-X generator with the OCM and the TSA. + +```mermaid +sequenceDiagram + participant GaiaX generator + participant OpenStack cloud + participant TSA + participant OCM + + GaiaX generator->>OpenStack cloud: Call API for technical properties + OpenStack cloud-->>GaiaX generator: technical properties (claims) + GaiaX generator->>TSA: Sign claims in JSON-LD + TSA-->>GaiaX generator: Verifiable Credential + GaiaX generator->>OCM: Issue Verifiable Credential +``` + +In order to keep the credentials in OCM up-to-date, the process described above should be performed periodically. Currently, the OCM does not support revocation or update of Verifiable Credentials. According to the [OCM specification](https://www.gxfs.eu/download/1746/), each credential must have an expiration date. This date should match with the update cycle of the SCS Gaia-X generator. From 85c4ff934d0ae822590bd4841441b306997eba37 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Mon, 16 Oct 2023 09:48:55 +0200 Subject: [PATCH 034/175] Update README.md with missing content (#57) Signed-off-by: Anja Strunk --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b2be00..3c3e532 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,14 @@ cd gx-self-description-generator pip install -r requirements.txt ``` -3. Generate Gaia-X Self-Descriptions +3. Create `clouds.yaml` configuration file + - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) + - Make sure the following keys exist in our `clouds.yaml` + - `auth.user_domain_name` + - `auth.project_domain_name` + - `region_name` + +4. Generate Gaia-X Self-Descriptions - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) ```bash From 64df5fc5fbe9cf79206678aa7f884972eff46cc8 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Fri, 20 Oct 2023 09:28:44 +0200 Subject: [PATCH 035/175] Replace self-description with credential (#65) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Replace self-description with credential Signed-off-by: Anja Strunk * Update README.md Co-authored-by: Matthias Büchse Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> * Update gx-cred-generator.py Co-authored-by: Matthias Büchse Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> --------- Signed-off-by: Anja Strunk Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Co-authored-by: Matthias Büchse Signed-off-by: Anja Strunk --- README.md | 8 ++++---- gx-sd-generator.py => gx-cred-generator.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) rename gx-sd-generator.py => gx-cred-generator.py (99%) diff --git a/README.md b/README.md index 3c3e532..bcd7b9b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# gx-self-description-generator -Tools for creating Gaia-X Self-Descriptions (OpenStack, k8s, ...) +# gx-credential-generator +Tools for creating [Gaia-X Crecential](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), formally knwon as Self-Descriptions for SCS compliant cloud infrastructures (OpenStack, k8s, ...) ## OpenStack We want to collect discoverable information from an OpenStack cloud, @@ -84,13 +84,13 @@ pip install -r requirements.txt - `auth.project_domain_name` - `region_name` -4. Generate Gaia-X Self-Descriptions +4. Generate Gaia-X Credentials - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) ```bash ./gx-sd-generator.py --gaia-x --os-cloud= --file= ``` - - To use generated Gaia-X Self-Description in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option + - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard - K8s (script assumes K8s access) ```bash diff --git a/gx-sd-generator.py b/gx-cred-generator.py similarity index 99% rename from gx-sd-generator.py rename to gx-cred-generator.py index ae5b0b5..3deb3e1 100755 --- a/gx-sd-generator.py +++ b/gx-cred-generator.py @@ -2,7 +2,7 @@ # vim: set ts=4 sw=4 et: # # gx-sd-generator.py -"""Script to generate Gaia-X JSON-LD for self-descriptions. +"""Script to generate Gaia-X JSON-LD for credentials. Uses openstack-discovery.py and k8s-discovery.py to collect the data. From 35dcfa528ab2bd5c73f65892e7a3248b564584e4 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:33:04 +0100 Subject: [PATCH 036/175] Add auto-generated pyhton classes for GX Credential Schema Signed-off-by: Anja Strunk --- generator/common/gx-schema.py | 8957 ++++++++++++++++++++++ generator/gx_schema/code_artifact.py | 14 + gax-cpu.py => generator/gx_schema/cpu.py | 2 +- generator/gx_schema/credential.py | 8 + generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 + generator/gx_schema/operation_system.py | 26 + generator/gx_schema/participant.py | 14 + generator/gx_schema/resource.py | 17 + generator/gx_schema/software_resource.py | 43 + generator/gx_schema/virtual_resource.py | 26 + generator/gx_schema/vm_image.py | 17 + generator/iaas/gen_vm_image.py | 0 generator/test.py | 0 14 files changed, 9155 insertions(+), 1 deletion(-) create mode 100644 generator/common/gx-schema.py create mode 100644 generator/gx_schema/code_artifact.py rename gax-cpu.py => generator/gx_schema/cpu.py (98%) create mode 100644 generator/gx_schema/credential.py create mode 100644 generator/gx_schema/cyptography.py create mode 100644 generator/gx_schema/image.py create mode 100644 generator/gx_schema/operation_system.py create mode 100644 generator/gx_schema/participant.py create mode 100644 generator/gx_schema/resource.py create mode 100644 generator/gx_schema/software_resource.py create mode 100644 generator/gx_schema/virtual_resource.py create mode 100644 generator/gx_schema/vm_image.py create mode 100644 generator/iaas/gen_vm_image.py create mode 100644 generator/test.py diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py new file mode 100644 index 0000000..9ffe1d3 --- /dev/null +++ b/generator/common/gx-schema.py @@ -0,0 +1,8957 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-11-16T13:30:52 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[str] = None + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + if self.gps is not None and not isinstance(self.gps, str): + self.gps = str(self.gps) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if not isinstance(self.supportedOversubscriptionRatio, list): + self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] + self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[str] = "\"none\"" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): + self.gpuInterconnection = str(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class Latest-N(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX["Latest-N"] + class_class_curie: ClassVar[str] = "gx:Latest-N" + class_name: ClassVar[str] = "Latest-N" + class_model_uri: ClassVar[URIRef] = GX.Latest-N + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: Union[str, URI] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, URI): + self.unit = URI(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: Union[str, URI] = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" + firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + Others = PermissibleValue( + text="Others", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for enchryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operationg system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operationg system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), + model_uri=GX.unit, domain=None, range=Union[str, URI]) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[str]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), + model_uri=GX.latest_N__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/code_artifact.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/gax-cpu.py b/generator/gx_schema/cpu.py similarity index 98% rename from gax-cpu.py rename to generator/gx_schema/cpu.py index 5fc62c3..62689cb 100644 --- a/gax-cpu.py +++ b/generator/gx_schema/cpu.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # -# gax-cpu.py +# cpu.py """ These classes reflect the Gaia-X view on physical infra diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py new file mode 100644 index 0000000..a687cea --- /dev/null +++ b/generator/gx_schema/credential.py @@ -0,0 +1,8 @@ +from abc import ABC +from abc import abstractmethod + + +class GxCredential(ABC): + @abstractmethod + def generate_gx_cred(self) -> str: + return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py new file mode 100644 index 0000000..ed83c1f --- /dev/null +++ b/generator/gx_schema/image.py @@ -0,0 +1,32 @@ +from code_artifact import CodeArtifact +""""" +This class reflects the class 'Image' of Gaia-X Credential schema. + +""" + +from cpu import CPU + +class Image(CodeArtifact): + + def __init__(self, + fileSize: int, + operatingSystem: str, + cpuReq: CPU, + gpuReq: GPU, + ramReq: Memory, + videoRamSize: int, + rootDiskReq: Disk, + encryption: Enrcyption, + secureBoot: boolean, + vPMU: boolean, + updateStrategfy: UpdateStrategy, + license_included: boolean, + maintenance: Maintenance ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() + + + + diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/operation_system.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/participant.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py new file mode 100644 index 0000000..70bd985 --- /dev/null +++ b/generator/gx_schema/resource.py @@ -0,0 +1,17 @@ +""""" +These classe reflect the class 'Resource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx.gx_credential import GxCredential + + +class Resource(GxCredential): + aggregation_of_resources: Resource + + def __init__(self, aggregation_of_resources: Resource = None) -> None: + self.aggregation_of_resources = aggregation_of_resources + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py new file mode 100644 index 0000000..5c24cdd --- /dev/null +++ b/generator/gx_schema/software_resource.py @@ -0,0 +1,43 @@ +""""" +These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class SoftwareResource(Resource): + checksum: HypervisorType + signature: HypervisorType + version: HypervisorType + patch_level: Location + buidl_date: Location + + def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, + patch_level: Location, buidl_date: Location) -> None: + self.checksum = checksum + self.signature = signature + self.version = version + self.patch_level = patch_level + self.buidl_date = buidl_date + + + + + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/virtual_resource.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py new file mode 100644 index 0000000..bc557b6 --- /dev/null +++ b/generator/gx_schema/vm_image.py @@ -0,0 +1,17 @@ +class VmImage(): + + def __init__(self, + fileSize: int, + operatingSystem: str, + diskFormat: str, + hypervisorType: str, + firmwareType: str, + hwRngTypeOfImage: str, + watchDogAction: strl, + cpuReq: CPU) -> None: + pass + + + + + diff --git a/generator/iaas/gen_vm_image.py b/generator/iaas/gen_vm_image.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/test.py b/generator/test.py new file mode 100644 index 0000000..e69de29 From d3b9bdb6c36eb24f16857ade2b822390c96341dc Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:42:23 +0100 Subject: [PATCH 037/175] Update python classes Signed-off-by: Anja Strunk --- generator/common/gx-schema.py | 16 ++++----- generator/gx_schema/code_artifact.py | 14 -------- generator/gx_schema/cpu.py | 36 -------------------- generator/gx_schema/credential.py | 8 ----- generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 ------------------ generator/gx_schema/operation_system.py | 26 -------------- generator/gx_schema/participant.py | 14 -------- generator/gx_schema/resource.py | 17 ---------- generator/gx_schema/software_resource.py | 43 ------------------------ generator/gx_schema/virtual_resource.py | 26 -------------- generator/gx_schema/vm_image.py | 17 ---------- 12 files changed, 8 insertions(+), 241 deletions(-) delete mode 100644 generator/gx_schema/code_artifact.py delete mode 100644 generator/gx_schema/cpu.py delete mode 100644 generator/gx_schema/credential.py delete mode 100644 generator/gx_schema/cyptography.py delete mode 100644 generator/gx_schema/image.py delete mode 100644 generator/gx_schema/operation_system.py delete mode 100644 generator/gx_schema/participant.py delete mode 100644 generator/gx_schema/resource.py delete mode 100644 generator/gx_schema/software_resource.py delete mode 100644 generator/gx_schema/virtual_resource.py delete mode 100644 generator/gx_schema/vm_image.py diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py index 9ffe1d3..d519c1d 100644 --- a/generator/common/gx-schema.py +++ b/generator/common/gx-schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:30:52 +# Generation date: 2023-11-16T13:40:58 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -475,16 +475,16 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass -class Latest-N(YAMLRoot): +class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX["Latest-N"] - class_class_curie: ClassVar[str] = "gx:Latest-N" - class_name: ClassVar[str] = "Latest-N" - class_model_uri: ClassVar[URIRef] = GX.Latest-N + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN value: Optional[int] = None @@ -8740,8 +8740,8 @@ class slots: slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) -slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), - model_uri=GX.latest_N__value, domain=None, range=Optional[int]) +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/code_artifact.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/cpu.py b/generator/gx_schema/cpu.py deleted file mode 100644 index 62689cb..0000000 --- a/generator/gx_schema/cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py deleted file mode 100644 index a687cea..0000000 --- a/generator/gx_schema/credential.py +++ /dev/null @@ -1,8 +0,0 @@ -from abc import ABC -from abc import abstractmethod - - -class GxCredential(ABC): - @abstractmethod - def generate_gx_cred(self) -> str: - return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py deleted file mode 100644 index e69de29..0000000 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py deleted file mode 100644 index ed83c1f..0000000 --- a/generator/gx_schema/image.py +++ /dev/null @@ -1,32 +0,0 @@ -from code_artifact import CodeArtifact -""""" -This class reflects the class 'Image' of Gaia-X Credential schema. - -""" - -from cpu import CPU - -class Image(CodeArtifact): - - def __init__(self, - fileSize: int, - operatingSystem: str, - cpuReq: CPU, - gpuReq: GPU, - ramReq: Memory, - videoRamSize: int, - rootDiskReq: Disk, - encryption: Enrcyption, - secureBoot: boolean, - vPMU: boolean, - updateStrategfy: UpdateStrategy, - license_included: boolean, - maintenance: Maintenance ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() - - - - diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/operation_system.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/participant.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py deleted file mode 100644 index 70bd985..0000000 --- a/generator/gx_schema/resource.py +++ /dev/null @@ -1,17 +0,0 @@ -""""" -These classe reflect the class 'Resource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx.gx_credential import GxCredential - - -class Resource(GxCredential): - aggregation_of_resources: Resource - - def __init__(self, aggregation_of_resources: Resource = None) -> None: - self.aggregation_of_resources = aggregation_of_resources - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py deleted file mode 100644 index 5c24cdd..0000000 --- a/generator/gx_schema/software_resource.py +++ /dev/null @@ -1,43 +0,0 @@ -""""" -These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class SoftwareResource(Resource): - checksum: HypervisorType - signature: HypervisorType - version: HypervisorType - patch_level: Location - buidl_date: Location - - def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, - patch_level: Location, buidl_date: Location) -> None: - self.checksum = checksum - self.signature = signature - self.version = version - self.patch_level = patch_level - self.buidl_date = buidl_date - - - - - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/virtual_resource.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py deleted file mode 100644 index bc557b6..0000000 --- a/generator/gx_schema/vm_image.py +++ /dev/null @@ -1,17 +0,0 @@ -class VmImage(): - - def __init__(self, - fileSize: int, - operatingSystem: str, - diskFormat: str, - hypervisorType: str, - firmwareType: str, - hwRngTypeOfImage: str, - watchDogAction: strl, - cpuReq: CPU) -> None: - pass - - - - - From 8d4d10540e203a218b609bfce18298c80ef70aa1 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 14:44:49 +0100 Subject: [PATCH 038/175] Add CLI interface for openstack and kubernetes Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py | 27 +++++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 28 insertions(+) create mode 100644 generator/gen-gx-credentials.py diff --git a/generator/gen-gx-credentials.py b/generator/gen-gx-credentials.py new file mode 100644 index 0000000..8bcdbb9 --- /dev/null +++ b/generator/gen-gx-credentials.py @@ -0,0 +1,27 @@ +import click + +@click.group() +def cli(): + pass + +@click.command() +@click.argument('cloud') +def openstack(cloud): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + click.echo(f"Hello {cloud}!") + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + + +if __name__ == '__main__': + cli() + diff --git a/requirements.txt b/requirements.txt index d3962ed..80b4586 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ kubernetes==26.1.0 openstacksdk==1.1.* PyYAML==6.* +click==8.1.7 From 22e1202e2374fe8dcfac1eb98d27504ad3815f16 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 15:26:20 +0100 Subject: [PATCH 039/175] Build framework Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py => src/cli.py | 11 ++++--- .../gx-schema.py => src/common/gx_schema.py | 10 +++---- {generator => src}/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 ++++++++++ {generator => src}/test.py | 0 src/wallet/file_wallet.py | 10 +++++++ src/wallet/wallet.py | 30 +++++++++++++++++++ src/wallet/xfsc_wallet.py | 11 +++++++ 8 files changed, 78 insertions(+), 9 deletions(-) rename generator/gen-gx-credentials.py => src/cli.py (66%) rename generator/common/gx-schema.py => src/common/gx_schema.py (99%) rename {generator => src}/iaas/gen_vm_image.py (100%) create mode 100644 src/iaas/opentack_connector.py rename {generator => src}/test.py (100%) create mode 100644 src/wallet/file_wallet.py create mode 100644 src/wallet/wallet.py create mode 100644 src/wallet/xfsc_wallet.py diff --git a/generator/gen-gx-credentials.py b/src/cli.py similarity index 66% rename from generator/gen-gx-credentials.py rename to src/cli.py index 8bcdbb9..0941e59 100644 --- a/generator/gen-gx-credentials.py +++ b/src/cli.py @@ -1,15 +1,20 @@ import click +from iaas.opentack_connector import OpenstackConnector @click.group() def cli(): pass + @click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud): +def openstack(cloud, timeout): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - click.echo(f"Hello {cloud}!") + + conn = OpenstackConnector(cloud, timeout=timeout) + @click.command() @@ -21,7 +26,5 @@ def kubernetes(): cli.add_command(openstack) cli.add_command(kubernetes) - if __name__ == '__main__': cli() - diff --git a/generator/common/gx-schema.py b/src/common/gx_schema.py similarity index 99% rename from generator/common/gx-schema.py rename to src/common/gx_schema.py index d519c1d..ccefae2 100644 --- a/generator/common/gx-schema.py +++ b/src/common/gx_schema.py @@ -8520,7 +8520,7 @@ class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random src is based in electronic quantum effects.") _defn = EnumDefinition( name="RNGTypes", @@ -8531,19 +8531,19 @@ def _addvals(cls): setattr(cls, "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) + description="Hardware random src is based on electronic noise.")) setattr(cls, "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) + description="Hardware random src is based on chaos.")) setattr(cls, "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) + description="Hardware random src is based in electronic free-running oscillators.")) setattr(cls, "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) class VMDiskType(EnumDefinitionImpl): diff --git a/generator/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py similarity index 100% rename from generator/iaas/gen_vm_image.py rename to src/iaas/gen_vm_image.py diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py new file mode 100644 index 0000000..76c99d7 --- /dev/null +++ b/src/iaas/opentack_connector.py @@ -0,0 +1,15 @@ +import openstack +impirt sys + + +class OpenstackConnector(): + """Abstraction for Openstack API calls.""" + def __init__(self, cloud, timeout): + self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + self.conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + self.conn.authorize() diff --git a/generator/test.py b/src/test.py similarity index 100% rename from generator/test.py rename to src/test.py diff --git a/src/wallet/file_wallet.py b/src/wallet/file_wallet.py new file mode 100644 index 0000000..a71a2e8 --- /dev/null +++ b/src/wallet/file_wallet.py @@ -0,0 +1,10 @@ +from wallet import WalletConnector + + +class FileSystemWallet(WalletConnector): + """ + Abstraction for filesystem acting as wallet. + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) diff --git a/src/wallet/wallet.py b/src/wallet/wallet.py new file mode 100644 index 0000000..592bd61 --- /dev/null +++ b/src/wallet/wallet.py @@ -0,0 +1,30 @@ +from abc import ABCMeta +from abc import abstractmethod +from linkml_runtime.utils.yamlutils import YAMLRoot + + +class WalletConnector(ABCMeta): + """ + Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector + wraps API calls for different kind of wallets. + """ + + @abstractmethod + def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + pass + + @abstractmethod + def get_provider_cred_did(self, service_offering: str) -> str: + """Returns DID of provider of given service offering. + + Parameters + ---------- + service_offering : str + DID of service offering + + Returns + ------- + str + DID of service offering's provider + """ + return "" diff --git a/src/wallet/xfsc_wallet.py b/src/wallet/xfsc_wallet.py new file mode 100644 index 0000000..b699aa1 --- /dev/null +++ b/src/wallet/xfsc_wallet.py @@ -0,0 +1,11 @@ +from wallet import WalletConnector + + +class XFSCWallet(WalletConnector): + """ + Abstraction XFSC wallet, called Organization Credential Manager. + See https://projects.eclipse.org/projects/technology.xfsc + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) From 199a9aaf6f128495117fa71d232237c8efd260d9 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 17 Nov 2023 11:11:15 +0100 Subject: [PATCH 040/175] Update vm image generations Signed-off-by: Anja Strunk --- generator/cli.py | 49 +++++++++ generator/common/const.py | 4 + {src => generator}/common/gx_schema.py | 32 +++--- .../openstack/discovery_vm_images.py | 87 +++++++++++++++ .../discovery/openstack/opentack_discovery.py | 102 ++++++++++++++++++ {src => generator}/test.py | 0 {src => generator}/wallet/file_wallet.py | 0 {src => generator}/wallet/wallet.py | 0 {src => generator}/wallet/xfsc_wallet.py | 0 src/cli.py | 30 ------ src/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 --- 12 files changed, 259 insertions(+), 60 deletions(-) create mode 100644 generator/cli.py create mode 100644 generator/common/const.py rename {src => generator}/common/gx_schema.py (99%) create mode 100644 generator/discovery/openstack/discovery_vm_images.py create mode 100644 generator/discovery/openstack/opentack_discovery.py rename {src => generator}/test.py (100%) rename {src => generator}/wallet/file_wallet.py (100%) rename {src => generator}/wallet/wallet.py (100%) rename {src => generator}/wallet/xfsc_wallet.py (100%) delete mode 100644 src/cli.py delete mode 100644 src/iaas/gen_vm_image.py delete mode 100644 src/iaas/opentack_connector.py diff --git a/generator/cli.py b/generator/cli.py new file mode 100644 index 0000000..b363ee3 --- /dev/null +++ b/generator/cli.py @@ -0,0 +1,49 @@ +import click +import openstack as os +import sys + +from generator.discovery.openstack.opentack_discovery import OsCloud + + +@click.group() +def cli(): + pass + + +@click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') +@click.argument('cloud') +def openstack(cloud, timeout): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + + # init Openstack Connections + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + conn.authorize() + + # generate Gaia-X Credentials + os_cloud = OsCloud(conn) + props = os_cloud.discover_properties() + + + + + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + +if __name__ == '__main__': + cli() diff --git a/generator/common/const.py b/generator/common/const.py new file mode 100644 index 0000000..fc0af98 --- /dev/null +++ b/generator/common/const.py @@ -0,0 +1,4 @@ +DEFAULT_RESOURCE_POLICY = "default: allow intent" + +UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" \ No newline at end of file diff --git a/src/common/gx_schema.py b/generator/common/gx_schema.py similarity index 99% rename from src/common/gx_schema.py rename to generator/common/gx_schema.py index ccefae2..543b40a 100644 --- a/src/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:40:58 +# Generation date: 2023-11-17T10:12:38 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -272,7 +272,7 @@ class CPU(Device): class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU - cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" cpuFlag: Optional[Union[str, List[str]]] = empty_list() smtEnabled: Optional[Union[bool, Bool]] = False numberOfCores: Optional[int] = None @@ -656,8 +656,8 @@ class Memory(Device): class_model_uri: ClassVar[URIRef] = GX.Memory memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" eccEnabled: Optional[Union[bool, Bool]] = False hardwareEncryption: Optional[Union[bool, Bool]] = False @@ -1383,9 +1383,9 @@ class VMImage(Image): copyrightOwnedBy: Union[str, List[str]] = None license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" - firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" @@ -3993,8 +3993,8 @@ def _addvals(cls): class Architectures(EnumDefinitionImpl): - Others = PermissibleValue( - text="Others", + other = PermissibleValue( + text="other", description="CPU architecture not specified above.") _defn = EnumDefinition( @@ -5198,6 +5198,8 @@ class OSDistribution(EnumDefinitionImpl): @classmethod def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) setattr(cls, "CentOS Linux", @@ -8484,7 +8486,7 @@ class FirmType(EnumDefinitionImpl): """ BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") - others = PermissibleValue(text="others") + other = PermissibleValue(text="other") _defn = EnumDefinition( name="FirmType", @@ -8520,7 +8522,7 @@ class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random src is based in electronic quantum effects.") + description="Hardware random generator is based in electronic quantum effects.") _defn = EnumDefinition( name="RNGTypes", @@ -8531,19 +8533,19 @@ def _addvals(cls): setattr(cls, "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random src is based on electronic noise.")) + description="Hardware random generator is based on electronic noise.")) setattr(cls, "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random src is based on chaos.")) + description="Hardware random generator is based on chaos.")) setattr(cls, "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random src is based in electronic free-running oscillators.")) + description="Hardware random generator is based in electronic free-running oscillators.")) setattr(cls, "None", PermissibleValue( text="None", - description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) class VMDiskType(EnumDefinitionImpl): diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py new file mode 100644 index 0000000..2bec6ca --- /dev/null +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -0,0 +1,87 @@ +from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import VMImage as GX_Image + +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +from typing import List + +import generator.common.const as const + + +class VmDiscovery(): + + def __init__(self, conn: Connection) -> None: + self.conn = conn + + + #def collect_vm_images(self, conn: Connection) -> List[str]: + def discover_vm_images(self) -> List[GX_Image]: + """ + Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. + + @param conn: Connection to openstack cloud VM images are to be collected + @return: list of VM images + """ + + images = list() + for image in self.conn.list_images(): + self._convert_to_gx_image(image) + + return images + + def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: + """ + Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + @param os_image: Openstack image properties + @return: Gaia-X compliant virtual machine image + """ + + # collect all properties + cpu_req = self._get_cpu_req(os_image.architecture) + ram_req = self._get_min_ram_req(os_image.min_ram) + root_disk_req = self._get_min_disk_req(os_image.min_disk) + + return GX_Image(copyrightOwnedBy='TBA', + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + version=os_image.os_version) + + @staticmethod + def _get_cpu_req(arch: str) -> CPU: + if arch == "i686": + return CPU(cpuArchitecture="x86-32") + if arch in ["x86_64", "ia64"]: + return CPU(cpuArchitecture="x86-64") + if arch == "aarch6": + return CPU(cpuArchitecture="AArch-32") + if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return CPU(cpuArchitecture="RISC-V") + return CPU(cpuArchitecture=cpu_arch_types.other) + + @staticmethod + def _get_min_ram_req(min_ram_size: str) -> Memory: + # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. + # But OpenStack uses MiB. + size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize = size) + + @staticmethod + def _get_min_disk_req(disk_size: str) -> Disk: + size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize = size) + + + def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + if os_distro == "arch": + return OperatingSystem(version=os_version, os_distro="Arch Linux") + if os_distro == "centos": + return OperatingSystem(version=os_version, os_distro="CentOS Linux") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py new file mode 100644 index 0000000..b7feca9 --- /dev/null +++ b/generator/discovery/openstack/opentack_discovery.py @@ -0,0 +1,102 @@ +import openstack +from openstack.connection import Connection +import sys + +from generator.discovery.openstack.discovery_vm_images import VmDiscovery + +class OsCloud: + "Abstraction for openStack cloud with all its services" + def __init__(self, conn: Connection) -> None: + # import copy + self.conn = conn + self.auth = conn.auth + self.regions = list(conn.identity.regions()) + + def discover_properties(self): + vm_dis = VmDiscovery(self.conn) + vm_dis.discover_vm_images() + + + # Create per region service catalogs + """self.regcat = {} + for region in self.regions: + reg = region.id + self.regcat[reg] = [] + for svc in conn.service_catalog: + svccat = osServiceCat(svc, reg) + if svccat.ep: + self.regcat[reg].append(svccat) + if debug: + print(f"#DEBUG: Svc Cat region {reg}: {self.regcat}", file=sys.stderr) + # Well-known OpenStack services + self.ostacksvc = {} + if "project_id" in conn.auth: + prj_id = conn.auth["project_id"] + else: + prj_id = conn.identity.get_project_id() + # Iterate over regions + for region in self.regions: + # Keep list of already handled services to avoid duplicates/aliases + handled = [] + # Dictionary to collect OpenStack services + ostacksvc = {} + reg = region.id + if debug: + print(f"#INFO: Creation service catalog for region {reg}", file=sys.stderr) + # Iterate over service catalog + for svc in self.regcat[reg]: + assert svc.ep + assert reg == svc.region + # Treating those two legacy services as non-OpenStack (just list EPs) + if svc.type in [*handled, "compute_legacy", "cloudformation"]: + continue + newsvc = None + for osClass in OSClasses: + if svc.type in osClass.svcID: + newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend(osClass.svcID) + break + if not newsvc: + newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend((svc.type, newsvc.stype,)) + # Only attach if conn is non-empty + if newsvc.conn: + ostacksvc[newsvc.stype] = newsvc + if debug: + print(f"#DEBUG: Region {reg} added OS Svc {newsvc}", file=sys.stderr) + svc.consumed = True + elif debug: + print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) + # Handle remaining services that are listed + for svc in self.regcat[reg]: + if not svc.consumed and svc.type not in ostacksvc: + ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) + if debug: + print(f"#DEBUG: Region {reg} added Non-OS {ostacksvc[svc.type]}", file=sys.stderr) + svc.consumed = True + self.ostacksvc[reg] = ostacksvc + # TODO: Iterate over non-consumed services (global, non-region specifc) + + def values(self, prefix=''): + "dict representing stored data" + inner = {"regions": list(map(lambda x: x.id, self.regions))} + if outjson: + inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") + else: + inner["auth_url"] = self.auth["auth_url"] + for reg, ostacksvc in self.ostacksvc.items(): + inner[reg] = {} + for svckey in ostacksvc: + svc = ostacksvc[svckey] + inner[reg] = appenddicts(inner[reg], svc.values()) + if outjson: + inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") + if prefix: + return add_prefix_to_dict_keys(inner, prefix) + return inner + + def __str__(self): + # print(self.values()) + if outjson: + return json.dumps({"OpenStackService": self.values()}, indent=indent) + return yaml.dump({"openstack": self.values()}, default_flow_style=False)""" diff --git a/src/test.py b/generator/test.py similarity index 100% rename from src/test.py rename to generator/test.py diff --git a/src/wallet/file_wallet.py b/generator/wallet/file_wallet.py similarity index 100% rename from src/wallet/file_wallet.py rename to generator/wallet/file_wallet.py diff --git a/src/wallet/wallet.py b/generator/wallet/wallet.py similarity index 100% rename from src/wallet/wallet.py rename to generator/wallet/wallet.py diff --git a/src/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py similarity index 100% rename from src/wallet/xfsc_wallet.py rename to generator/wallet/xfsc_wallet.py diff --git a/src/cli.py b/src/cli.py deleted file mode 100644 index 0941e59..0000000 --- a/src/cli.py +++ /dev/null @@ -1,30 +0,0 @@ -import click -from iaas.opentack_connector import OpenstackConnector - -@click.group() -def cli(): - pass - - -@click.command() -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') -def openstack(cloud, timeout): - """Generates Gaia-X Credentials for openstack cloud CLOUD. - CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - - conn = OpenstackConnector(cloud, timeout=timeout) - - - -@click.command() -def kubernetes(): - """Generates Gaia-X Credentials for kubernetes.""" - pass - - -cli.add_command(openstack) -cli.add_command(kubernetes) - -if __name__ == '__main__': - cli() diff --git a/src/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py deleted file mode 100644 index 76c99d7..0000000 --- a/src/iaas/opentack_connector.py +++ /dev/null @@ -1,15 +0,0 @@ -import openstack -impirt sys - - -class OpenstackConnector(): - """Abstraction for Openstack API calls.""" - def __init__(self, cloud, timeout): - self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) - try: - self.conn.authorize() - except Exception: - print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') - self.conn.authorize() From 12dc8c5400ccbe81296edf65fe2a77647929d0a6 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 18 Dec 2023 13:00:10 +0100 Subject: [PATCH 041/175] Add default values for operating system Signed-off-by: Anja Strunk --- config/config.yaml | 107 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 config/config.yaml diff --git a/config/config.yaml b/config/config.yaml new file mode 100644 index 0000000..bae2265 --- /dev/null +++ b/config/config.yaml @@ -0,0 +1,107 @@ +vm image: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: DEFAULT + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 + Arch Linux: + copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" + resource policy: DEFAULT + license: + - https://gitlab.archlinux.org/archlinux + CentOS Linux: + copyright owner: "The CentOS Project and others" + resource policy: DEFAULT + license: + - https://github.com/CentOS/ + Debian: + copyright owner: "Ian Murdock and others" + resource policy: DEFAULT + license: + - https://www.debian.org/legal/licenses/index.en.html + Fedora: + copyright owner: "Fedora-Project" + resource policy: DEFAULT + license: + - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ + FreeBSD: + copyright owner: "The FreeBSD Project" + resource policy: DEFAULT + license: + - GPL-3.0 + - LGPL-2.0 + Gentoo Linux: + copyright owner: "Gentoo Foundation, Inc." + resource policy: DEFAULT + license: + - https://www.gentoo.org/glep/glep-0076.html + Mandrakelinux: + copyright owner: "Mandriva Linux" + resource policy: DEFAULT + license: + - GPL-3.0 + Mandriva Linux: + copyright owner: "Mandriva S. A." + resource policy: DEFAULT + license: + - GPL-3.0 + Mandriva Enterprise Server: + copyright owner: "Mandriva S. A." + resource policy: DEFAULT + license: + - GPL-3.0 + MS-DOS: + copyright owner: "Microsoft Corporation" + resource policy: DEFAULT + license: + - https://www.microsoft.com/licensing/docs/view/Licensing-Guides + NetBSD: + copyright owner: "The NetBSD Foundation" + resource policy: DEFAULTV + license: + - https://www.netbsd.org/about/redistribution.html + Novell NetWare: + copyright owner: "Micro Focus International" + resource policy: DEFAULT + license: + - https://support.novell.com/techcenter/articles/ana19960702.html + OpenBSD: + copyright owner: "OpenBSD" + resource policy: DEFAULT + license: + - https://www.openbsd.org/policy.html + OpenSolaris: + copyright owner: "Sun Microsystems" + resource policy: DEFAULT + license: + - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html + openSUSE: + copyright owner: "openSUSE contributors & others" + resource policy: DEFAULT + license: + - https://en.opensuse.org/openSUSE:License + Rocky Linux: + copyright owner: "Rocky Enterprise Software Foundation" + resource policy: DEFAULT + license: + - https://rockylinux.org/licensing + Red Hat Enterprise Linux: + copyright owner: "Red Hat, Inc." + resource policy: DEFAULT + license: + - https://www.redhat.com/en/store/red-hat-enterprise-linux-server + SUSE Linux Enterprise Desktop: + copyright owner: "SUSE" + resource policy: "" + license: + - https://www.suse.com/products/terms_and_conditions.pdf + Ubuntu: + copyright owner: "Canonical" + resource policy: DEFAULT + license: + - https://ubuntu.com/legal/open-source-licences + Microsoft Windows: + copyright owner: "Microsoft Corporation" + resource policy: DEFAULT + license: + - https://www.microsoft.com/licensing \ No newline at end of file From 46c4e886c0afa3b45415fa7500ec04a2f96c03c8 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 12:17:06 +0100 Subject: [PATCH 042/175] Support mandatory attributes of VM Images Signed-off-by: Anja Strunk --- config/config.yaml | 25 +- generator/cli.py | 13 +- generator/common/const.py | 34 +- generator/common/gaia-x.shacl | 2275 +++++++++++++++++ generator/common/gx_schema.py | 316 ++- .../openstack/discovery_vm_images.py | 192 +- .../discovery/openstack/opentack_discovery.py | 9 +- 7 files changed, 2798 insertions(+), 66 deletions(-) create mode 100644 generator/common/gaia-x.shacl diff --git a/config/config.yaml b/config/config.yaml index bae2265..27a563d 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -28,7 +28,7 @@ vm image: copyright owner: "The FreeBSD Project" resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." @@ -39,17 +39,17 @@ vm image: copyright owner: "Mandriva Linux" resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" resource policy: DEFAULT @@ -104,4 +104,19 @@ vm image: copyright owner: "Microsoft Corporation" resource policy: DEFAULT license: - - https://www.microsoft.com/licensing \ No newline at end of file + - https://www.microsoft.com/licensing + CirrOS: + copyright owner: "Canonical Ltd." + resource policy: DEFAULT + license: + - GPL-2.0-only + AlmaLinux: + copyright owner: "Canonical Ltd." + resource policy: DEFAULT + license: + - https://almalinux.org/p/the-almalinux-os-licensing-policy/ + Debian 11: + copyright owner: "AlmaLinux OS Foundation" + resource policy: DEFAULT + license: + - https://www.abc.org \ No newline at end of file diff --git a/generator/cli.py b/generator/cli.py index b363ee3..e691f57 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,6 +1,7 @@ import click import openstack as os import sys +import yaml from generator.discovery.openstack.opentack_discovery import OsCloud @@ -11,9 +12,10 @@ def cli(): @click.command() +@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout): +def openstack(cloud, timeout, config): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,12 +30,9 @@ def openstack(cloud, timeout): conn.authorize() # generate Gaia-X Credentials - os_cloud = OsCloud(conn) - props = os_cloud.discover_properties() - - - - + with open(config, "r") as config_file: + os_cloud = OsCloud(conn, yaml.safe_load(config_file)) + props = os_cloud.discover_properties() @click.command() diff --git a/generator/common/const.py b/generator/common/const.py index fc0af98..bfb6edc 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,4 +1,34 @@ DEFAULT_RESOURCE_POLICY = "default: allow intent" -UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" -UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" \ No newline at end of file +UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" + + +CONFIG_VM_IMAGE = "vm image" +CONFIG_RESOURCE_POLICY = "resource policy" +CONFIG_LICENSE = "license" +CONFIG_COPYRIGHT = "copyright owner" + +CONFIG_OS_ALP = "Alpine Linux" +CONFIG_OS_ARCH = "Arch Linux" +CONFIG_OS_CENTOS = "CentOS Linux" +CONFIG_OS_DEBIAN = "Debian" +CONFIG_OS_FEDORA = "Fedora" +CONFIG_OS_FREEBSD = "FreeBSD" +CONFIG_OS_GENTOO = "Gentoo Linux" +CONFIG_OS_MANDRAKE = "Mandrake Linux" +CONFIG_OS_MANDRIVA = "Mandriva Linux" +CONFIG_OS_MES = "Mandriva Enterprise Server" +CONFIG_OS_MSDOS = "MS-DOS" +CONFIG_OS_NETBSD = "NetBSD" +CONFIG_OS_NOVELL = "Novell Netware" +CONFIG_OS_OPENBSD = "OpenBSD" +CONFIG_OS_SOLARIS = "OpenSolaris" +CONFIG_OS_OPEN_SUSE = "openSUSE" +CONFIG_OS_ROCKY = "Rocky Linux" +CONFIG_OS_RHEL = "Red Hat Enterprise Linux" +CONFIG_OS_SLED = "SUSE Linux Enterprise Desktop" +CONFIG_OS_UBUNTU = "Ubuntu" +CONFIG_OS_WINDOWS = "Microsoft Windows" +CONFIG_OS_CIRROS = "CirrOS" +CONFIG_OS_ALMALINUX = "AlmaLinux" \ No newline at end of file diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl new file mode 100644 index 0000000..e13e0ae --- /dev/null +++ b/generator/common/gaia-x.shacl @@ -0,0 +1,2275 @@ +@prefix gx: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:CodeArtifact a sh:NodeShape ; + sh:closed false ; + sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Code Artifact" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:CodeArtifact . + +gx:DataResource a sh:NodeShape ; + sh:closed false ; + sh:description "A dataset exposed through a service instance." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Resource" ; + sh:property [ sh:class gx:DataExchangeComponent ; + sh:description "A resolvable link to the data exchange component that exposes the data resource." ; + sh:minCount 1 ; + sh:name "exposed through" ; + sh:order 1 ; + sh:path gx:exposedThrough ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is obsolete." ; + sh:maxCount 1 ; + sh:name "obsolete dateTime" ; + sh:order 2 ; + sh:path gx:obsoleteDateTime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to participant legally enabling the data usage." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "produced by" ; + sh:order 0 ; + sh:path gx:producedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:Consent ; + sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; + sh:name "consent" ; + sh:order 6 ; + sh:path gx:consent ], + [ sh:datatype xsd:boolean ; + sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "contains PII" ; + sh:order 4 ; + sh:path gx:containsPII ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 9 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:Participant ; + sh:description "data controller Participant as defined in GDPR." ; + sh:name "data controller" ; + sh:order 5 ; + sh:path gx:dataController ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 7 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; + sh:maxCount 1 ; + sh:name "expiration dateTime" ; + sh:order 3 ; + sh:path gx:expirationDateTime ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 8 ; + sh:path gx:license ] ; + sh:targetClass gx:DataResource . + +gx:Device a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 1 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 2 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 3 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:vendor ] ; + sh:targetClass gx:Device . + +gx:GaiaX a sh:NodeShape ; + sh:closed false ; + sh:description "Top level element of Gaia-X ecosystem." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:GaiaX . + +gx:GaiaXEntity a sh:NodeShape ; + sh:closed false ; + sh:description "Root class for Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Gaia-X Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:GaiaXEntity . + +gx:Hypervisor a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:hypervisorType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:Hypervisor . + +gx:Image a sh:NodeShape ; + sh:closed false ; + sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Image" ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 5 ; + sh:path gx:videoRamSize ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:encryption ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 9 ; + sh:path gx:secureBoot ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:signature ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 2 ; + sh:path gx:cpuReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:updateStrategy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 10 ; + sh:path gx:vPMU ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 24 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 11 ; + sh:path gx:multiQueues ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 23 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:checkSum ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 19 ; + sh:path gx:buildDate ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 3 ; + sh:path gx:gpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 20 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 25 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 18 ; + sh:path gx:patchLevel ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 6 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 22 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 13 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:checksum ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 4 ; + sh:path gx:ramReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 1 ; + sh:path gx:operatingSystem ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 0 ; + sh:path gx:fileSize ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 21 ; + sh:path gx:license ] ; + sh:targetClass gx:Image . + +gx:InstantiationRequirement a sh:NodeShape ; + sh:closed false ; + sh:description "A container class to gather all requirements for compute service offering instantiations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Instantiation Requirement" ; + sh:targetClass gx:InstantiationRequirement . + +gx:Issuer a sh:NodeShape ; + sh:closed false ; + sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; + sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 0 ; + sh:path gx:issuerTermsAndConditions ] ; + sh:targetClass gx:Issuer . + +gx:PXEImage a sh:NodeShape ; + sh:closed false ; + sh:description "PXE image for physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "PXE image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 4 ; + sh:path gx:gpuReq ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 5 ; + sh:path gx:ramReq ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 21 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 11 ; + sh:path gx:vPMU ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:checkSum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:encryption ], + [ sh:description "Disk format. Default \"ISO\"." ; + sh:in ( "WINPE" "ISO" ) ; + sh:maxCount 1 ; + sh:name "disk format" ; + sh:order 0 ; + sh:path gx:pxeImageDiskFormat ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 23 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 20 ; + sh:path gx:buildDate ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:checksum ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 10 ; + sh:path gx:secureBoot ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 1 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 14 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 26 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 22 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 19 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 25 ; + sh:path gx:name ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:maintenance ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path gx:version ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 12 ; + sh:path gx:multiQueues ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 7 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 6 ; + sh:path gx:videoRamSize ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 3 ; + sh:path gx:cpuReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 2 ; + sh:path gx:operatingSystem ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:updateStrategy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 24 ; + sh:path gx:aggregationOfResources ] ; + sh:targetClass gx:PXEImage . + +gx:RegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:RegistrationNumber . + +gx:Resource a sh:NodeShape ; + sh:closed false ; + sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 1 ; + sh:path gx:name ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 0 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 2 ; + sh:path gx:description ] ; + sh:targetClass gx:Resource . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:ConfidentialComputing a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "indicates whether confidential server has an associated attestation service." ; + sh:maxCount 1 ; + sh:name "attestation service URI" ; + sh:order 1 ; + sh:path gx:attestationServiceURI ], + [ sh:datatype xsd:string ; + sh:description "Particular confidential computing technology used by the flavors as defined in..." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:technology ] ; + sh:targetClass gx:ConfidentialComputing . + +gx:Consent a sh:NodeShape ; + sh:closed false ; + sh:description "Information on the legitimate processing of information related to PII." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Consent" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; + sh:minCount 1 ; + sh:name "purpose" ; + sh:order 2 ; + sh:path gx:purpose ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; + sh:minCount 1 ; + sh:name "data protection contact point" ; + sh:order 1 ; + sh:path gx:dataProtectionContactPoint ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; + sh:minCount 1 ; + sh:name "consent withdrawal contact point" ; + sh:order 3 ; + sh:path gx:consentWithdrawalContactPoint ], + [ sh:datatype xsd:string ; + sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal Basis" ; + sh:order 0 ; + sh:path gx:legalBasis ] ; + sh:targetClass gx:Consent . + +gx:DataExchangeComponent a sh:NodeShape ; + sh:closed false ; + sh:description "A service/resource used to make a data resource available." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Exchange Component" ; + sh:targetClass gx:DataExchangeComponent . + +gx:EORI a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The Economic Operators Registration and Identification number (EORI)." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:eori ] ; + sh:targetClass gx:EORI . + +gx:EUID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:euid ] ; + sh:targetClass gx:EUID . + +gx:GPSLocation a sh:NodeShape ; + sh:closed false ; + sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; + sh:maxCount 1 ; + sh:name "crs" ; + sh:order 3 ; + sh:path gx:crs ; + sh:pattern "^CRS" ], + [ sh:datatype xsd:string ; + sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; + sh:maxCount 1 ; + sh:name "altitude" ; + sh:order 2 ; + sh:path gx:altitude ], + [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "latitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 0 ; + sh:path gx:latitude ], + [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "longitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 1 ; + sh:path gx:longitude ] ; + sh:targetClass gx:GPSLocation . + +gx:LatestN a sh:NodeShape ; + sh:closed false ; + sh:description "Number of latest N outdated image versions, which will be valid." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:order 0 ; + sh:path gx:value ] ; + sh:targetClass gx:LatestN . + +gx:LeiCode a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unique LEI number as defined by https://www.gleif.org." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:LeiCode . + +gx:LocalRegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The state issued company number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:local ] ; + sh:targetClass gx:LocalRegistrationNumber . + +gx:Participant a sh:NodeShape ; + sh:closed false ; + sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ] ; + sh:targetClass gx:Participant . + +gx:ServerFlavor a sh:NodeShape ; + sh:closed false ; + sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Server Flavor" ; + sh:property [ sh:class gx:ConfidentialComputing ; + sh:description "Details with respect to confidential computing capabilities of the flavor." ; + sh:maxCount 1 ; + sh:name "confidential computing" ; + sh:order 6 ; + sh:path gx:confidentialComputing ], + [ sh:class gx:Memory ; + sh:description "Size of RAM of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:ram ], + [ sh:datatype xsd:string ; + sh:description "Network capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:network ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 9 ; + sh:path gx:hwRngTypeOfFlavor ], + [ sh:class gx:GPU ; + sh:description "GPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:gpu ], + [ sh:class gx:Disk ; + sh:description "Additional volume capabilities of boot volume of the flavor." ; + sh:name "additional volume" ; + sh:order 5 ; + sh:path gx:additionalVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; + sh:maxCount 1 ; + sh:name "Hardware-assisted virtualization" ; + sh:order 8 ; + sh:path gx:hardwareAssistedVirtualization ], + [ sh:class gx:SoftwareResource ; + sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:hypervisor ], + [ sh:class gx:CPU ; + sh:description "CPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "CPU requirements" ; + sh:order 0 ; + sh:path gx:cpu ], + [ sh:class gx:Disk ; + sh:description "Boot volume capabilities of boot volume of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "boot volume" ; + sh:order 4 ; + sh:path gx:bootVolume ] ; + sh:targetClass gx:ServerFlavor . + +gx:StandardConformity a sh:NodeShape ; + sh:closed false ; + sh:description "Details about standard applied to Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Name of the standard." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "title" ; + sh:order 0 ; + sh:path gx:title ], + [ sh:datatype xsd:anyURI ; + sh:description "Provides a link to schemas or details about applied standards." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "standard reference" ; + sh:order 1 ; + sh:path gx:standardReference ], + [ sh:datatype xsd:string ; + sh:description "Publisher of the standard." ; + sh:maxCount 1 ; + sh:name "publisher" ; + sh:order 2 ; + sh:path gx:publisher ] ; + sh:targetClass gx:StandardConformity . + +gx:VMImage a sh:NodeShape ; + sh:closed false ; + sh:description "Image for virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "VM image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 8 ; + sh:path gx:gpuReq ], + [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; + sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; + sh:maxCount 1 ; + sh:name "VM Image disk format" ; + sh:order 0 ; + sh:path gx:vmImageDiskFormat ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path gx:maintenance ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 28 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 15 ; + sh:path gx:vPMU ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path gx:signature ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path gx:checksum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:encryption ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 25 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 14 ; + sh:path gx:secureBoot ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 3 ; + sh:path gx:hwRngTypeOfImage ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 29 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 16 ; + sh:path gx:multiQueues ], + [ sh:description "Type of firmware which which guests are booted." ; + sh:in ( "BIOS" "UEFI" "other" ) ; + sh:maxCount 1 ; + sh:name "Firmware type" ; + sh:order 2 ; + sh:path gx:firmwareType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 26 ; + sh:path gx:license ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 11 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:updateStrategy ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 7 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 23 ; + sh:path gx:patchLevel ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 5 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 24 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 30 ; + sh:path gx:description ], + [ sh:description "Hypervisor type required by the image" ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:name "Hypervisor type" ; + sh:order 1 ; + sh:path gx:hypervisorType ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 6 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 27 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:checkSum ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 10 ; + sh:path gx:videoRamSize ], + [ sh:description "Define the action to be performed if server hangs." ; + sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; + sh:maxCount 1 ; + sh:name "Watchdog action" ; + sh:order 4 ; + sh:path gx:watchDogAction ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 18 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 9 ; + sh:path gx:ramReq ] ; + sh:targetClass gx:VMImage . + +gx:VatID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The VAT identification number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:vatID ] ; + sh:targetClass gx:VatID . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:GPSUnit a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of a geographical point." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 180 ; + sh:minCount 1 ; + sh:minInclusive -180 ; + sh:name "degrees" ; + sh:order 0 ; + sh:path gx:degrees ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:maxInclusive 1 ; + sh:minInclusive 0 ; + sh:name "decimals" ; + sh:order 3 ; + sh:path gx:decimals ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "seconds" ; + sh:order 2 ; + sh:path gx:seconds ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "minutes" ; + sh:order 1 ; + sh:path gx:minutes ] ; + sh:targetClass gx:GPSUnit . + +gx:Encryption a sh:NodeShape ; + sh:closed false ; + sh:description "Encryption capabilities of a Gaia-X entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; + sh:in ( "BYOK" "HYOK" "managed" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "key management" ; + sh:order 1 ; + sh:path gx:keyManagement ], + [ sh:description "Supported algorithm used to encrypt." ; + sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "encryption algorithm" ; + sh:order 0 ; + sh:path gx:cipher ] ; + sh:targetClass gx:Encryption . + +gx:MaintenanceSubscription a sh:NodeShape ; + sh:closed false ; + sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; + sh:maxCount 1 ; + sh:name "Subscription required" ; + sh:order 1 ; + sh:path gx:subscriptionRequired ], + [ sh:datatype xsd:date ; + sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; + sh:maxCount 1 ; + sh:name "Maintenance until" ; + sh:order 2 ; + sh:path gx:maintainedUntil ], + [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; + sh:maxCount 1 ; + sh:name "Subscription included" ; + sh:order 0 ; + sh:path gx:subscriptionIncluded ] ; + sh:targetClass gx:MaintenanceSubscription . + +gx:UpdateStrategy a sh:NodeShape ; + sh:closed false ; + sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; + sh:maxCount 1 ; + sh:name "Old versions Valid until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; + sh:order 2 ; + sh:path gx:oldVersionsValidUntil ], + [ sh:datatype xsd:integer ; + sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; + sh:maxCount 1 ; + sh:minInclusive 0 ; + sh:name "Hotfix hours" ; + sh:order 1 ; + sh:path gx:hotfixHours ], + [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; + sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; + sh:maxCount 1 ; + sh:name "Replace Frequency" ; + sh:order 0 ; + sh:path gx:replaceFrequency ], + [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; + sh:maxCount 1 ; + sh:name "Provided until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; + sh:order 3 ; + sh:path gx:providedUntil ] ; + sh:targetClass gx:UpdateStrategy . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Full address of the entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "the street address of a postal address" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ], + [ sh:class gx:GPSLocation ; + sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; + sh:order 1 ; + sh:path gx:gps ], + [ sh:datatype xsd:string ; + sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ], + [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; + sh:order 0 ; + sh:path gx:countryCode ], + [ sh:datatype xsd:string ; + sh:description "String of a street-address" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ] ; + sh:targetClass . + +gx:CPU a sh:NodeShape ; + sh:closed false ; + sh:description "Computational processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Last Level Cache size of the CPU." ; + sh:maxCount 1 ; + sh:name "last level cache size" ; + sh:order 7 ; + sh:path gx:lastLevelCacheSize ], + [ sh:class ; + sh:description "Boost frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "boost CPU frequency" ; + sh:order 6 ; + sh:path gx:boostFrequency ], + [ sh:datatype xsd:string ; + sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; + sh:name "CPU flags" ; + sh:order 1 ; + sh:path gx:cpuFlag ], + [ sh:datatype xsd:integer ; + sh:description "Number of threads of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of threads" ; + sh:order 4 ; + sh:path gx:numberOfThreads ], + [ sh:class ; + sh:description "Base frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "base CPU frequency" ; + sh:order 5 ; + sh:path gx:baseFrequency ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:vendor ], + [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; + sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; + sh:maxCount 1 ; + sh:name "CPU architecture" ; + sh:order 0 ; + sh:path gx:cpuArchitecture ], + [ sh:datatype xsd:boolean ; + sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; + sh:maxCount 1 ; + sh:name "smt enabled" ; + sh:order 2 ; + sh:path gx:smtEnabled ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 12 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 10 ; + sh:path gx:generation ], + [ sh:class ; + sh:description "CPU Thermal Design Power." ; + sh:maxCount 1 ; + sh:name "thermal design power" ; + sh:order 8 ; + sh:path gx:thermalDesignPower ], + [ sh:datatype xsd:integer ; + sh:description "Number of cores of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of CPU cores" ; + sh:order 3 ; + sh:path gx:numberOfCores ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 11 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:CPU . + +gx:ComputeServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Compute Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 2 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 8 ; + sh:path gx:keyword ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 13 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 6 ; + sh:path gx:dataProtectionRegime ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 0 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 10 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 7 ; + sh:path gx:dataAccountExport ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 12 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 1 ; + sh:path gx:providedBy ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 11 ; + sh:path gx:hostedOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 9 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 4 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 5 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:ComputeServiceOffering . + +gx:DataAccountExport a sh:NodeShape ; + sh:closed false ; + sh:description "List of methods to export data from your account out of the service." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; + sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "format type" ; + sh:order 2 ; + sh:path gx:formatType ], + [ sh:description "Type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "access type" ; + sh:order 1 ; + sh:path gx:accessType ], + [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "request type" ; + sh:order 0 ; + sh:path gx:requestType ] ; + sh:targetClass gx:DataAccountExport . + +gx:Endpoint a sh:NodeShape ; + sh:closed false ; + sh:description "An endpoint is a mean to access and interact with a service or a resource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:StandardConformity ; + sh:description "Provides information about applied standards." ; + sh:minCount 1 ; + sh:name "standard conformity" ; + sh:order 1 ; + sh:path gx:standardConformity ], + [ sh:datatype xsd:string ; + sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:formalDescription ], + [ sh:datatype xsd:anyURI ; + sh:description "The URL of the endpoint where it can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint URL" ; + sh:order 0 ; + sh:path gx:endpointURL ] ; + sh:targetClass gx:Endpoint . + +gx:GPU a sh:NodeShape ; + sh:closed false ; + sh:description "Graphical processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 6 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:description "Interconnection of multiple GPUs within a server system" ; + sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:gpuInterconnection ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path gx:vendor ], + [ sh:datatype xsd:integer ; + sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "gpu processing units" ; + sh:order 2 ; + sh:path gx:gpuProcessingUnits ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 5 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 7 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; + sh:maxCount 1 ; + sh:name "GPU path through" ; + sh:order 3 ; + sh:path gx:gpuPassthrough ], + [ sh:class gx:MemorySize ; + sh:description "Size of memory of the GPU." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:gpuMemory ] ; + sh:targetClass gx:GPU . + +gx:InfrastructureServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Infrastructure Service Offering" ; + sh:property [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:InfrastructureServiceOffering . + +gx:Memory a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of RAM." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; + sh:maxCount 1 ; + sh:name "Hardware Encryption enabled" ; + sh:order 4 ; + sh:path gx:hardwareEncryption ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 7 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "Memory size of RAM." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "memory size" ; + sh:order 0 ; + sh:path gx:memorySize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path gx:vendor ], + [ sh:datatype xsd:boolean ; + sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; + sh:maxCount 1 ; + sh:name "error correction code (ecc)" ; + sh:order 3 ; + sh:path gx:eccEnabled ], + [ sh:description "DRAM technology name defined by JEDEC" ; + sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; + sh:maxCount 1 ; + sh:name "memory class" ; + sh:order 1 ; + sh:path gx:memoryClass ], + [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; + sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; + sh:maxCount 1 ; + sh:name "memory rank" ; + sh:order 2 ; + sh:path gx:memoryRank ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 6 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 8 ; + sh:path gx:supportedOversubscriptionRatio ] ; + sh:targetClass gx:Memory . + +gx:ServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ] ; + sh:targetClass gx:ServiceOffering . + +gx:TermsAndConditions a sh:NodeShape ; + sh:closed false ; + sh:description "Terms and Conditions applying to a service offering." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "sha256 hash of the document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hash ], + [ sh:datatype xsd:anyURI ; + sh:description "A resolvable link to document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:url ] ; + sh:targetClass gx:TermsAndConditions . + +gx:VirtualMachineServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Machine Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 5 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:servicePolicy ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 8 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 9 ; + sh:path gx:dataAccountExport ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 13 ; + sh:path gx:hostedOn ], + [ sh:class gx:VMImage ; + sh:description "Compute Service Code Artifacts" ; + sh:minCount 1 ; + sh:name "code artifact" ; + sh:order 0 ; + sh:path gx:codeArtifact ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 15 ; + sh:path gx:description ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 4 ; + sh:path gx:dependsOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 11 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 6 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 2 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:ServerFlavor ; + sh:description "Set of technical requirements or conditions to instantiate this service offering." ; + sh:minCount 1 ; + sh:name "instantiation requirement" ; + sh:order 1 ; + sh:path gx:instantiationReq ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 10 ; + sh:path gx:keyword ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 3 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 14 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 12 ; + sh:path gx:endpoint ] ; + sh:targetClass gx:VirtualMachineServiceOffering . + +gx:Disk a sh:NodeShape ; + sh:closed false ; + sh:description "Capabilities of a physical or virtual hard drive." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 5 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "The size of the hard drive." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Disk size" ; + sh:order 0 ; + sh:path gx:diskSize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Type of disk controller the disk is attached to." ; + sh:maxCount 1 ; + sh:name "Disk Bus Type" ; + sh:order 2 ; + sh:path gx:diskBusType ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 6 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:description "The type of storage drive." ; + sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; + sh:maxCount 1 ; + sh:name "Disk Type" ; + sh:order 1 ; + sh:path gx:diskType ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 4 ; + sh:path gx:generation ] ; + sh:targetClass gx:Disk . + +gx:SoftwareResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Gaia-X Virtual Resource describing an executable program." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Software Resource" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ] ; + sh:targetClass gx:SoftwareResource . + +gx:OperatingSystem a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing an operating system." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Operation System" ; + sh:property [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Operation System Distribution" ; + sh:order 0 ; + sh:path gx:osDistribution ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ] ; + sh:targetClass gx:OperatingSystem . + +gx:Signature a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the signature" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:signatureValue ], + [ sh:description "Defines the algorithm used to calculate or verify the signature." ; + sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:signatureAlgorithm ] ; + sh:targetClass gx:Signature . + +gx:CheckSum a sh:NodeShape ; + sh:closed false ; + sh:description "Detail on how to calculate or verify a checksum." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Algorithm used to create checksum." ; + sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:checkSumCalculation ], + [ sh:datatype xsd:string ; + sh:description "Value of the check sum." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:checkSumValue ] ; + sh:targetClass gx:CheckSum . + +gx:MemorySize a sh:NodeShape ; + sh:closed false ; + sh:description "The number of bits, that can be stored on a digital storage." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Memory size" ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass gx:MemorySize . + +gx:LegalPerson a sh:NodeShape ; + sh:closed false ; + sh:description "A legal person, who is uniquely identified by its registration number." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Legal Person" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class ; + sh:description "The full legal address of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal address" ; + sh:order 1 ; + sh:path gx:legalAddress ], + [ sh:class ; + sh:description "Full physical location of the headquarter of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:headquartersAddress ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; + sh:order 4 ; + sh:path gx:subOrganisationOf ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; + sh:order 3 ; + sh:path gx:parentOrganizationOf ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; + sh:minCount 1 ; + sh:name "registration number" ; + sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; + sh:order 0 ; + sh:path gx:registrationNumber ] ; + sh:targetClass gx:LegalPerson . + +gx:PhysicalResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Physical Resource" ; + sh:property [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; + sh:name "manufactured by" ; + sh:order 2 ; + sh:path gx:manufacturedBy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; + sh:name "owned by" ; + sh:order 1 ; + sh:path gx:ownedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; + sh:minCount 1 ; + sh:name "maintained by" ; + sh:order 0 ; + sh:path gx:maintainedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 4 ; + sh:path gx:aggregationOfResources ], + [ sh:class ; + sh:description "A list of physical locations." ; + sh:minCount 1 ; + sh:order 3 ; + sh:path gx:location ] ; + sh:targetClass gx:PhysicalResource . + +gx:VirtualResource a sh:NodeShape ; + sh:closed false ; + sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Resource" ; + sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 0 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 4 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 5 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 1 ; + sh:path gx:license ] ; + sh:targetClass gx:VirtualResource . + diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 543b40a..57a648a 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-17T10:12:38 +# Generation date: 2023-12-19T11:59:13 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -91,7 +91,7 @@ class Address(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None - gps: Optional[str] = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -102,8 +102,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) - if self.gps is not None and not isinstance(self.gps, str): - self.gps = str(self.gps) + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -117,6 +116,78 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + @dataclass class GaiaXEntity(YAMLRoot): """ @@ -241,7 +312,7 @@ class Device(YAMLRoot): vendor: Optional[str] = None generation: Optional[str] = None defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() + supportedOversubscriptionRatio: Optional[int] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.vendor is not None and not isinstance(self.vendor, str): @@ -253,9 +324,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - if not isinstance(self.supportedOversubscriptionRatio, list): - self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] - self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) super().__post_init__(**kwargs) @@ -388,7 +458,7 @@ class GPU(Device): class_model_uri: ClassVar[URIRef] = GX.GPU gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[str] = "\"none\"" + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" gpuProcessingUnits: Optional[int] = None gpuPassthrough: Optional[Union[bool, Bool]] = False @@ -396,8 +466,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): - self.gpuInterconnection = str(self.gpuInterconnection) + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): self.gpuProcessingUnits = int(self.gpuProcessingUnits) @@ -695,7 +765,7 @@ class Quantity(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Quantity value: float = None - unit: Union[str, URI] = None + unit: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.value): @@ -705,8 +775,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.unit): self.MissingRequiredField("unit") - if not isinstance(self.unit, URI): - self.unit = URI(self.unit) + if not isinstance(self.unit, str): + self.unit = str(self.unit) super().__post_init__(**kwargs) @@ -724,7 +794,7 @@ class Frequency(Quantity): class_model_uri: ClassVar[URIRef] = GX.Frequency value: float = None - unit: Union[str, URI] = None + unit: str = None @dataclass class MemorySize(Quantity): @@ -739,7 +809,7 @@ class MemorySize(Quantity): class_model_uri: ClassVar[URIRef] = GX.MemorySize value: float = None - unit: Union[str, URI] = None + unit: str = None @dataclass class Power(Quantity): @@ -754,7 +824,7 @@ class Power(Quantity): class_model_uri: ClassVar[URIRef] = GX.Power value: float = None - unit: Union[str, URI] = None + unit: str = None class Participant(GaiaXEntity): """ @@ -1064,7 +1134,7 @@ class PXEImage(Image): copyrightOwnedBy: Union[str, List[str]] = None license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): @@ -1140,7 +1210,7 @@ class ServiceOffering(GaiaXEntity): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" dependsOn: Optional[Union[str, List[str]]] = empty_list() aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() @@ -1213,7 +1283,7 @@ class InfrastructureServiceOffering(ServiceOffering): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): @@ -1230,7 +1300,7 @@ class ComputeServiceOffering(InfrastructureServiceOffering): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -1257,7 +1327,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): @@ -1368,6 +1438,117 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + @dataclass class VMImage(Image): """ @@ -4043,7 +4224,7 @@ class EncryptionAlgorithm(EnumDefinitionImpl): description="TBD") other = PermissibleValue( text="other", - description="Algorithm for enchryption not further described.") + description="Algorithm for encryption not further described.") _defn = EnumDefinition( name="EncryptionAlgorithm", @@ -4148,6 +4329,24 @@ def _addvals(cls): setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. @@ -5190,6 +5389,9 @@ class OSDistribution(EnumDefinitionImpl): OpenSolaris = PermissibleValue(text="OpenSolaris") openSUSE = PermissibleValue(text="openSUSE") Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") _defn = EnumDefinition( name="OSDistribution", @@ -8568,14 +8770,14 @@ class slots: slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), model_uri=GX.value, domain=None, range=float) -slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), - model_uri=GX.unit, domain=None, range=Union[str, URI]) +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), model_uri=GX.address__countryCode, domain=None, range=str) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[str]) + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) @@ -8586,6 +8788,31 @@ class slots: slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), model_uri=GX.address__locality, domain=None, range=Optional[str]) +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) @@ -8647,7 +8874,7 @@ class slots: model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) @@ -8671,7 +8898,7 @@ class slots: model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) @@ -8907,6 +9134,39 @@ class slots: slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py index 2bec6ca..82f6146 100644 --- a/generator/discovery/openstack/discovery_vm_images.py +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -1,3 +1,5 @@ +import typing + from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk @@ -12,14 +14,15 @@ import generator.common.const as const +from typing import Dict class VmDiscovery(): - def __init__(self, conn: Connection) -> None: + def __init__(self, conn: Connection, config: Dict) -> None: self.conn = conn + self.config = config - - #def collect_vm_images(self, conn: Connection) -> List[str]: + # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[GX_Image]: """ Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. @@ -36,23 +39,43 @@ def discover_vm_images(self) -> List[GX_Image]: def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ - Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + Converts Openstack image to a Gaia-X virtual machine image. @param os_image: Openstack image properties - @return: Gaia-X compliant virtual machine image + @return: Gaia-X virtual machine image """ # collect all properties cpu_req = self._get_cpu_req(os_image.architecture) ram_req = self._get_min_ram_req(os_image.min_ram) root_disk_req = self._get_min_disk_req(os_image.min_disk) - - return GX_Image(copyrightOwnedBy='TBA', - license="TBA", - resourcePolicy=const.DEFAULT_RESOURCE_POLICY, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - version=os_image.os_version) + operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + #license = operatingSystem.license + #copyright_owner = operatingSystem.copyrightOwnedBy + #resource_policy= const.DEFAULT_RESOURCE_POLICY + + # read mandatory attributes from config or use default values + try: + license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + pass + try: + copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + pass + try: + resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + pass + + #return GX_Image(copyrightOwnedBy=copyright_owner, + # license=license, + # resourcePolicy=resource_policy, + # cpuReq=cpu_req, + # ramReq=ram_req, + # rootDiskReq=root_disk_req, + # operatingSystem=operatingSystem, + # version=os_image.os_version)# @staticmethod def _get_cpu_req(arch: str) -> CPU: @@ -70,18 +93,145 @@ def _get_cpu_req(arch: str) -> CPU: def _get_min_ram_req(min_ram_size: str) -> Memory: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) - return Memory(memorySize = size) + size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize=size) @staticmethod def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize = size) + size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size) - - def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + # Copyright owner and license not supported as Image properties, currently --> Default values are used if os_distro == "arch": - return OperatingSystem(version=os_version, os_distro="Arch Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) if os_distro == "centos": - return OperatingSystem(version=os_version, os_distro="CentOS Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) + if os_distro == "debian": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) + if os_distro == "fedora": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) + if os_distro == "freebsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) + if os_distro == "gentoo": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) + if os_distro == "mandrake": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) + if os_distro == "mandriva": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) + if os_distro == "mes": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) + if os_distro == "msdos": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) + if os_distro == "netbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) + if os_distro == "netware": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) + if os_distro == "openbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) + if os_distro == "opensolaris": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) + if os_distro == "opensuse": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + if os_distro == "rocky": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) + if os_distro == "rhel": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) + if os_distro == "sled": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) + if os_distro == "ubuntu": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) + if os_distro == "windows": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) + if os_distro == "cirros": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) + if os_distro == "almalinux": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) + + raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + + def _get_resource_policy(self, os: str) -> str: + policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] + if policy == "DEFAULT": + return const.DEFAULT_RESOURCE_POLICY + else: + return policy + + def _get_copyrightowner(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + + def _get_license(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + + + + + + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index b7feca9..9bd08ca 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,20 +1,23 @@ import openstack from openstack.connection import Connection +from typing import Dict import sys from generator.discovery.openstack.discovery_vm_images import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services" - def __init__(self, conn: Connection) -> None: + def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn self.auth = conn.auth self.regions = list(conn.identity.regions()) + self.config = config def discover_properties(self): - vm_dis = VmDiscovery(self.conn) - vm_dis.discover_vm_images() + vm_dis = VmDiscovery(self.conn, self.config) + creds = vm_dis.discover_vm_images() + print(creds) # Create per region service catalogs From 790a147f3dedeaf9f566f11a4dee843519af98ff Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 16:25:28 +0100 Subject: [PATCH 043/175] Discover mandatory attributes Signed-off-by: Anja Strunk --- generator/common/const.py | 2 + .../discovery/openstack/opentack_discovery.py | 2 +- ...ry_vm_images.py => vm_images_discovery.py} | 114 ++++++++++++++---- generator/test.py | 0 4 files changed, 96 insertions(+), 22 deletions(-) rename generator/discovery/openstack/{discovery_vm_images.py => vm_images_discovery.py} (77%) delete mode 100644 generator/test.py diff --git a/generator/common/const.py b/generator/common/const.py index bfb6edc..78b2e7c 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,4 +1,6 @@ DEFAULT_RESOURCE_POLICY = "default: allow intent" +DEFAULT_FIRMWARE_TYPE = "other" +DEFAULT_WATCHDOG_ACTION = "none" UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 9bd08ca..3492e40 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -3,7 +3,7 @@ from typing import Dict import sys -from generator.discovery.openstack.discovery_vm_images import VmDiscovery +from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services" diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/vm_images_discovery.py similarity index 77% rename from generator/discovery/openstack/discovery_vm_images.py rename to generator/discovery/openstack/vm_images_discovery.py index 82f6146..dd5a399 100644 --- a/generator/discovery/openstack/discovery_vm_images.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -16,6 +16,7 @@ from typing import Dict + class VmDiscovery(): def __init__(self, conn: Connection, config: Dict) -> None: @@ -44,19 +45,28 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @return: Gaia-X virtual machine image """ - # collect all properties + # Discover all SCS mandatory properties cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image.min_ram) - root_disk_req = self._get_min_disk_req(os_image.min_disk) - operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + ram_req = self._get_min_ram_req(os_image) + root_disk_req = self._get_min_disk_req(os_image) + operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + # Discover all SCS recommended attributes + secure_boot = self._is_secure_boot(os_image) + firmware_type = self._get_firmeware_type(os_image) + watchdog_action = self._get_watchdog_action(os_image) + v_pmu = self._is_vmpu(os_image) + video_ram_size = self._get_video_ram(os_image) + multiqueue = self._is_multiqueue_enabled(os_image) - #license = operatingSystem.license - #copyright_owner = operatingSystem.copyrightOwnedBy - #resource_policy= const.DEFAULT_RESOURCE_POLICY + # Discover Gaia-X mandatory attributes + img_license = operating_system.license + copyright_owner = operating_system.copyrightOwnedBy + resource_policy = const.DEFAULT_RESOURCE_POLICY # read mandatory attributes from config or use default values try: - license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] except KeyError: pass try: @@ -68,14 +78,22 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: except KeyError: pass - #return GX_Image(copyrightOwnedBy=copyright_owner, - # license=license, - # resourcePolicy=resource_policy, - # cpuReq=cpu_req, - # ramReq=ram_req, - # rootDiskReq=root_disk_req, - # operatingSystem=operatingSystem, - # version=os_image.os_version)# + # print(os_image.os_secure_boot) + + return GX_Image(copyrightOwnedBy=copyright_owner, + license=img_license, + resourcePolicy=resource_policy, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + operatingSystem=operating_system, + version=os_image.os_version, + secureBoot=secure_boot, + firmwareType=firmware_type, + watchDogAction=watchdog_action, + vPMU=v_pmu, + videoRamSize=video_ram_size, + multiQueues=multiqueue) @staticmethod def _get_cpu_req(arch: str) -> CPU: @@ -90,16 +108,22 @@ def _get_cpu_req(arch: str) -> CPU: return CPU(cpuArchitecture=cpu_arch_types.other) @staticmethod - def _get_min_ram_req(min_ram_size: str) -> Memory: + def _get_min_ram_req(image: OS_Image) -> Memory: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) + size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) + try: + hw_encryption = image.hw_mem_encryption + if hw_encryption: + return Memory(memorySize=size, hardwareEncryption=hw_encryption) + except AttributeError: + pass return Memory(memorySize=size) @staticmethod - def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size) + def _get_min_disk_req(image: OS_Image) -> Disk: + size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size, diskBusType=image.hw_disk_bus) def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: # Copyright owner and license not supported as Image properties, currently --> Default values are used @@ -229,9 +253,57 @@ def _get_copyrightowner(self, os: str) -> str: def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + def _is_secure_boot(self, image: OS_Image) -> bool: + try: + secure_boot = image.needs_secure_boot + if secure_boot: + return secure_boot + except AttributeError: + pass + return False + + def _get_firmeware_type(self, image: OS_Image) -> str: + try: + firmwareType = image.hw_firmware_type + if firmwareType: + return firmwareType + except AttributeError: + pass + return const.DEFAULT_FIRMWARE_TYPE + def _get_watchdog_action(self, image: OS_Image) -> str: + try: + action = image.hw_watchdog_action + if action: + return action + except AttributeError: + pass + return const.DEFAULT_WATCHDOG_ACTION + def _is_vmpu(self, image: OS_Image) -> bool: + try: + pmu = image.hw_pmu + if pmu: + return pmu + except AttributeError: + pass + return False + def _get_video_ram(self, image: OS_Image) -> MemorySize: + try: + ram_size = image.hw_video_ram + if ram_size: + return MemorySize(value=float()) + except AttributeError: + pass + def _is_multiqueue_enabled(self, image: OS_Image) -> bool: + try: + enabled = image.hw_vif_multiqueue_enabled + if enabled: + return enabled + except AttributeError: + pass + return False diff --git a/generator/test.py b/generator/test.py deleted file mode 100644 index e69de29..0000000 From b45ae13a79802efa2d4b5500c096ae01c17eff92 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 20 Dec 2023 12:03:09 +0100 Subject: [PATCH 044/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/exceptions.py | 5 + .../discovery/openstack/opentack_discovery.py | 2 - .../openstack/vm_images_discovery.py | 352 ++++++++++-------- 3 files changed, 208 insertions(+), 151 deletions(-) create mode 100644 generator/common/exceptions.py diff --git a/generator/common/exceptions.py b/generator/common/exceptions.py new file mode 100644 index 0000000..de8920d --- /dev/null +++ b/generator/common/exceptions.py @@ -0,0 +1,5 @@ + +class MissingMandatoryAttribute(AttributeError): + def __init__(self, *args, **kwargs): + super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 3492e40..48d739d 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -17,8 +17,6 @@ def __init__(self, conn: Connection, config: Dict) -> None: def discover_properties(self): vm_dis = VmDiscovery(self.conn, self.config) creds = vm_dis.discover_vm_images() - print(creds) - # Create per region service catalogs """self.regcat = {} diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index dd5a399..14e641f 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -6,8 +6,12 @@ from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +from generator.common.exceptions import MissingMandatoryAttribute + from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image from typing import List @@ -45,200 +49,185 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @return: Gaia-X virtual machine image """ - # Discover all SCS mandatory properties - cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image) - root_disk_req = self._get_min_disk_req(os_image) - operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) - - # Discover all SCS recommended attributes - secure_boot = self._is_secure_boot(os_image) - firmware_type = self._get_firmeware_type(os_image) - watchdog_action = self._get_watchdog_action(os_image) - v_pmu = self._is_vmpu(os_image) - video_ram_size = self._get_video_ram(os_image) - multiqueue = self._is_multiqueue_enabled(os_image) - - # Discover Gaia-X mandatory attributes - img_license = operating_system.license - copyright_owner = operating_system.copyrightOwnedBy - resource_policy = const.DEFAULT_RESOURCE_POLICY - - # read mandatory attributes from config or use default values - try: - img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] - except KeyError: - pass - try: - copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] - except KeyError: - pass - try: - resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] - except KeyError: - pass - - # print(os_image.os_secure_boot) - - return GX_Image(copyrightOwnedBy=copyright_owner, - license=img_license, - resourcePolicy=resource_policy, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - operatingSystem=operating_system, - version=os_image.os_version, - secureBoot=secure_boot, - firmwareType=firmware_type, - watchDogAction=watchdog_action, - vPMU=v_pmu, - videoRamSize=video_ram_size, - multiQueues=multiqueue) + # Initialize Gaia-X Image + gx_image = GX_Image(copyrightOwnedBy="TBA", + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY) + + # Discover optional attributes + self._add_secure_boot(os_image, gx_image) + self._add_firmeware_type(os_image, gx_image) + self._add_watchdog_action(os_image, gx_image) + self._add_vmpu(os_image, gx_image) + self._add_video_ram(os_image, gx_image) + self._add_multiqueue_enabled(os_image, gx_image) + self._add_update_strategy(os_image, gx_image) + self._add_name(os_image, gx_image) + self._add_description(os_image, gx_image) + self._add_cpu_req(os_image, gx_image) + self._add_min_ram_req(os_image, gx_image) + self._add_min_disk_req(os_image, gx_image) + self._add_operation_system_info(os_image, gx_image) + self._add_build_date(os_image, gx_image) + self._add_license_included(os_image, gx_image) + + # Discover mandatory attribute + self._add_license(os_image, gx_image) + self._add_copyrigthowner(os_image, gx_image) + self._add_resource_policy(os_image, gx_image) + + return gx_image @staticmethod - def _get_cpu_req(arch: str) -> CPU: - if arch == "i686": - return CPU(cpuArchitecture="x86-32") - if arch in ["x86_64", "ia64"]: - return CPU(cpuArchitecture="x86-64") - if arch == "aarch6": - return CPU(cpuArchitecture="AArch-32") - if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - return CPU(cpuArchitecture="RISC-V") - return CPU(cpuArchitecture=cpu_arch_types.other) + def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: + if os_image.architecture == "i686": + gx_image.cpuReq = CPU(cpuArchitecture="x86-32") + elif os_image.architecture in ["x86_64", "ia64"]: + gx_image.cpuReq = CPU(cpuArchitecture="x86-64") + elif os_image.architecture == "aarch6": + gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") + elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") + else: + gx_image.cpuReq = CPU(cpuArchitecture=cpu_arch_types.other) @staticmethod - def _get_min_ram_req(image: OS_Image) -> Memory: + def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) try: - hw_encryption = image.hw_mem_encryption - if hw_encryption: - return Memory(memorySize=size, hardwareEncryption=hw_encryption) - except AttributeError: - pass - return Memory(memorySize=size) + size = MemorySize(value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB) + mem_req = Memory(memorySize=size) + try: + mem_req.hardwareEncryption = os_image.hw_mem_encryption + except AttributeError: + pass + gx_image.ramReq = mem_req + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) @staticmethod - def _get_min_disk_req(image: OS_Image) -> Disk: - size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size, diskBusType=image.hw_disk_bus) + def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: + try: + size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) - def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Copyright owner and license not supported as Image properties, currently --> Default values are used - if os_distro == "arch": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + if os_image.os_distro == "arch": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), license=self._get_license(const.CONFIG_OS_ARCH)) - if os_distro == "centos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + elif os_image.os_distro == "centos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), license=self._get_license(const.CONFIG_OS_CENTOS)) - if os_distro == "debian": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + elif os_image.os_distro == "debian": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), license=self._get_license(const.CONFIG_OS_DEBIAN)) - if os_distro == "fedora": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + elif os_image.os_distro == "fedora": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), license=self._get_license(const.CONFIG_OS_FEDORA)) - if os_distro == "freebsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + elif os_image.os_distro == "freebsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), license=self._get_license(const.CONFIG_OS_FREEBSD)) - if os_distro == "gentoo": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + elif os_image.os_distro == "gentoo": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), license=self._get_license(const.CONFIG_OS_GENTOO)) - if os_distro == "mandrake": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + elif os_image.os_distro == "mandrake": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), license=self._get_license(const.CONFIG_OS_MANDRAKE)) - if os_distro == "mandriva": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + elif os_image.os_distro == "mandriva": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), license=self._get_license(const.CONFIG_OS_MANDRIVA)) - if os_distro == "mes": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + elif os_image.os_distro == "mes": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), license=self._get_license(const.CONFIG_OS_MES)) - if os_distro == "msdos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + elif os_image.os_distro == "msdos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), license=self._get_license(const.CONFIG_OS_MSDOS)) - if os_distro == "netbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + elif os_image.os_distro == "netbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), license=self._get_license(const.CONFIG_OS_NETBSD)) - if os_distro == "netware": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + elif os_image.os_distro == "netware": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), license=self._get_license(const.CONFIG_OS_NOVELL)) - if os_distro == "openbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + elif os_image.os_distro == "openbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), license=self._get_license(const.CONFIG_OS_OPENBSD)) - if os_distro == "opensolaris": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + elif os_image.os_distro == "opensolaris": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), license=self._get_license(const.CONFIG_OS_SOLARIS)) - if os_distro == "opensuse": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + elif os_image.os_distro == "opensuse": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) - if os_distro == "rocky": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + elif os_image.os_distro == "rocky": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), license=self._get_license(const.CONFIG_OS_ROCKY)) - if os_distro == "rhel": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + elif os_image.os_distro == "rhel": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), license=self._get_license(const.CONFIG_OS_RHEL)) - if os_distro == "sled": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + elif os_image.os_distro == "sled": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), license=self._get_license(const.CONFIG_OS_SLED)) - if os_distro == "ubuntu": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + elif os_image.os_distro == "ubuntu": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), license=self._get_license(const.CONFIG_OS_UBUNTU)) - if os_distro == "windows": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + elif os_image.os_distro == "windows": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), license=self._get_license(const.CONFIG_OS_WINDOWS)) - if os_distro == "cirros": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + elif os_image.os_distro == "cirros": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), license=self._get_license(const.CONFIG_OS_CIRROS)) - if os_distro == "almalinux": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + elif os_image.os_distro == "almalinux": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), license=self._get_license(const.CONFIG_OS_ALMALINUX)) - - raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + else: + raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") def _get_resource_policy(self, os: str) -> str: policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] @@ -250,60 +239,125 @@ def _get_resource_policy(self, os: str) -> str: def _get_copyrightowner(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + gx_image.license = gx_image.operatingSystem.copyrightOwnedBy + + def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # read mandatory attributes from config or use default values + try: + gx_image.license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + gx_image.license = gx_image.operatingSystem.license + def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # read mandatory attributes from config or use default values + try: + gx_image.rresource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + gx_image.rresource_policy = const.DEFAULT_RESOURCE_POLICY + def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _is_secure_boot(self, image: OS_Image) -> bool: + def _add_secure_boot(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - secure_boot = image.needs_secure_boot - if secure_boot: - return secure_boot + if not os_image.needs_secure_boot: + return + gx_image.secureBoot = os_image.needs_secure_boot except AttributeError: pass - return False - def _get_firmeware_type(self, image: OS_Image) -> str: + def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - firmwareType = image.hw_firmware_type - if firmwareType: - return firmwareType + if not os_image.hw_firmware_type: + return + gx_image.firmwareType = os_image.hw_firmware_type except AttributeError: - pass + gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - return const.DEFAULT_FIRMWARE_TYPE - - def _get_watchdog_action(self, image: OS_Image) -> str: + def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - action = image.hw_watchdog_action - if action: - return action + if not os_image.hw_watchdog_action: + return + gx_image.watchDogAction = os_image.hw_watchdog_action except AttributeError: pass - return const.DEFAULT_WATCHDOG_ACTION - - def _is_vmpu(self, image: OS_Image) -> bool: + def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - pmu = image.hw_pmu - if pmu: - return pmu + if not os_image.hw_pmu: + return + gx_image.vPMU = os_image.hw_pmu except AttributeError: pass - return False - def _get_video_ram(self, image: OS_Image) -> MemorySize: + def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - ram_size = image.hw_video_ram - if ram_size: - return MemorySize(value=float()) + if not os_image.hw_video_ram: + return + gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram)) except AttributeError: pass - def _is_multiqueue_enabled(self, image: OS_Image) -> bool: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - enabled = image.hw_vif_multiqueue_enabled - if enabled: - return enabled + if not os_image.hw_vif_multiqueue_enabled: + return + gx_image.multiQueues = os_image.hw_vif_multiqueue_enabled except AttributeError: pass - return False + + def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + os_image.updateStrategy = UpdateStrategy() + + # collect mandatory attributes + try: + os_image.updateStrategy.replaceFrequency = os_image.properties['replace_frequency'] + os_image.updateStrategy.oldVersionsValidUntil = os_image.properties['uuid_validity'] + os_image.updateStrategy.providedUntil = os_image.properties['provided_until'] + except KeyError as e: + raise MissingMandatoryAttribute(e.args) + + # collect optional attributes + try: + os_image.updateStrategy.hotfixHours = os_image.properties['hotfix_hours'] + except KeyError: + pass + + def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.description = os_image.properties[ + 'image_description'] + except KeyError: + pass + try: + gx_image.description = gx_image.description + " Managed by " + os_image.properties[ + 'managed_by_VENDOR'] + except KeyError: + pass + + def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + if not os_image.name: + return + gx_image.name = os_image.name + except KeyError: + pass + + def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.buildDate = os_image.properties['image_build_date'] + except KeyError: + pass + + @staticmethod + def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.licenseIncluded = os_image.properties['licenseIncluded'] + except KeyError: + gx_image.licenseIncluded = False + + + # ToDo: add aggrenation of From 424dd61567de92c4cf1e9191d6c32f05dd21fc63 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 21 Dec 2023 15:05:52 +0100 Subject: [PATCH 045/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 14 +++-- .../openstack/vm_images_discovery.py | 61 ++++++++++++++++++- 2 files changed, 69 insertions(+), 6 deletions(-) diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 57a648a..99d6757 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-19T11:59:13 +# Generation date: 2023-12-20T13:27:56 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -4262,14 +4262,18 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "ripemd-160", + setattr(cls, "sha-2", PermissibleValue( - text="ripemd-160", + text="sha-2", description="TBD")) setattr(cls, "sha-3", PermissibleValue( text="sha-3", description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) class KeyManagement(EnumDefinitionImpl): @@ -5378,7 +5382,7 @@ def _addvals(cls): class OSDistribution(EnumDefinitionImpl): """ - Possible values for operationg system distribution. + Possible values for operating system distribution. """ Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") @@ -5395,7 +5399,7 @@ class OSDistribution(EnumDefinitionImpl): _defn = EnumDefinition( name="OSDistribution", - description="Possible values for operationg system distribution.", + description="Possible values for operating system distribution.", ) @classmethod diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 14e641f..95b88da 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -7,6 +7,9 @@ from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm + from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image @@ -70,6 +73,9 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_operation_system_info(os_image, gx_image) self._add_build_date(os_image, gx_image) self._add_license_included(os_image, gx_image) + self._add_patch_level(os_image, gx_image) + self._add_version(os_image, gx_image) + self._add_checksum(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -357,7 +363,60 @@ def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.licenseIncluded = os_image.properties['licenseIncluded'] except KeyError: - gx_image.licenseIncluded = False + pass + + @staticmethod + def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.patchLevel = os_image.properties['patchlevel'] + except KeyError: + pass + + @staticmethod + def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.version = os_image.properties['internal_version'] + except KeyError: + pass + + @staticmethod + def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + algo = VmDiscovery._get_algo(os_image.hash_algo) + value = os_image.hash_value + gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + except AttributeError: + pass + + @staticmethod + def _get_algo(algo: str) -> str: + if algo in ['sha512', 'sha224', 'sha256' 'sha384']: + return 'sha-2' + if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + return algo + return ChecksumAlgorithm.other + + + @staticmethod + def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.maintenance = os_image.properties['maintained_until'] + except KeyError: + pass + + @staticmethod + def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + + @staticmethod + def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo + + except AttributeError: + pass # ToDo: add aggrenation of From 901ebc90ff4b7c1d167f3cb698dc113f9370b0ce Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:00:59 +0100 Subject: [PATCH 046/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 gax-cpu.py diff --git a/gax-cpu.py b/gax-cpu.py new file mode 100644 index 0000000..22a8c02 --- /dev/null +++ b/gax-cpu.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# gax-cpu.py +""" +These classes reflect the Gaia-X view on physical infra + +(c) Kurt Garloff , 3/2022 - 6/2022 +SPDX-License-Identifier: EPL-2.0 +""" + + +class CPU: + "CPU abstraction according to Gaia-X attributes" + def __init__(self): + "c'tor setting all vals to defaults" + # Gaia-X attrs + self.numberOfCores = 0 + self.numberOfThreads = 0 + self.frequency = 0 + self.boostFrequency = 0 + self.cacheSize = 0 + # This would not be interesting typically + self.allowedSocket = "" + # Virt. attrs -- not in GaX + self.dedicatedCore = False + self.dedicatedThread = False + self.limitOversubscr = False + + +class MEM: + "RAM of an instance" + def __init__(self): + "c'tor setting all vals to defaults" + self.memGB = 0 + self.ECC = True \ No newline at end of file From 1df49be4f30efd83433b10ce0646b547fbcf3b0e Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:03 +0100 Subject: [PATCH 047/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gax-cpu.py b/gax-cpu.py index 22a8c02..c6bb0f7 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,4 +33,5 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True \ No newline at end of file + self.ECC = True + \ No newline at end of file From c9ce6ad541a42cb8e362335512755933ba460108 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:30 +0100 Subject: [PATCH 048/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gax-cpu.py b/gax-cpu.py index c6bb0f7..22a8c02 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,5 +33,4 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True - \ No newline at end of file + self.ECC = True \ No newline at end of file From bb6446e42de709ab3765cb635a4273c768d5dd9f Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:03:52 +0100 Subject: [PATCH 049/175] Remove unused files Signed-off-by: Anja Strunk --- generator/common/gaia-x.shacl | 2275 --------------------------------- 1 file changed, 2275 deletions(-) delete mode 100644 generator/common/gaia-x.shacl diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl deleted file mode 100644 index e13e0ae..0000000 --- a/generator/common/gaia-x.shacl +++ /dev/null @@ -1,2275 +0,0 @@ -@prefix gx: . -@prefix rdf: . -@prefix sh: . -@prefix xsd: . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:CodeArtifact a sh:NodeShape ; - sh:closed false ; - sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Code Artifact" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:CodeArtifact . - -gx:DataResource a sh:NodeShape ; - sh:closed false ; - sh:description "A dataset exposed through a service instance." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Resource" ; - sh:property [ sh:class gx:DataExchangeComponent ; - sh:description "A resolvable link to the data exchange component that exposes the data resource." ; - sh:minCount 1 ; - sh:name "exposed through" ; - sh:order 1 ; - sh:path gx:exposedThrough ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is obsolete." ; - sh:maxCount 1 ; - sh:name "obsolete dateTime" ; - sh:order 2 ; - sh:path gx:obsoleteDateTime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to participant legally enabling the data usage." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "produced by" ; - sh:order 0 ; - sh:path gx:producedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:Consent ; - sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; - sh:name "consent" ; - sh:order 6 ; - sh:path gx:consent ], - [ sh:datatype xsd:boolean ; - sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "contains PII" ; - sh:order 4 ; - sh:path gx:containsPII ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 9 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:Participant ; - sh:description "data controller Participant as defined in GDPR." ; - sh:name "data controller" ; - sh:order 5 ; - sh:path gx:dataController ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 7 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; - sh:maxCount 1 ; - sh:name "expiration dateTime" ; - sh:order 3 ; - sh:path gx:expirationDateTime ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 8 ; - sh:path gx:license ] ; - sh:targetClass gx:DataResource . - -gx:Device a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 1 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 2 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 3 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:vendor ] ; - sh:targetClass gx:Device . - -gx:GaiaX a sh:NodeShape ; - sh:closed false ; - sh:description "Top level element of Gaia-X ecosystem." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:GaiaX . - -gx:GaiaXEntity a sh:NodeShape ; - sh:closed false ; - sh:description "Root class for Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Gaia-X Entity" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ] ; - sh:targetClass gx:GaiaXEntity . - -gx:Hypervisor a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:hypervisorType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:Hypervisor . - -gx:Image a sh:NodeShape ; - sh:closed false ; - sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Image" ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 5 ; - sh:path gx:videoRamSize ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:encryption ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 9 ; - sh:path gx:secureBoot ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:signature ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 2 ; - sh:path gx:cpuReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:updateStrategy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 10 ; - sh:path gx:vPMU ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 24 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 11 ; - sh:path gx:multiQueues ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 23 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:checkSum ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 19 ; - sh:path gx:buildDate ], - [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 3 ; - sh:path gx:gpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 20 ; - sh:path gx:copyrightOwnedBy ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path gx:maintenance ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 25 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 18 ; - sh:path gx:patchLevel ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 6 ; - sh:path gx:rootDiskReq ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 22 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 13 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:checksum ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 4 ; - sh:path gx:ramReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 1 ; - sh:path gx:operatingSystem ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 0 ; - sh:path gx:fileSize ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 21 ; - sh:path gx:license ] ; - sh:targetClass gx:Image . - -gx:InstantiationRequirement a sh:NodeShape ; - sh:closed false ; - sh:description "A container class to gather all requirements for compute service offering instantiations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Instantiation Requirement" ; - sh:targetClass gx:InstantiationRequirement . - -gx:Issuer a sh:NodeShape ; - sh:closed false ; - sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; - sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 0 ; - sh:path gx:issuerTermsAndConditions ] ; - sh:targetClass gx:Issuer . - -gx:PXEImage a sh:NodeShape ; - sh:closed false ; - sh:description "PXE image for physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "PXE image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 4 ; - sh:path gx:gpuReq ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 5 ; - sh:path gx:ramReq ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 21 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 11 ; - sh:path gx:vPMU ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:checkSum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:encryption ], - [ sh:description "Disk format. Default \"ISO\"." ; - sh:in ( "WINPE" "ISO" ) ; - sh:maxCount 1 ; - sh:name "disk format" ; - sh:order 0 ; - sh:path gx:pxeImageDiskFormat ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 23 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 20 ; - sh:path gx:buildDate ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:checksum ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 10 ; - sh:path gx:secureBoot ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 1 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 14 ; - sh:path gx:licenseIncluded ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 26 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 22 ; - sh:path gx:license ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 19 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 25 ; - sh:path gx:name ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:maintenance ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path gx:version ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 12 ; - sh:path gx:multiQueues ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 7 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 6 ; - sh:path gx:videoRamSize ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 3 ; - sh:path gx:cpuReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 2 ; - sh:path gx:operatingSystem ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:updateStrategy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 24 ; - sh:path gx:aggregationOfResources ] ; - sh:targetClass gx:PXEImage . - -gx:RegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:RegistrationNumber . - -gx:Resource a sh:NodeShape ; - sh:closed false ; - sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 1 ; - sh:path gx:name ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 0 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 2 ; - sh:path gx:description ] ; - sh:targetClass gx:Resource . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:ConfidentialComputing a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; - sh:description "indicates whether confidential server has an associated attestation service." ; - sh:maxCount 1 ; - sh:name "attestation service URI" ; - sh:order 1 ; - sh:path gx:attestationServiceURI ], - [ sh:datatype xsd:string ; - sh:description "Particular confidential computing technology used by the flavors as defined in..." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:technology ] ; - sh:targetClass gx:ConfidentialComputing . - -gx:Consent a sh:NodeShape ; - sh:closed false ; - sh:description "Information on the legitimate processing of information related to PII." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Consent" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; - sh:minCount 1 ; - sh:name "purpose" ; - sh:order 2 ; - sh:path gx:purpose ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; - sh:minCount 1 ; - sh:name "data protection contact point" ; - sh:order 1 ; - sh:path gx:dataProtectionContactPoint ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; - sh:minCount 1 ; - sh:name "consent withdrawal contact point" ; - sh:order 3 ; - sh:path gx:consentWithdrawalContactPoint ], - [ sh:datatype xsd:string ; - sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal Basis" ; - sh:order 0 ; - sh:path gx:legalBasis ] ; - sh:targetClass gx:Consent . - -gx:DataExchangeComponent a sh:NodeShape ; - sh:closed false ; - sh:description "A service/resource used to make a data resource available." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Exchange Component" ; - sh:targetClass gx:DataExchangeComponent . - -gx:EORI a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The Economic Operators Registration and Identification number (EORI)." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:eori ] ; - sh:targetClass gx:EORI . - -gx:EUID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:euid ] ; - sh:targetClass gx:EUID . - -gx:GPSLocation a sh:NodeShape ; - sh:closed false ; - sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; - sh:maxCount 1 ; - sh:name "crs" ; - sh:order 3 ; - sh:path gx:crs ; - sh:pattern "^CRS" ], - [ sh:datatype xsd:string ; - sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; - sh:maxCount 1 ; - sh:name "altitude" ; - sh:order 2 ; - sh:path gx:altitude ], - [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "latitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 0 ; - sh:path gx:latitude ], - [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "longitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 1 ; - sh:path gx:longitude ] ; - sh:targetClass gx:GPSLocation . - -gx:LatestN a sh:NodeShape ; - sh:closed false ; - sh:description "Number of latest N outdated image versions, which will be valid." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:order 0 ; - sh:path gx:value ] ; - sh:targetClass gx:LatestN . - -gx:LeiCode a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Unique LEI number as defined by https://www.gleif.org." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path ] ; - sh:targetClass gx:LeiCode . - -gx:LocalRegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The state issued company number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:local ] ; - sh:targetClass gx:LocalRegistrationNumber . - -gx:Participant a sh:NodeShape ; - sh:closed false ; - sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ] ; - sh:targetClass gx:Participant . - -gx:ServerFlavor a sh:NodeShape ; - sh:closed false ; - sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Server Flavor" ; - sh:property [ sh:class gx:ConfidentialComputing ; - sh:description "Details with respect to confidential computing capabilities of the flavor." ; - sh:maxCount 1 ; - sh:name "confidential computing" ; - sh:order 6 ; - sh:path gx:confidentialComputing ], - [ sh:class gx:Memory ; - sh:description "Size of RAM of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:ram ], - [ sh:datatype xsd:string ; - sh:description "Network capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:network ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 9 ; - sh:path gx:hwRngTypeOfFlavor ], - [ sh:class gx:GPU ; - sh:description "GPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:gpu ], - [ sh:class gx:Disk ; - sh:description "Additional volume capabilities of boot volume of the flavor." ; - sh:name "additional volume" ; - sh:order 5 ; - sh:path gx:additionalVolume ], - [ sh:datatype xsd:boolean ; - sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; - sh:maxCount 1 ; - sh:name "Hardware-assisted virtualization" ; - sh:order 8 ; - sh:path gx:hardwareAssistedVirtualization ], - [ sh:class gx:SoftwareResource ; - sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:hypervisor ], - [ sh:class gx:CPU ; - sh:description "CPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "CPU requirements" ; - sh:order 0 ; - sh:path gx:cpu ], - [ sh:class gx:Disk ; - sh:description "Boot volume capabilities of boot volume of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "boot volume" ; - sh:order 4 ; - sh:path gx:bootVolume ] ; - sh:targetClass gx:ServerFlavor . - -gx:StandardConformity a sh:NodeShape ; - sh:closed false ; - sh:description "Details about standard applied to Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Name of the standard." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "title" ; - sh:order 0 ; - sh:path gx:title ], - [ sh:datatype xsd:anyURI ; - sh:description "Provides a link to schemas or details about applied standards." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "standard reference" ; - sh:order 1 ; - sh:path gx:standardReference ], - [ sh:datatype xsd:string ; - sh:description "Publisher of the standard." ; - sh:maxCount 1 ; - sh:name "publisher" ; - sh:order 2 ; - sh:path gx:publisher ] ; - sh:targetClass gx:StandardConformity . - -gx:VMImage a sh:NodeShape ; - sh:closed false ; - sh:description "Image for virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "VM image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 8 ; - sh:path gx:gpuReq ], - [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; - sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; - sh:maxCount 1 ; - sh:name "VM Image disk format" ; - sh:order 0 ; - sh:path gx:vmImageDiskFormat ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path gx:maintenance ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 28 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 15 ; - sh:path gx:vPMU ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path gx:signature ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path gx:checksum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:encryption ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 25 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 14 ; - sh:path gx:secureBoot ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 3 ; - sh:path gx:hwRngTypeOfImage ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 29 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 16 ; - sh:path gx:multiQueues ], - [ sh:description "Type of firmware which which guests are booted." ; - sh:in ( "BIOS" "UEFI" "other" ) ; - sh:maxCount 1 ; - sh:name "Firmware type" ; - sh:order 2 ; - sh:path gx:firmwareType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 26 ; - sh:path gx:license ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 11 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:updateStrategy ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 7 ; - sh:path gx:cpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 22 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 23 ; - sh:path gx:patchLevel ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 5 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 24 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 30 ; - sh:path gx:description ], - [ sh:description "Hypervisor type required by the image" ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:name "Hypervisor type" ; - sh:order 1 ; - sh:path gx:hypervisorType ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 6 ; - sh:path gx:operatingSystem ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 27 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:checkSum ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 10 ; - sh:path gx:videoRamSize ], - [ sh:description "Define the action to be performed if server hangs." ; - sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; - sh:maxCount 1 ; - sh:name "Watchdog action" ; - sh:order 4 ; - sh:path gx:watchDogAction ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 18 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 9 ; - sh:path gx:ramReq ] ; - sh:targetClass gx:VMImage . - -gx:VatID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The VAT identification number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:vatID ] ; - sh:targetClass gx:VatID . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:GPSUnit a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of a geographical point." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 180 ; - sh:minCount 1 ; - sh:minInclusive -180 ; - sh:name "degrees" ; - sh:order 0 ; - sh:path gx:degrees ], - [ sh:datatype xsd:float ; - sh:maxCount 1 ; - sh:maxInclusive 1 ; - sh:minInclusive 0 ; - sh:name "decimals" ; - sh:order 3 ; - sh:path gx:decimals ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "seconds" ; - sh:order 2 ; - sh:path gx:seconds ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "minutes" ; - sh:order 1 ; - sh:path gx:minutes ] ; - sh:targetClass gx:GPSUnit . - -gx:Encryption a sh:NodeShape ; - sh:closed false ; - sh:description "Encryption capabilities of a Gaia-X entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; - sh:in ( "BYOK" "HYOK" "managed" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "key management" ; - sh:order 1 ; - sh:path gx:keyManagement ], - [ sh:description "Supported algorithm used to encrypt." ; - sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "encryption algorithm" ; - sh:order 0 ; - sh:path gx:cipher ] ; - sh:targetClass gx:Encryption . - -gx:MaintenanceSubscription a sh:NodeShape ; - sh:closed false ; - sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; - sh:maxCount 1 ; - sh:name "Subscription required" ; - sh:order 1 ; - sh:path gx:subscriptionRequired ], - [ sh:datatype xsd:date ; - sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; - sh:maxCount 1 ; - sh:name "Maintenance until" ; - sh:order 2 ; - sh:path gx:maintainedUntil ], - [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; - sh:maxCount 1 ; - sh:name "Subscription included" ; - sh:order 0 ; - sh:path gx:subscriptionIncluded ] ; - sh:targetClass gx:MaintenanceSubscription . - -gx:UpdateStrategy a sh:NodeShape ; - sh:closed false ; - sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; - sh:maxCount 1 ; - sh:name "Old versions Valid until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; - sh:order 2 ; - sh:path gx:oldVersionsValidUntil ], - [ sh:datatype xsd:integer ; - sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; - sh:maxCount 1 ; - sh:minInclusive 0 ; - sh:name "Hotfix hours" ; - sh:order 1 ; - sh:path gx:hotfixHours ], - [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; - sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; - sh:maxCount 1 ; - sh:name "Replace Frequency" ; - sh:order 0 ; - sh:path gx:replaceFrequency ], - [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; - sh:maxCount 1 ; - sh:name "Provided until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; - sh:order 3 ; - sh:path gx:providedUntil ] ; - sh:targetClass gx:UpdateStrategy . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Full address of the entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "the street address of a postal address" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path ], - [ sh:class gx:GPSLocation ; - sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; - sh:order 1 ; - sh:path gx:gps ], - [ sh:datatype xsd:string ; - sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path ], - [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; - sh:order 0 ; - sh:path gx:countryCode ], - [ sh:datatype xsd:string ; - sh:description "String of a street-address" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path ] ; - sh:targetClass . - -gx:CPU a sh:NodeShape ; - sh:closed false ; - sh:description "Computational processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Last Level Cache size of the CPU." ; - sh:maxCount 1 ; - sh:name "last level cache size" ; - sh:order 7 ; - sh:path gx:lastLevelCacheSize ], - [ sh:class ; - sh:description "Boost frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "boost CPU frequency" ; - sh:order 6 ; - sh:path gx:boostFrequency ], - [ sh:datatype xsd:string ; - sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; - sh:name "CPU flags" ; - sh:order 1 ; - sh:path gx:cpuFlag ], - [ sh:datatype xsd:integer ; - sh:description "Number of threads of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of threads" ; - sh:order 4 ; - sh:path gx:numberOfThreads ], - [ sh:class ; - sh:description "Base frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "base CPU frequency" ; - sh:order 5 ; - sh:path gx:baseFrequency ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:vendor ], - [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; - sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; - sh:maxCount 1 ; - sh:name "CPU architecture" ; - sh:order 0 ; - sh:path gx:cpuArchitecture ], - [ sh:datatype xsd:boolean ; - sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; - sh:maxCount 1 ; - sh:name "smt enabled" ; - sh:order 2 ; - sh:path gx:smtEnabled ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 12 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 10 ; - sh:path gx:generation ], - [ sh:class ; - sh:description "CPU Thermal Design Power." ; - sh:maxCount 1 ; - sh:name "thermal design power" ; - sh:order 8 ; - sh:path gx:thermalDesignPower ], - [ sh:datatype xsd:integer ; - sh:description "Number of cores of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of CPU cores" ; - sh:order 3 ; - sh:path gx:numberOfCores ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 11 ; - sh:path gx:defaultOversubscriptionRatio ] ; - sh:targetClass gx:CPU . - -gx:ComputeServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Compute Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 2 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 8 ; - sh:path gx:keyword ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 13 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 6 ; - sh:path gx:dataProtectionRegime ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 0 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 10 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 7 ; - sh:path gx:dataAccountExport ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 12 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 1 ; - sh:path gx:providedBy ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 11 ; - sh:path gx:hostedOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 9 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 4 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 5 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:ComputeServiceOffering . - -gx:DataAccountExport a sh:NodeShape ; - sh:closed false ; - sh:description "List of methods to export data from your account out of the service." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; - sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "format type" ; - sh:order 2 ; - sh:path gx:formatType ], - [ sh:description "Type of data support: digital, physical." ; - sh:in ( "digital" "physical" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "access type" ; - sh:order 1 ; - sh:path gx:accessType ], - [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; - sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "request type" ; - sh:order 0 ; - sh:path gx:requestType ] ; - sh:targetClass gx:DataAccountExport . - -gx:Endpoint a sh:NodeShape ; - sh:closed false ; - sh:description "An endpoint is a mean to access and interact with a service or a resource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:StandardConformity ; - sh:description "Provides information about applied standards." ; - sh:minCount 1 ; - sh:name "standard conformity" ; - sh:order 1 ; - sh:path gx:standardConformity ], - [ sh:datatype xsd:string ; - sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:formalDescription ], - [ sh:datatype xsd:anyURI ; - sh:description "The URL of the endpoint where it can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint URL" ; - sh:order 0 ; - sh:path gx:endpointURL ] ; - sh:targetClass gx:Endpoint . - -gx:GPU a sh:NodeShape ; - sh:closed false ; - sh:description "Graphical processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 6 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:description "Interconnection of multiple GPUs within a server system" ; - sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:gpuInterconnection ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path gx:vendor ], - [ sh:datatype xsd:integer ; - sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "gpu processing units" ; - sh:order 2 ; - sh:path gx:gpuProcessingUnits ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 5 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 7 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:boolean ; - sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; - sh:maxCount 1 ; - sh:name "GPU path through" ; - sh:order 3 ; - sh:path gx:gpuPassthrough ], - [ sh:class gx:MemorySize ; - sh:description "Size of memory of the GPU." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:gpuMemory ] ; - sh:targetClass gx:GPU . - -gx:InfrastructureServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Infrastructure Service Offering" ; - sh:property [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:InfrastructureServiceOffering . - -gx:Memory a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of RAM." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; - sh:maxCount 1 ; - sh:name "Hardware Encryption enabled" ; - sh:order 4 ; - sh:path gx:hardwareEncryption ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 7 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "Memory size of RAM." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "memory size" ; - sh:order 0 ; - sh:path gx:memorySize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path gx:vendor ], - [ sh:datatype xsd:boolean ; - sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; - sh:maxCount 1 ; - sh:name "error correction code (ecc)" ; - sh:order 3 ; - sh:path gx:eccEnabled ], - [ sh:description "DRAM technology name defined by JEDEC" ; - sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; - sh:maxCount 1 ; - sh:name "memory class" ; - sh:order 1 ; - sh:path gx:memoryClass ], - [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; - sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; - sh:maxCount 1 ; - sh:name "memory rank" ; - sh:order 2 ; - sh:path gx:memoryRank ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 6 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 8 ; - sh:path gx:supportedOversubscriptionRatio ] ; - sh:targetClass gx:Memory . - -gx:ServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Service Offering" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ] ; - sh:targetClass gx:ServiceOffering . - -gx:TermsAndConditions a sh:NodeShape ; - sh:closed false ; - sh:description "Terms and Conditions applying to a service offering." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "sha256 hash of the document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:hash ], - [ sh:datatype xsd:anyURI ; - sh:description "A resolvable link to document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:url ] ; - sh:targetClass gx:TermsAndConditions . - -gx:VirtualMachineServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Machine Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 5 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:servicePolicy ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 8 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 9 ; - sh:path gx:dataAccountExport ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 13 ; - sh:path gx:hostedOn ], - [ sh:class gx:VMImage ; - sh:description "Compute Service Code Artifacts" ; - sh:minCount 1 ; - sh:name "code artifact" ; - sh:order 0 ; - sh:path gx:codeArtifact ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 15 ; - sh:path gx:description ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 4 ; - sh:path gx:dependsOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 11 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 6 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 2 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:ServerFlavor ; - sh:description "Set of technical requirements or conditions to instantiate this service offering." ; - sh:minCount 1 ; - sh:name "instantiation requirement" ; - sh:order 1 ; - sh:path gx:instantiationReq ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 10 ; - sh:path gx:keyword ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 3 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 14 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 12 ; - sh:path gx:endpoint ] ; - sh:targetClass gx:VirtualMachineServiceOffering . - -gx:Disk a sh:NodeShape ; - sh:closed false ; - sh:description "Capabilities of a physical or virtual hard drive." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 5 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "The size of the hard drive." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Disk size" ; - sh:order 0 ; - sh:path gx:diskSize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:vendor ], - [ sh:datatype xsd:string ; - sh:description "Type of disk controller the disk is attached to." ; - sh:maxCount 1 ; - sh:name "Disk Bus Type" ; - sh:order 2 ; - sh:path gx:diskBusType ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 6 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:description "The type of storage drive." ; - sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; - sh:maxCount 1 ; - sh:name "Disk Type" ; - sh:order 1 ; - sh:path gx:diskType ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 4 ; - sh:path gx:generation ] ; - sh:targetClass gx:Disk . - -gx:SoftwareResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Gaia-X Virtual Resource describing an executable program." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Software Resource" ; - sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ] ; - sh:targetClass gx:SoftwareResource . - -gx:OperatingSystem a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing an operating system." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Operation System" ; - sh:property [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Operation System Distribution" ; - sh:order 0 ; - sh:path gx:osDistribution ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ] ; - sh:targetClass gx:OperatingSystem . - -gx:Signature a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Value of the signature" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:signatureValue ], - [ sh:description "Defines the algorithm used to calculate or verify the signature." ; - sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:signatureAlgorithm ] ; - sh:targetClass gx:Signature . - -gx:CheckSum a sh:NodeShape ; - sh:closed false ; - sh:description "Detail on how to calculate or verify a checksum." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Algorithm used to create checksum." ; - sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:checkSumCalculation ], - [ sh:datatype xsd:string ; - sh:description "Value of the check sum." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:checkSumValue ] ; - sh:targetClass gx:CheckSum . - -gx:MemorySize a sh:NodeShape ; - sh:closed false ; - sh:description "The number of bits, that can be stored on a digital storage." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Memory size" ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass gx:MemorySize . - -gx:LegalPerson a sh:NodeShape ; - sh:closed false ; - sh:description "A legal person, who is uniquely identified by its registration number." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Legal Person" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class ; - sh:description "The full legal address of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal address" ; - sh:order 1 ; - sh:path gx:legalAddress ], - [ sh:class ; - sh:description "Full physical location of the headquarter of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:headquartersAddress ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; - sh:order 4 ; - sh:path gx:subOrganisationOf ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; - sh:order 3 ; - sh:path gx:parentOrganizationOf ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; - sh:minCount 1 ; - sh:name "registration number" ; - sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; - sh:order 0 ; - sh:path gx:registrationNumber ] ; - sh:targetClass gx:LegalPerson . - -gx:PhysicalResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Physical Resource" ; - sh:property [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; - sh:name "manufactured by" ; - sh:order 2 ; - sh:path gx:manufacturedBy ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; - sh:name "owned by" ; - sh:order 1 ; - sh:path gx:ownedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; - sh:minCount 1 ; - sh:name "maintained by" ; - sh:order 0 ; - sh:path gx:maintainedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 4 ; - sh:path gx:aggregationOfResources ], - [ sh:class ; - sh:description "A list of physical locations." ; - sh:minCount 1 ; - sh:order 3 ; - sh:path gx:location ] ; - sh:targetClass gx:PhysicalResource . - -gx:VirtualResource a sh:NodeShape ; - sh:closed false ; - sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Resource" ; - sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 0 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 4 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 5 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 1 ; - sh:path gx:license ] ; - sh:targetClass gx:VirtualResource . - From 0f1646a7165b7d753fef2d3b8f2c0f7309c02fee Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 3 Jan 2024 13:55:06 +0100 Subject: [PATCH 050/175] Add JSON-LD serialization Signed-off-by: Anja Strunk --- generator/cli.py | 3 + generator/common/gx_schema.py | 110 +- generator/common/gx_schema_org.py | 9224 +++++++++++++++++ generator/common/json_ld.py | 184 + .../discovery/openstack/opentack_discovery.py | 97 +- .../openstack/vm_images_discovery.py | 272 +- test.py | 0 7 files changed, 9657 insertions(+), 233 deletions(-) create mode 100644 generator/common/gx_schema_org.py create mode 100644 generator/common/json_ld.py create mode 100644 test.py diff --git a/generator/cli.py b/generator/cli.py index e691f57..0244287 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -5,6 +5,8 @@ from generator.discovery.openstack.opentack_discovery import OsCloud +import json +import generator.common.json_ld as json_ld @click.group() def cli(): @@ -33,6 +35,7 @@ def openstack(cloud, timeout, config): with open(config, "r") as config_file: os_cloud = OsCloud(conn, yaml.safe_load(config_file)) props = os_cloud.discover_properties() + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 99d6757..d64bb65 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 +# Generation date: 2023-12-28T18:05:45 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -90,7 +90,7 @@ class Address(YAMLRoot): class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: str = None + countryCode: Union[CountryNameAlpha2, str] = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -128,8 +128,8 @@ class GPSLocation(YAMLRoot): class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: str = None - longitude: str = None + latitude: Union[GPSUnit, dict] = None + longitude: Union[GPSUnit, dict] = None altitude: Optional[str] = None crs: Optional[str] = None @@ -281,6 +281,7 @@ class Signature(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Signature signature: str = None + hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -289,6 +290,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.signature, str): self.signature = str(self.signature) + if self._is_empty(self.hashAlgorithm): + self.MissingRequiredField("hashAlgorithm") + if not isinstance(self.hashAlgorithm, ChecksumAlgorithm): + self.hashAlgorithm = ChecksumAlgorithm(self.hashAlgorithm) + if self._is_empty(self.signatureAlgorithm): self.MissingRequiredField("signatureAlgorithm") if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): @@ -525,8 +531,8 @@ class UpdateStrategy(YAMLRoot): replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None + oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None + providedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -850,7 +856,7 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -897,7 +903,7 @@ class Resource(GaiaXEntity): class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -920,8 +926,8 @@ class VirtualResource(Resource): class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -998,8 +1004,8 @@ class SoftwareResource(VirtualResource): class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1038,8 +1044,8 @@ class CodeArtifact(SoftwareResource): class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1055,8 +1061,8 @@ class Image(CodeArtifact): class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1131,8 +1137,8 @@ class PXEImage(Image): class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1155,8 +1161,8 @@ class OperatingSystem(SoftwareResource): class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1181,8 +1187,8 @@ class Hypervisor(SoftwareResource): class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1211,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() + hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1450,8 +1456,8 @@ class DataResource(VirtualResource): class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1561,8 +1567,8 @@ class VMImage(Image): class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -4262,9 +4268,21 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "sha-2", + setattr(cls, "sha-224", + PermissibleValue( + text="sha-224", + description="TBD")) + setattr(cls, "sha-256", + PermissibleValue( + text="sha-256", + description="TBD")) + setattr(cls, "sha-512", PermissibleValue( - text="sha-2", + text="sha-512", + description="TBD")) + setattr(cls, "sha-384", + PermissibleValue( + text="sha-384", description="TBD")) setattr(cls, "sha-3", PermissibleValue( @@ -8778,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) + model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8793,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) + model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) + model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8865,6 +8883,9 @@ class slots: slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), + model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) + slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) @@ -8968,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9028,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9076,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9103,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9220,4 +9241,7 @@ class slots: model_uri=GX.confidentialComputing__technology, domain=None, range=str) slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + +Process finished with exit code 0 + diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py new file mode 100644 index 0000000..7821417 --- /dev/null +++ b/generator/common/gx_schema_org.py @@ -0,0 +1,9224 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-12-20T13:27:56 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class LatestN(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, str): + self.unit = str(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: str = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: str = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: str = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + other = PermissibleValue( + text="other", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for encryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "sha-2", + PermissibleValue( + text="sha-2", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operating system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operating system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py new file mode 100644 index 0000000..0c74864 --- /dev/null +++ b/generator/common/json_ld.py @@ -0,0 +1,184 @@ +""" +Methods and classes needed/useful for JSON-LD serialization. +""" +import inspect + +from generator.common.gx_schema import SCHEMA +from generator.common.gx_schema import VCARD +from generator.common.gx_schema import GX +from generator.common.gx_schema import QUDT +from generator.common.gx_schema import YAMLRoot +from generator.common.gx_schema import slots + +from json import JSONDecoder + +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.enumerations import EnumDefinitionImpl + +from typing import List + +from uuid import uuid4 + + +class JsonLdObject: + """Wrapper class to store properties and id of a GX object instance. This class is required, because python + classes of Gaia-X Credential does not have an attribute to store instance's id.""" + + def __init__(self, gx_object: YAMLRoot, gx_id=None): + """ + + @param gx_object: Gaia-X object + @type gx_object: YAMLRoot + @param gx_id: id of Gaia-X object + """ + self.gx_object = gx_object + self.gx_id = gx_id + if self.gx_id is None: + self.gx_id = str(uuid4()) + + +def get_json_ld_context() -> dict: + """ + Returns JSON-LD context as dict + + @return: JSON-LD context as dictionary + @rtype: dict + """ + return { + "@context": + { + GX.prefix: GX, + QUDT.prefix: QUDT, + SCHEMA.prefix: SCHEMA, + VCARD.prefix: VCARD, + "xsd": "http://www.w3.org/2001/XMLSchema#" + } + } + + +def to_json_ld(obj) -> dict: + """ + JSON serializer callback method. + 1) Adds object's id, if any + 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type + information as string, we need to add type to non-string attributes explicitly. + 3) Adds curie to instance and its attributes + 4) Filters out empty values (None, {}, and []) + + @param obj: object to be serialized + @return: object as dictionary + @rtype: dict + """ + json_ld = dict() + + if isinstance(obj, JsonLdObject): + # if JsonLdObject adds id + gx_object = obj.gx_object + json_ld['@id'] = obj.gx_id + json_ld.update(to_json_ld(gx_object)) + return json_ld + elif isinstance(obj, YAMLRoot): + # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict + json_ld['@type'] = get_types(obj.__class__) + for key, value in obj.__dict__.items(): + if value is None or value == [] or value == {}: + # skip emtpy values + continue + slot_curie = get_slot_curie(key, obj) + if isinstance(value, XSDDateTime): + # Add type for datetime + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:dateTime" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, XSDDate): + # add type for date + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:date" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, float): + # add type for float + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:float" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, str) and value.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:anyURI" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, bool): + # add type for boolean + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:boolean" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, list): + # call to_json_ld for each entry in list + json_ld[slot_curie] = list() + for item in value: + json_ld[slot_curie].append(to_json_ld(item)) + elif isinstance(value, EnumDefinitionImpl): + # add text for enumeration values instead of code + json_ld[slot_curie] = value.code.text + elif isinstance(value, YAMLRoot): + json_ld[slot_curie] = to_json_ld(value) + else: + json_ld[slot_curie] = value + return json_ld + elif isinstance(obj, str): + if obj.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld["@type"] = "xsd:anyURI" + json_ld["@value"] = obj + return json_ld + else: + return obj + else: + return JSONDecoder().decode(obj) + + +def get_slot_curie(slot_name:str, gx_object: object)-> str: + """ + Returns curie of slot with given SLOT_NAME of given GX_OBJECT. + @param slot_name: name of slot whose curie is requested + @type slot_name: str + @param gx_object: GX object given slot may belong to + @type gx_object: object + @return: slot's curie as str, if given GX_OBJECT has slot with given SLOT_NAME. Otherwise None + """ + for s_class in _get_super_classes(gx_object.__class__): + s_class = s_class.__name__[0].lower() + s_class.__name__[1:] + if hasattr(slots, s_class + "__" + slot_name): + return getattr(slots, s_class + "__" + slot_name).curie + elif hasattr(slots, slot_name): + return getattr(slots, slot_name).curie + + +def get_types(gaia_object: type) -> List[type]: + """ + Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. + @param gaia_object: GX object, whose type is to be retrived + @type gaia_object: type + @return: list of types if given GX_OBJECT + @rtype: list of types + """ + types = [] + for base in inspect.getmro(gaia_object): + if isinstance(base, YAMLRoot): + types.append(base.class_class_curie) + return types + + +def _get_super_classes(class_name) -> List: + """ + Returns all super classes of class with given CLASS_NAME + @param class_name: name of class + @return: list of all super classdes + """ + classes = [] + for base in inspect.getmro(class_name): + try: + classes.append(base) + except AttributeError: + pass + return classes diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 48d739d..a6f21f2 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,8 +1,14 @@ +import json + import openstack from openstack.connection import Connection from typing import Dict import sys +from uuid import uuid4 +import generator.common.json_ld as json_ld +from generator.common.gx_schema import VMImage + from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: @@ -14,90 +20,15 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config - def discover_properties(self): + def discover_properties(self) -> dict: + props = json_ld.get_json_ld_context() + props['@graph'] = [] + vm_dis = VmDiscovery(self.conn, self.config) - creds = vm_dis.discover_vm_images() + for img in vm_dis.discover_vm_images(): + props['@graph'].append(img) + return props + - # Create per region service catalogs - """self.regcat = {} - for region in self.regions: - reg = region.id - self.regcat[reg] = [] - for svc in conn.service_catalog: - svccat = osServiceCat(svc, reg) - if svccat.ep: - self.regcat[reg].append(svccat) - if debug: - print(f"#DEBUG: Svc Cat region {reg}: {self.regcat}", file=sys.stderr) - # Well-known OpenStack services - self.ostacksvc = {} - if "project_id" in conn.auth: - prj_id = conn.auth["project_id"] - else: - prj_id = conn.identity.get_project_id() - # Iterate over regions - for region in self.regions: - # Keep list of already handled services to avoid duplicates/aliases - handled = [] - # Dictionary to collect OpenStack services - ostacksvc = {} - reg = region.id - if debug: - print(f"#INFO: Creation service catalog for region {reg}", file=sys.stderr) - # Iterate over service catalog - for svc in self.regcat[reg]: - assert svc.ep - assert reg == svc.region - # Treating those two legacy services as non-OpenStack (just list EPs) - if svc.type in [*handled, "compute_legacy", "cloudformation"]: - continue - newsvc = None - for osClass in OSClasses: - if svc.type in osClass.svcID: - newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) - handled.extend(osClass.svcID) - break - if not newsvc: - newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) - handled.extend((svc.type, newsvc.stype,)) - # Only attach if conn is non-empty - if newsvc.conn: - ostacksvc[newsvc.stype] = newsvc - if debug: - print(f"#DEBUG: Region {reg} added OS Svc {newsvc}", file=sys.stderr) - svc.consumed = True - elif debug: - print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) - # Handle remaining services that are listed - for svc in self.regcat[reg]: - if not svc.consumed and svc.type not in ostacksvc: - ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) - if debug: - print(f"#DEBUG: Region {reg} added Non-OS {ostacksvc[svc.type]}", file=sys.stderr) - svc.consumed = True - self.ostacksvc[reg] = ostacksvc - # TODO: Iterate over non-consumed services (global, non-region specifc) - def values(self, prefix=''): - "dict representing stored data" - inner = {"regions": list(map(lambda x: x.id, self.regions))} - if outjson: - inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") - else: - inner["auth_url"] = self.auth["auth_url"] - for reg, ostacksvc in self.ostacksvc.items(): - inner[reg] = {} - for svckey in ostacksvc: - svc = ostacksvc[svckey] - inner[reg] = appenddicts(inner[reg], svc.values()) - if outjson: - inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") - if prefix: - return add_prefix_to_dict_keys(inner, prefix) - return inner - def __str__(self): - # print(self.values()) - if outjson: - return json.dumps({"OpenStackService": self.values()}, indent=indent) - return yaml.dump({"openstack": self.values()}, default_flow_style=False)""" diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 95b88da..ab2b7cd 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,4 +1,7 @@ import typing +from json import JSONDecoder +import json +import urllib3 from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU @@ -9,10 +12,13 @@ from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import CheckSum from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import GaiaXEntity from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +import generator.common.json_ld as json_ld +from generator.common.json_ld import JsonLdObject from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection @@ -23,26 +29,37 @@ from typing import Dict +import yaml +# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd +# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self, conn: Connection, config: Dict) -> None: - self.conn = conn - self.config = config + def __init__(self) -> None: + with open("config/config.yaml", "r") as config_file: + self.config = yaml.safe_load(config_file) + + + + #def __init__(self, conn: Connection, config: Dict) -> None: + # self.conn = conn + # self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: - def discover_vm_images(self) -> List[GX_Image]: + def discover_vm_images(self) -> List[JsonLdObject]: """ Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. @param conn: Connection to openstack cloud VM images are to be collected @return: list of VM images """ - images = list() for image in self.conn.list_images(): - self._convert_to_gx_image(image) - + #images.append(self._convert_to_gx_image(image)) + images.append( + JsonLdObject( + self._convert_to_gx_image(image), gx_id=image.id)) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -124,114 +141,156 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> # Copyright owner and license not supported as Image properties, currently --> Default values are used if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") @@ -249,25 +308,26 @@ def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: - gx_image.license = gx_image.operatingSystem.copyrightOwnedBy + gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + gx_image.license = [self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]] except KeyError: gx_image.license = gx_image.operatingSystem.license + def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.rresource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: - gx_image.rresource_policy = const.DEFAULT_RESOURCE_POLICY + gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _add_secure_boot(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -299,7 +359,7 @@ def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return @@ -307,7 +367,7 @@ def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: except AttributeError: pass - def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -396,7 +456,6 @@ def _get_algo(algo: str) -> str: return algo return ChecksumAlgorithm.other - @staticmethod def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: try: @@ -411,12 +470,11 @@ def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo except AttributeError: pass - - # ToDo: add aggrenation of + # ToDo: add aggrenation of diff --git a/test.py b/test.py new file mode 100644 index 0000000..e69de29 From 287123e0a277d184cd110340a5e5351d54493693 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 4 Jan 2024 15:31:00 +0100 Subject: [PATCH 051/175] Workaround for unions of data types Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 185 +- generator/common/gx_schema_org.py | 9224 ----------------------------- generator/common/json_ld.py | 100 +- 3 files changed, 134 insertions(+), 9375 deletions(-) delete mode 100644 generator/common/gx_schema_org.py diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index d64bb65..1a6e2a5 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-28T18:05:45 +# Generation date: 2024-01-04T09:32:21 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -72,7 +72,7 @@ class GaiaX(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_uri: ClassVar[URIRef] = GX["GaiaX"] class_class_curie: ClassVar[str] = "gx:GaiaX" class_name: ClassVar[str] = "GaiaX" class_model_uri: ClassVar[URIRef] = GX.GaiaX @@ -85,12 +85,12 @@ class Address(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_uri: ClassVar[URIRef] = VCARD["Address"] class_class_curie: ClassVar[str] = "vcard:Address" class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: Union[CountryNameAlpha2, str] = None + countryCode: str = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -123,13 +123,13 @@ class GPSLocation(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] class_class_curie: ClassVar[str] = "gx:GPSLocation" class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: Union[GPSUnit, dict] = None - longitude: Union[GPSUnit, dict] = None + latitude: str = None + longitude: str = None altitude: Optional[str] = None crs: Optional[str] = None @@ -160,7 +160,7 @@ class GPSUnit(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] class_class_curie: ClassVar[str] = "gx:GPSUnit" class_name: ClassVar[str] = "GPSUnit" class_model_uri: ClassVar[URIRef] = GX.GPSUnit @@ -195,7 +195,7 @@ class GaiaXEntity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] class_class_curie: ClassVar[str] = "gx:GaiaXEntity" class_name: ClassVar[str] = "GaiaXEntity" class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity @@ -220,7 +220,7 @@ class Encryption(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_uri: ClassVar[URIRef] = GX["Encryption"] class_class_curie: ClassVar[str] = "gx:Encryption" class_name: ClassVar[str] = "Encryption" class_model_uri: ClassVar[URIRef] = GX.Encryption @@ -249,7 +249,7 @@ class CheckSum(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_uri: ClassVar[URIRef] = GX["CheckSum"] class_class_curie: ClassVar[str] = "gx:CheckSum" class_name: ClassVar[str] = "CheckSum" class_model_uri: ClassVar[URIRef] = GX.CheckSum @@ -275,7 +275,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class Signature(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_uri: ClassVar[URIRef] = GX["Signature"] class_class_curie: ClassVar[str] = "gx:Signature" class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature @@ -310,7 +310,7 @@ class Device(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Device + class_class_uri: ClassVar[URIRef] = GX["Device"] class_class_curie: ClassVar[str] = "gx:Device" class_name: ClassVar[str] = "Device" class_model_uri: ClassVar[URIRef] = GX.Device @@ -343,7 +343,7 @@ class CPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_uri: ClassVar[URIRef] = GX["CPU"] class_class_curie: ClassVar[str] = "gx:CPU" class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU @@ -397,7 +397,7 @@ class Disk(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_uri: ClassVar[URIRef] = GX["Disk"] class_class_curie: ClassVar[str] = "gx:Disk" class_name: ClassVar[str] = "Disk" class_model_uri: ClassVar[URIRef] = GX.Disk @@ -428,7 +428,7 @@ class Endpoint(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_uri: ClassVar[URIRef] = GX["Endpoint"] class_class_curie: ClassVar[str] = "gx:Endpoint" class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint @@ -458,7 +458,7 @@ class GPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_uri: ClassVar[URIRef] = GX["GPU"] class_class_curie: ClassVar[str] = "gx:GPU" class_name: ClassVar[str] = "GPU" class_model_uri: ClassVar[URIRef] = GX.GPU @@ -491,7 +491,7 @@ class MaintenanceSubscription(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" class_name: ClassVar[str] = "MaintenanceSubscription" class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription @@ -524,15 +524,15 @@ class UpdateStrategy(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] class_class_curie: ClassVar[str] = "gx:UpdateStrategy" class_name: ClassVar[str] = "UpdateStrategy" class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None - providedUntil: Optional[Union[str, XSDDate]] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -557,7 +557,7 @@ class LatestN(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_uri: ClassVar[URIRef] = GX["LatestN"] class_class_curie: ClassVar[str] = "gx:LatestN" class_name: ClassVar[str] = "Latest_N" class_model_uri: ClassVar[URIRef] = GX.LatestN @@ -577,7 +577,7 @@ class InstantiationRequirement(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" class_name: ClassVar[str] = "InstantiationRequirement" class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement @@ -590,7 +590,7 @@ class Issuer(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_uri: ClassVar[URIRef] = GX["Issuer"] class_class_curie: ClassVar[str] = "gx:Issuer" class_name: ClassVar[str] = "Issuer" class_model_uri: ClassVar[URIRef] = GX.Issuer @@ -613,7 +613,7 @@ class RegistrationNumber(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] class_class_curie: ClassVar[str] = "gx:RegistrationNumber" class_name: ClassVar[str] = "RegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber @@ -623,7 +623,7 @@ class RegistrationNumber(YAMLRoot): class LocalRegistrationNumber(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["LocalRegistrationNumber"] class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" class_name: ClassVar[str] = "LocalRegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber @@ -643,7 +643,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class VatID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_uri: ClassVar[URIRef] = GX["VatID"] class_class_curie: ClassVar[str] = "gx:VatID" class_name: ClassVar[str] = "VatID" class_model_uri: ClassVar[URIRef] = GX.VatID @@ -663,7 +663,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class LeiCode(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_uri: ClassVar[URIRef] = GX["LeiCode"] class_class_curie: ClassVar[str] = "gx:LeiCode" class_name: ClassVar[str] = "LeiCode" class_model_uri: ClassVar[URIRef] = GX.LeiCode @@ -683,7 +683,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EORI(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_uri: ClassVar[URIRef] = GX["EORI"] class_class_curie: ClassVar[str] = "gx:EORI" class_name: ClassVar[str] = "EORI" class_model_uri: ClassVar[URIRef] = GX.EORI @@ -703,7 +703,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EUID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_uri: ClassVar[URIRef] = GX["EUID"] class_class_curie: ClassVar[str] = "gx:EUID" class_name: ClassVar[str] = "EUID" class_model_uri: ClassVar[URIRef] = GX.EUID @@ -726,7 +726,7 @@ class Memory(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_uri: ClassVar[URIRef] = GX["Memory"] class_class_curie: ClassVar[str] = "gx:Memory" class_name: ClassVar[str] = "Memory" class_model_uri: ClassVar[URIRef] = GX.Memory @@ -765,7 +765,7 @@ class Quantity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] class_class_curie: ClassVar[str] = "qudt:Quantity" class_name: ClassVar[str] = "Quantity" class_model_uri: ClassVar[URIRef] = GX.Quantity @@ -809,7 +809,7 @@ class MemorySize(Quantity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_uri: ClassVar[URIRef] = GX["MemorySize"] class_class_curie: ClassVar[str] = "gx:MemorySize" class_name: ClassVar[str] = "MemorySize" class_model_uri: ClassVar[URIRef] = GX.MemorySize @@ -838,7 +838,7 @@ class Participant(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_uri: ClassVar[URIRef] = GX["Participant"] class_class_curie: ClassVar[str] = "gx:Participant" class_name: ClassVar[str] = "Participant" class_model_uri: ClassVar[URIRef] = GX.Participant @@ -851,12 +851,12 @@ class LegalPerson(Participant): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] class_class_curie: ClassVar[str] = "gx:LegalPerson" class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -898,12 +898,12 @@ class Resource(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_uri: ClassVar[URIRef] = GX["Resource"] class_class_curie: ClassVar[str] = "gx:Resource" class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -921,13 +921,13 @@ class VirtualResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] class_class_curie: ClassVar[str] = "gx:VirtualResource" class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -960,7 +960,7 @@ class PhysicalResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] class_class_curie: ClassVar[str] = "gx:PhysicalResource" class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource @@ -999,13 +999,13 @@ class SoftwareResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] class_class_curie: ClassVar[str] = "gx:SoftwareResource" class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1039,13 +1039,13 @@ class CodeArtifact(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] class_class_curie: ClassVar[str] = "gx:CodeArtifact" class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1056,13 +1056,13 @@ class Image(CodeArtifact): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Image + class_class_uri: ClassVar[URIRef] = GX["Image"] class_class_curie: ClassVar[str] = "gx:Image" class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1132,13 +1132,13 @@ class PXEImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_uri: ClassVar[URIRef] = GX["PXEImage"] class_class_curie: ClassVar[str] = "gx:PXEImage" class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1156,13 +1156,13 @@ class OperatingSystem(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] class_class_curie: ClassVar[str] = "gx:OperatingSystem" class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1182,13 +1182,13 @@ class Hypervisor(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] class_class_curie: ClassVar[str] = "gx:Hypervisor" class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1208,7 +1208,7 @@ class ServiceOffering(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] class_class_curie: ClassVar[str] = "gx:ServiceOffering" class_name: ClassVar[str] = "ServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ServiceOffering @@ -1217,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() - aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + hostedOn: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1281,7 +1281,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" class_name: ClassVar[str] = "InfrastructureServiceOffering" class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering @@ -1298,7 +1298,7 @@ class ComputeServiceOffering(InfrastructureServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" class_name: ClassVar[str] = "ComputeServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering @@ -1323,7 +1323,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" class_name: ClassVar[str] = "VirtualMachineServiceOffering" class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering @@ -1354,7 +1354,7 @@ class TermsAndConditions(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] class_class_curie: ClassVar[str] = "gx:TermsAndConditions" class_name: ClassVar[str] = "TermsAndConditions" class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions @@ -1383,7 +1383,7 @@ class DataAccountExport(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] class_class_curie: ClassVar[str] = "gx:DataAccountExport" class_name: ClassVar[str] = "DataAccountExport" class_model_uri: ClassVar[URIRef] = GX.DataAccountExport @@ -1418,7 +1418,7 @@ class StandardConformity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] class_class_curie: ClassVar[str] = "gx:StandardConformity" class_name: ClassVar[str] = "StandardConformity" class_model_uri: ClassVar[URIRef] = GX.StandardConformity @@ -1451,13 +1451,13 @@ class DataResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_uri: ClassVar[URIRef] = GX["DataResource"] class_class_curie: ClassVar[str] = "gx:DataResource" class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1506,7 +1506,7 @@ class Consent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_uri: ClassVar[URIRef] = GX["Consent"] class_class_curie: ClassVar[str] = "gx:Consent" class_name: ClassVar[str] = "Consent" class_model_uri: ClassVar[URIRef] = GX.Consent @@ -1549,7 +1549,7 @@ class DataExchangeComponent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" class_name: ClassVar[str] = "DataExchangeComponent" class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent @@ -1562,13 +1562,13 @@ class VMImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_uri: ClassVar[URIRef] = GX["VMImage"] class_class_curie: ClassVar[str] = "gx:VMImage" class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -1603,7 +1603,7 @@ class ServerFlavor(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] class_class_curie: ClassVar[str] = "gx:ServerFlavor" class_name: ClassVar[str] = "ServerFlavor" class_model_uri: ClassVar[URIRef] = GX.ServerFlavor @@ -1662,7 +1662,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class ConfidentialComputing(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_uri: ClassVar[URIRef] = GX["ConfidentialComputing"] class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" class_name: ClassVar[str] = "ConfidentialComputing" class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing @@ -8796,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) + model_uri=GX.address__countryCode, domain=None, range=str) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8811,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__latitude, domain=None, range=str) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__longitude, domain=None, range=str) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8989,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9049,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9097,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9124,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9242,6 +9242,3 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) - -Process finished with exit code 0 - diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py deleted file mode 100644 index 7821417..0000000 --- a/generator/common/gx_schema_org.py +++ /dev/null @@ -1,9224 +0,0 @@ -# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 -# Schema: gaia-x -# -# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x -# description: -# license: https://creativecommons.org/publicdomain/zero/1.0/ - -import dataclasses -import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any -from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime - -metamodel_version = "1.7.0" -version = None - -# Overwrite dataclasses _init_fn to add **kwargs in __init__ -dataclasses._init_fn = dataclasses_init_fn_with_kwargs - -# Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') -DEFAULT_ = GX - - -# Types - -# Class references -class LocalRegistrationNumberLocal(extended_str): - pass - - -class VatIDVatID(extended_str): - pass - - -class LeiCodeLeiCode(extended_str): - pass - - -class EORIEori(extended_str): - pass - - -class EUIDEuid(extended_str): - pass - - -class LegalPersonRegistrationNumber(extended_str): - pass - - -class GaiaX(YAMLRoot): - """ - Top level element of Gaia-X ecosystem. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaX - class_class_curie: ClassVar[str] = "gx:GaiaX" - class_name: ClassVar[str] = "GaiaX" - class_model_uri: ClassVar[URIRef] = GX.GaiaX - - - -@dataclass -class Address(YAMLRoot): - """ - Full address of the entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = VCARD.Address - class_class_curie: ClassVar[str] = "vcard:Address" - class_name: ClassVar[str] = "Address" - class_model_uri: ClassVar[URIRef] = GX.Address - - countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() - streetAddress: Optional[str] = None - postalCode: Optional[str] = None - locality: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.countryCode): - self.MissingRequiredField("countryCode") - if not isinstance(self.countryCode, str): - self.countryCode = str(self.countryCode) - - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) - - if self.streetAddress is not None and not isinstance(self.streetAddress, str): - self.streetAddress = str(self.streetAddress) - - if self.postalCode is not None and not isinstance(self.postalCode, str): - self.postalCode = str(self.postalCode) - - if self.locality is not None and not isinstance(self.locality, str): - self.locality = str(self.locality) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSLocation(YAMLRoot): - """ - Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSLocation - class_class_curie: ClassVar[str] = "gx:GPSLocation" - class_name: ClassVar[str] = "GPSLocation" - class_model_uri: ClassVar[URIRef] = GX.GPSLocation - - latitude: str = None - longitude: str = None - altitude: Optional[str] = None - crs: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.latitude): - self.MissingRequiredField("latitude") - if not isinstance(self.latitude, str): - self.latitude = str(self.latitude) - - if self._is_empty(self.longitude): - self.MissingRequiredField("longitude") - if not isinstance(self.longitude, str): - self.longitude = str(self.longitude) - - if self.altitude is not None and not isinstance(self.altitude, str): - self.altitude = str(self.altitude) - - if self.crs is not None and not isinstance(self.crs, str): - self.crs = str(self.crs) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSUnit(YAMLRoot): - """ - Definition of a geographical point. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSUnit - class_class_curie: ClassVar[str] = "gx:GPSUnit" - class_name: ClassVar[str] = "GPSUnit" - class_model_uri: ClassVar[URIRef] = GX.GPSUnit - - degrees: int = None - minutes: Optional[int] = None - seconds: Optional[int] = None - decimals: Optional[float] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.degrees): - self.MissingRequiredField("degrees") - if not isinstance(self.degrees, int): - self.degrees = int(self.degrees) - - if self.minutes is not None and not isinstance(self.minutes, int): - self.minutes = int(self.minutes) - - if self.seconds is not None and not isinstance(self.seconds, int): - self.seconds = int(self.seconds) - - if self.decimals is not None and not isinstance(self.decimals, float): - self.decimals = float(self.decimals) - - super().__post_init__(**kwargs) - - -@dataclass -class GaiaXEntity(YAMLRoot): - """ - Root class for Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity - class_class_curie: ClassVar[str] = "gx:GaiaXEntity" - class_name: ClassVar[str] = "GaiaXEntity" - class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity - - name: Optional[str] = None - description: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.name is not None and not isinstance(self.name, str): - self.name = str(self.name) - - if self.description is not None and not isinstance(self.description, str): - self.description = str(self.description) - - super().__post_init__(**kwargs) - - -@dataclass -class Encryption(YAMLRoot): - """ - Encryption capabilities of a Gaia-X entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Encryption - class_class_curie: ClassVar[str] = "gx:Encryption" - class_name: ClassVar[str] = "Encryption" - class_model_uri: ClassVar[URIRef] = GX.Encryption - - cipher: Union[str, "EncryptionAlgorithm"] = None - keyManagement: Union[str, "KeyManagement"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cipher): - self.MissingRequiredField("cipher") - if not isinstance(self.cipher, EncryptionAlgorithm): - self.cipher = EncryptionAlgorithm(self.cipher) - - if self._is_empty(self.keyManagement): - self.MissingRequiredField("keyManagement") - if not isinstance(self.keyManagement, KeyManagement): - self.keyManagement = KeyManagement(self.keyManagement) - - super().__post_init__(**kwargs) - - -@dataclass -class CheckSum(YAMLRoot): - """ - Detail on how to calculate or verify a checksum. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CheckSum - class_class_curie: ClassVar[str] = "gx:CheckSum" - class_name: ClassVar[str] = "CheckSum" - class_model_uri: ClassVar[URIRef] = GX.CheckSum - - checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.checkSumCalculation): - self.MissingRequiredField("checkSumCalculation") - if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): - self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) - - super().__post_init__(**kwargs) - - -@dataclass -class Signature(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Signature - class_class_curie: ClassVar[str] = "gx:Signature" - class_name: ClassVar[str] = "Signature" - class_model_uri: ClassVar[URIRef] = GX.Signature - - signature: str = None - signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) - - if self._is_empty(self.signatureAlgorithm): - self.MissingRequiredField("signatureAlgorithm") - if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): - self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) - - super().__post_init__(**kwargs) - - -@dataclass -class Device(YAMLRoot): - """ - Details with respect to properties and capabilities of a hardware or virtualized device. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Device - class_class_curie: ClassVar[str] = "gx:Device" - class_name: ClassVar[str] = "Device" - class_model_uri: ClassVar[URIRef] = GX.Device - - vendor: Optional[str] = None - generation: Optional[str] = None - defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vendor is not None and not isinstance(self.vendor, str): - self.vendor = str(self.vendor) - - if self.generation is not None and not isinstance(self.generation, str): - self.generation = str(self.generation) - - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): - self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) - - super().__post_init__(**kwargs) - - -@dataclass -class CPU(Device): - """ - Computational processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CPU - class_class_curie: ClassVar[str] = "gx:CPU" - class_name: ClassVar[str] = "CPU" - class_model_uri: ClassVar[URIRef] = GX.CPU - - cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" - cpuFlag: Optional[Union[str, List[str]]] = empty_list() - smtEnabled: Optional[Union[bool, Bool]] = False - numberOfCores: Optional[int] = None - numberOfThreads: Optional[int] = None - baseFrequency: Optional[Union[dict, "Frequency"]] = None - boostFrequency: Optional[Union[dict, "Frequency"]] = None - lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None - thermalDesignPower: Optional[Union[dict, "Power"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): - self.cpuArchitecture = Architectures(self.cpuArchitecture) - - if not isinstance(self.cpuFlag, list): - self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] - self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] - - if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): - self.smtEnabled = Bool(self.smtEnabled) - - if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): - self.numberOfCores = int(self.numberOfCores) - - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): - self.numberOfThreads = int(self.numberOfThreads) - - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): - self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): - self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): - self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): - self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) - - super().__post_init__(**kwargs) - - -@dataclass -class Disk(Device): - """ - Capabilities of a physical or virtual hard drive. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Disk - class_class_curie: ClassVar[str] = "gx:Disk" - class_name: ClassVar[str] = "Disk" - class_model_uri: ClassVar[URIRef] = GX.Disk - - diskSize: Union[dict, "MemorySize"] = None - diskType: Optional[Union[str, "DiskTypes"]] = "other" - diskBusType: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.diskSize): - self.MissingRequiredField("diskSize") - if not isinstance(self.diskSize, MemorySize): - self.diskSize = MemorySize(**as_dict(self.diskSize)) - - if self.diskType is not None and not isinstance(self.diskType, DiskTypes): - self.diskType = DiskTypes(self.diskType) - - if self.diskBusType is not None and not isinstance(self.diskBusType, str): - self.diskBusType = str(self.diskBusType) - - super().__post_init__(**kwargs) - - -@dataclass -class Endpoint(YAMLRoot): - """ - An endpoint is a mean to access and interact with a service or a resource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Endpoint - class_class_curie: ClassVar[str] = "gx:Endpoint" - class_name: ClassVar[str] = "Endpoint" - class_model_uri: ClassVar[URIRef] = GX.Endpoint - - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None - endpointURL: Optional[Union[str, URI]] = None - formalDescription: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.standardConformity): - self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) - - if self.endpointURL is not None and not isinstance(self.endpointURL, URI): - self.endpointURL = URI(self.endpointURL) - - if self.formalDescription is not None and not isinstance(self.formalDescription, str): - self.formalDescription = str(self.formalDescription) - - super().__post_init__(**kwargs) - - -@dataclass -class GPU(Device): - """ - Graphical processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPU - class_class_curie: ClassVar[str] = "gx:GPU" - class_name: ClassVar[str] = "GPU" - class_model_uri: ClassVar[URIRef] = GX.GPU - - gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" - gpuProcessingUnits: Optional[int] = None - gpuPassthrough: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): - self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): - self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): - self.gpuProcessingUnits = int(self.gpuProcessingUnits) - - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): - self.gpuPassthrough = Bool(self.gpuPassthrough) - - super().__post_init__(**kwargs) - - -@dataclass -class MaintenanceSubscription(YAMLRoot): - """ - A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" - class_name: ClassVar[str] = "MaintenanceSubscription" - class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - - subscriptionIncluded: Optional[Union[bool, Bool]] = False - subscriptionRequired: Optional[Union[bool, Bool]] = False - maintainedUntil: Optional[Union[str, XSDDate]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): - self.subscriptionIncluded = Bool(self.subscriptionIncluded) - - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): - self.subscriptionRequired = Bool(self.subscriptionRequired) - - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): - self.maintainedUntil = XSDDate(self.maintainedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class UpdateStrategy(YAMLRoot): - """ - Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the - lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own - unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them - referencable by its ID for a transition period for customers' convenience. This class defines important aspects of - providers image update policy. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy - class_class_curie: ClassVar[str] = "gx:UpdateStrategy" - class_name: ClassVar[str] = "UpdateStrategy" - class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy - - replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None - hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): - self.replaceFrequency = UpdateFrequency(self.replaceFrequency) - - if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): - self.hotfixHours = int(self.hotfixHours) - - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): - self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) - - if self.providedUntil is not None and not isinstance(self.providedUntil, str): - self.providedUntil = str(self.providedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class LatestN(YAMLRoot): - """ - Number of latest N outdated image versions, which will be valid. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LatestN - class_class_curie: ClassVar[str] = "gx:LatestN" - class_name: ClassVar[str] = "Latest_N" - class_model_uri: ClassVar[URIRef] = GX.LatestN - - value: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.value is not None and not isinstance(self.value, int): - self.value = int(self.value) - - super().__post_init__(**kwargs) - - -class InstantiationRequirement(YAMLRoot): - """ - A container class to gather all requirements for compute service offering instantiations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement - class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" - class_name: ClassVar[str] = "InstantiationRequirement" - class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement - - -@dataclass -class Issuer(YAMLRoot): - """ - An issuer of W3C Verifiable Credentials and Verifiable Presentations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Issuer - class_class_curie: ClassVar[str] = "gx:Issuer" - class_name: ClassVar[str] = "Issuer" - class_model_uri: ClassVar[URIRef] = GX.Issuer - - issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.issuerTermsAndConditions): - self.MissingRequiredField("issuerTermsAndConditions") - if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) - - super().__post_init__(**kwargs) - - -class RegistrationNumber(YAMLRoot): - """ - Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, - EODI, and EUID. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber - class_class_curie: ClassVar[str] = "gx:RegistrationNumber" - class_name: ClassVar[str] = "RegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber - - -@dataclass -class LocalRegistrationNumber(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" - class_name: ClassVar[str] = "LocalRegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - - local: Union[str, LocalRegistrationNumberLocal] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.local): - self.MissingRequiredField("local") - if not isinstance(self.local, LocalRegistrationNumberLocal): - self.local = LocalRegistrationNumberLocal(self.local) - - super().__post_init__(**kwargs) - - -@dataclass -class VatID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VatID - class_class_curie: ClassVar[str] = "gx:VatID" - class_name: ClassVar[str] = "VatID" - class_model_uri: ClassVar[URIRef] = GX.VatID - - vatID: Union[str, VatIDVatID] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.vatID): - self.MissingRequiredField("vatID") - if not isinstance(self.vatID, VatIDVatID): - self.vatID = VatIDVatID(self.vatID) - - super().__post_init__(**kwargs) - - -@dataclass -class LeiCode(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LeiCode - class_class_curie: ClassVar[str] = "gx:LeiCode" - class_name: ClassVar[str] = "LeiCode" - class_model_uri: ClassVar[URIRef] = GX.LeiCode - - leiCode: Union[str, LeiCodeLeiCode] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.leiCode): - self.MissingRequiredField("leiCode") - if not isinstance(self.leiCode, LeiCodeLeiCode): - self.leiCode = LeiCodeLeiCode(self.leiCode) - - super().__post_init__(**kwargs) - - -@dataclass -class EORI(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EORI - class_class_curie: ClassVar[str] = "gx:EORI" - class_name: ClassVar[str] = "EORI" - class_model_uri: ClassVar[URIRef] = GX.EORI - - eori: Union[str, EORIEori] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.eori): - self.MissingRequiredField("eori") - if not isinstance(self.eori, EORIEori): - self.eori = EORIEori(self.eori) - - super().__post_init__(**kwargs) - - -@dataclass -class EUID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EUID - class_class_curie: ClassVar[str] = "gx:EUID" - class_name: ClassVar[str] = "EUID" - class_model_uri: ClassVar[URIRef] = GX.EUID - - euid: Union[str, EUIDEuid] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.euid): - self.MissingRequiredField("euid") - if not isinstance(self.euid, EUIDEuid): - self.euid = EUIDEuid(self.euid) - - super().__post_init__(**kwargs) - - -@dataclass -class Memory(Device): - """ - Details with respect to properties and capabilities of RAM. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Memory - class_class_curie: ClassVar[str] = "gx:Memory" - class_name: ClassVar[str] = "Memory" - class_model_uri: ClassVar[URIRef] = GX.Memory - - memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" - eccEnabled: Optional[Union[bool, Bool]] = False - hardwareEncryption: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.memorySize): - self.MissingRequiredField("memorySize") - if not isinstance(self.memorySize, MemorySize): - self.memorySize = MemorySize(**as_dict(self.memorySize)) - - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): - self.memoryClass = MemoryClasses(self.memoryClass) - - if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): - self.memoryRank = MemoryRanks(self.memoryRank) - - if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): - self.eccEnabled = Bool(self.eccEnabled) - - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): - self.hardwareEncryption = Bool(self.hardwareEncryption) - - super().__post_init__(**kwargs) - - -@dataclass -class Quantity(YAMLRoot): - """ - Abstract parent class for all physical quantities, such as frequency, power or length. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT.Quantity - class_class_curie: ClassVar[str] = "qudt:Quantity" - class_name: ClassVar[str] = "Quantity" - class_model_uri: ClassVar[URIRef] = GX.Quantity - - value: float = None - unit: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.value): - self.MissingRequiredField("value") - if not isinstance(self.value, float): - self.value = float(self.value) - - if self._is_empty(self.unit): - self.MissingRequiredField("unit") - if not isinstance(self.unit, str): - self.unit = str(self.unit) - - super().__post_init__(**kwargs) - - -@dataclass -class Frequency(Quantity): - """ - Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" - class_name: ClassVar[str] = "Frequency" - class_model_uri: ClassVar[URIRef] = GX.Frequency - - value: float = None - unit: str = None - -@dataclass -class MemorySize(Quantity): - """ - The number of bits, that can be stored on a digital storage. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MemorySize - class_class_curie: ClassVar[str] = "gx:MemorySize" - class_name: ClassVar[str] = "MemorySize" - class_model_uri: ClassVar[URIRef] = GX.MemorySize - - value: float = None - unit: str = None - -@dataclass -class Power(Quantity): - """ - Definition of 'Power', according to http://qudt.org/quantitykind/Power. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" - class_name: ClassVar[str] = "Power" - class_model_uri: ClassVar[URIRef] = GX.Power - - value: float = None - unit: str = None - -class Participant(GaiaXEntity): - """ - An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Participant - class_class_curie: ClassVar[str] = "gx:Participant" - class_name: ClassVar[str] = "Participant" - class_model_uri: ClassVar[URIRef] = GX.Participant - - -@dataclass -class LegalPerson(Participant): - """ - A legal person, who is uniquely identified by its registration number. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LegalPerson - class_class_curie: ClassVar[str] = "gx:LegalPerson" - class_name: ClassVar[str] = "LegalPerson" - class_model_uri: ClassVar[URIRef] = GX.LegalPerson - - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - legalAddress: Union[dict, Address] = None - headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.registrationNumber): - self.MissingRequiredField("registrationNumber") - if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] - - if self._is_empty(self.legalAddress): - self.MissingRequiredField("legalAddress") - if not isinstance(self.legalAddress, Address): - self.legalAddress = Address(**as_dict(self.legalAddress)) - - if self._is_empty(self.headquartersAddress): - self.MissingRequiredField("headquartersAddress") - if not isinstance(self.headquartersAddress, Address): - self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) - - if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] - - if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] - - super().__post_init__(**kwargs) - - -@dataclass -class Resource(GaiaXEntity): - """ - Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist - independently of it. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Resource - class_class_curie: ClassVar[str] = "gx:Resource" - class_name: ClassVar[str] = "Resource" - class_model_uri: ClassVar[URIRef] = GX.Resource - - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualResource(Resource): - """ - It represents static data in any form and necessary information such as dataset, configuration file, license, - keypair, an AI model, neural network weights, etc. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualResource - class_class_curie: ClassVar[str] = "gx:VirtualResource" - class_name: ClassVar[str] = "VirtualResource" - class_model_uri: ClassVar[URIRef] = GX.VirtualResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.copyrightOwnedBy): - self.MissingRequiredField("copyrightOwnedBy") - if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] - - if self._is_empty(self.license): - self.MissingRequiredField("license") - if not isinstance(self.license, list): - self.license = [self.license] if self.license is not None else [] - self.license = [v if isinstance(v, str) else str(v) for v in self.license] - - if self._is_empty(self.resourcePolicy): - self.MissingRequiredField("resourcePolicy") - if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] - - super().__post_init__(**kwargs) - - -@dataclass -class PhysicalResource(Resource): - """ - A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are - entities that have a weight and position in physical space. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource - class_class_curie: ClassVar[str] = "gx:PhysicalResource" - class_name: ClassVar[str] = "PhysicalResource" - class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.maintainedBy): - self.MissingRequiredField("maintainedBy") - if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] - - if self._is_empty(self.location): - self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) - - if not isinstance(self.ownedBy, list): - self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] - - if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] - - super().__post_init__(**kwargs) - - -@dataclass -class SoftwareResource(VirtualResource): - """ - A Gaia-X Virtual Resource describing an executable program. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource - class_class_curie: ClassVar[str] = "gx:SoftwareResource" - class_name: ClassVar[str] = "SoftwareResource" - class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - checksum: Optional[Union[dict, CheckSum]] = None - signature: Optional[Union[dict, Signature]] = None - version: Optional[str] = None - patchLevel: Optional[str] = None - buildDate: Optional[Union[str, XSDDateTime]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.checksum is not None and not isinstance(self.checksum, CheckSum): - self.checksum = CheckSum(**as_dict(self.checksum)) - - if self.signature is not None and not isinstance(self.signature, Signature): - self.signature = Signature(**as_dict(self.signature)) - - if self.version is not None and not isinstance(self.version, str): - self.version = str(self.version) - - if self.patchLevel is not None and not isinstance(self.patchLevel, str): - self.patchLevel = str(self.patchLevel) - - if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): - self.buildDate = XSDDateTime(self.buildDate) - - super().__post_init__(**kwargs) - - -@dataclass -class CodeArtifact(SoftwareResource): - """ - A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact - class_class_curie: ClassVar[str] = "gx:CodeArtifact" - class_name: ClassVar[str] = "CodeArtifact" - class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - -@dataclass -class Image(CodeArtifact): - """ - A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of - OperatingSystem and CodeArtifact. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Image - class_class_curie: ClassVar[str] = "gx:Image" - class_name: ClassVar[str] = "Image" - class_model_uri: ClassVar[URIRef] = GX.Image - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - fileSize: Optional[Union[dict, "MemorySize"]] = None - operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None - cpuReq: Optional[Union[dict, CPU]] = None - gpuReq: Optional[Union[dict, GPU]] = None - ramReq: Optional[Union[dict, "Memory"]] = None - videoRamSize: Optional[Union[dict, "MemorySize"]] = None - rootDiskReq: Optional[Union[dict, Disk]] = None - encryption: Optional[Union[dict, Encryption]] = None - secureBoot: Optional[Union[bool, Bool]] = False - vPMU: Optional[Union[bool, Bool]] = False - multiQueues: Optional[Union[bool, Bool]] = False - updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None - licenseIncluded: Optional[Union[bool, Bool]] = False - maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): - self.fileSize = MemorySize(**as_dict(self.fileSize)) - - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): - self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) - - if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): - self.cpuReq = CPU(**as_dict(self.cpuReq)) - - if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): - self.gpuReq = GPU(**as_dict(self.gpuReq)) - - if self.ramReq is not None and not isinstance(self.ramReq, Memory): - self.ramReq = Memory(**as_dict(self.ramReq)) - - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): - self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) - - if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): - self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) - - if self.encryption is not None and not isinstance(self.encryption, Encryption): - self.encryption = Encryption(**as_dict(self.encryption)) - - if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): - self.secureBoot = Bool(self.secureBoot) - - if self.vPMU is not None and not isinstance(self.vPMU, Bool): - self.vPMU = Bool(self.vPMU) - - if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): - self.multiQueues = Bool(self.multiQueues) - - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): - self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): - self.licenseIncluded = Bool(self.licenseIncluded) - - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): - self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) - - super().__post_init__(**kwargs) - - -@dataclass -class PXEImage(Image): - """ - PXE image for physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PXEImage - class_class_curie: ClassVar[str] = "gx:PXEImage" - class_name: ClassVar[str] = "PXE_Image" - class_model_uri: ClassVar[URIRef] = GX.PXEImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): - self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) - - super().__post_init__(**kwargs) - - -@dataclass -class OperatingSystem(SoftwareResource): - """ - A special Gaia-X Software Resource describing an operating system. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem - class_class_curie: ClassVar[str] = "gx:OperatingSystem" - class_name: ClassVar[str] = "OperatingSystem" - class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - osDistribution: Union[str, "OSDistribution"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.osDistribution): - self.MissingRequiredField("osDistribution") - if not isinstance(self.osDistribution, OSDistribution): - self.osDistribution = OSDistribution(self.osDistribution) - - super().__post_init__(**kwargs) - - -@dataclass -class Hypervisor(SoftwareResource): - """ - A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Hypervisor - class_class_curie: ClassVar[str] = "gx:Hypervisor" - class_name: ClassVar[str] = "Hypervisor" - class_model_uri: ClassVar[URIRef] = GX.Hypervisor - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - hypervisorType: Union[str, "HypervisorType"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.hypervisorType): - self.MissingRequiredField("hypervisorType") - if not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - super().__post_init__(**kwargs) - - -@dataclass -class ServiceOffering(GaiaXEntity): - """ - A digital service available for order. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering - class_class_curie: ClassVar[str] = "gx:ServiceOffering" - class_name: ClassVar[str] = "ServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() - keyword: Optional[Union[str, List[str]]] = empty_list() - provisionType: Optional[Union[str, "ProvisionTypes"]] = None - endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.providedBy): - self.MissingRequiredField("providedBy") - if not isinstance(self.providedBy, LegalPersonRegistrationNumber): - self.providedBy = LegalPersonRegistrationNumber(self.providedBy) - - if self._is_empty(self.serviceOfferingTermsAndConditions): - self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) - - if self._is_empty(self.servicePolicy): - self.MissingRequiredField("servicePolicy") - if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] - - if self._is_empty(self.dataAccountExport): - self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) - - if not isinstance(self.dependsOn, list): - self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] - self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] - - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] - - if not isinstance(self.keyword, list): - self.keyword = [self.keyword] if self.keyword is not None else [] - self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): - self.provisionType = ProvisionTypes(self.provisionType) - - if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): - self.endpoint = Endpoint(**as_dict(self.endpoint)) - - if not isinstance(self.hostedOn, list): - self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] - self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] - - super().__post_init__(**kwargs) - - -@dataclass -class InfrastructureServiceOffering(ServiceOffering): - """ - A digital service available for order and offering computational, storage and/pr network capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" - class_name: ClassVar[str] = "InfrastructureServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - -@dataclass -class ComputeServiceOffering(InfrastructureServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" - class_name: ClassVar[str] = "ComputeServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): - self.tenantSeparation = TenantSeparation(self.tenantSeparation) - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualMachineServiceOffering(ComputeServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" - class_name: ClassVar[str] = "VirtualMachineServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.codeArtifact): - self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) - - if self._is_empty(self.instantiationReq): - self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class TermsAndConditions(YAMLRoot): - """ - Terms and Conditions applying to a service offering. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions - class_class_curie: ClassVar[str] = "gx:TermsAndConditions" - class_name: ClassVar[str] = "TermsAndConditions" - class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions - - url: Union[str, URI] = None - hash: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.url): - self.MissingRequiredField("url") - if not isinstance(self.url, URI): - self.url = URI(self.url) - - if self._is_empty(self.hash): - self.MissingRequiredField("hash") - if not isinstance(self.hash, str): - self.hash = str(self.hash) - - super().__post_init__(**kwargs) - - -@dataclass -class DataAccountExport(YAMLRoot): - """ - List of methods to export data from your account out of the service. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport - class_class_curie: ClassVar[str] = "gx:DataAccountExport" - class_name: ClassVar[str] = "DataAccountExport" - class_model_uri: ClassVar[URIRef] = GX.DataAccountExport - - requestType: Union[str, "RequestTypes"] = None - accessType: Union[str, "AccessTypes"] = None - formatType: Union[str, "MIMETypes"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.requestType): - self.MissingRequiredField("requestType") - if not isinstance(self.requestType, RequestTypes): - self.requestType = RequestTypes(self.requestType) - - if self._is_empty(self.accessType): - self.MissingRequiredField("accessType") - if not isinstance(self.accessType, AccessTypes): - self.accessType = AccessTypes(self.accessType) - - if self._is_empty(self.formatType): - self.MissingRequiredField("formatType") - if not isinstance(self.formatType, MIMETypes): - self.formatType = MIMETypes(self.formatType) - - super().__post_init__(**kwargs) - - -@dataclass -class StandardConformity(YAMLRoot): - """ - Details about standard applied to Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.StandardConformity - class_class_curie: ClassVar[str] = "gx:StandardConformity" - class_name: ClassVar[str] = "StandardConformity" - class_model_uri: ClassVar[URIRef] = GX.StandardConformity - - title: str = None - standardReference: Union[str, URI] = None - publisher: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.title): - self.MissingRequiredField("title") - if not isinstance(self.title, str): - self.title = str(self.title) - - if self._is_empty(self.standardReference): - self.MissingRequiredField("standardReference") - if not isinstance(self.standardReference, URI): - self.standardReference = URI(self.standardReference) - - if self.publisher is not None and not isinstance(self.publisher, str): - self.publisher = str(self.publisher) - - super().__post_init__(**kwargs) - - -@dataclass -class DataResource(VirtualResource): - """ - A dataset exposed through a service instance. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataResource - class_class_curie: ClassVar[str] = "gx:DataResource" - class_name: ClassVar[str] = "DataResource" - class_model_uri: ClassVar[URIRef] = GX.DataResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None - containsPII: Union[bool, Bool] = None - obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None - expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.producedBy): - self.MissingRequiredField("producedBy") - if not isinstance(self.producedBy, LegalPersonRegistrationNumber): - self.producedBy = LegalPersonRegistrationNumber(self.producedBy) - - if self._is_empty(self.exposedThrough): - self.MissingRequiredField("exposedThrough") - if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] - - if self._is_empty(self.containsPII): - self.MissingRequiredField("containsPII") - if not isinstance(self.containsPII, Bool): - self.containsPII = Bool(self.containsPII) - - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): - self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): - self.expirationDateTime = XSDDateTime(self.expirationDateTime) - - if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class Consent(YAMLRoot): - """ - Information on the legitimate processing of information related to PII. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Consent - class_class_curie: ClassVar[str] = "gx:Consent" - class_name: ClassVar[str] = "Consent" - class_model_uri: ClassVar[URIRef] = GX.Consent - - legalBasis: str = None - dataProtectionContactPoint: Union[str, List[str]] = None - purpose: Union[str, List[str]] = None - consentWithdrawalContactPoint: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.legalBasis): - self.MissingRequiredField("legalBasis") - if not isinstance(self.legalBasis, str): - self.legalBasis = str(self.legalBasis) - - if self._is_empty(self.dataProtectionContactPoint): - self.MissingRequiredField("dataProtectionContactPoint") - if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] - - if self._is_empty(self.purpose): - self.MissingRequiredField("purpose") - if not isinstance(self.purpose, list): - self.purpose = [self.purpose] if self.purpose is not None else [] - self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] - - if self._is_empty(self.consentWithdrawalContactPoint): - self.MissingRequiredField("consentWithdrawalContactPoint") - if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] - - super().__post_init__(**kwargs) - - -class DataExchangeComponent(YAMLRoot): - """ - A service/resource used to make a data resource available. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent - class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" - class_name: ClassVar[str] = "DataExchangeComponent" - class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent - - -@dataclass -class VMImage(Image): - """ - Image for virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VMImage - class_class_curie: ClassVar[str] = "gx:VMImage" - class_name: ClassVar[str] = "VM_Image" - class_model_uri: ClassVar[URIRef] = GX.VMImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" - firmwareType: Optional[Union[str, "FirmType"]] = "other" - hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" - watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): - self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): - self.firmwareType = FirmType(self.firmwareType) - - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): - self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): - self.watchDogAction = WatchDogActions(self.watchDogAction) - - super().__post_init__(**kwargs) - - -@dataclass -class ServerFlavor(YAMLRoot): - """ - Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or - virtual servers that can be launched. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor - class_class_curie: ClassVar[str] = "gx:ServerFlavor" - class_name: ClassVar[str] = "ServerFlavor" - class_model_uri: ClassVar[URIRef] = GX.ServerFlavor - - cpu: Union[dict, CPU] = None - ram: Union[dict, Memory] = None - bootVolume: Union[dict, Disk] = None - gpu: Optional[Union[dict, GPU]] = None - network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() - confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None - hypervisor: Optional[Union[dict, SoftwareResource]] = None - hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False - hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cpu): - self.MissingRequiredField("cpu") - if not isinstance(self.cpu, CPU): - self.cpu = CPU(**as_dict(self.cpu)) - - if self._is_empty(self.ram): - self.MissingRequiredField("ram") - if not isinstance(self.ram, Memory): - self.ram = Memory(**as_dict(self.ram)) - - if self._is_empty(self.bootVolume): - self.MissingRequiredField("bootVolume") - if not isinstance(self.bootVolume, Disk): - self.bootVolume = Disk(**as_dict(self.bootVolume)) - - if self.gpu is not None and not isinstance(self.gpu, GPU): - self.gpu = GPU(**as_dict(self.gpu)) - - if self.network is not None and not isinstance(self.network, str): - self.network = str(self.network) - - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): - self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) - - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): - self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) - - super().__post_init__(**kwargs) - - -@dataclass -class ConfidentialComputing(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing - class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" - class_name: ClassVar[str] = "ConfidentialComputing" - class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing - - technology: str = None - attestationServiceURI: Optional[Union[str, URI]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.technology): - self.MissingRequiredField("technology") - if not isinstance(self.technology, str): - self.technology = str(self.technology) - - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): - self.attestationServiceURI = URI(self.attestationServiceURI) - - super().__post_init__(**kwargs) - - -# Enumerations -class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") - VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") - UM = PermissibleValue( - text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") - SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") - VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") - BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") - BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") - VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") - IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") - CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") - KP = PermissibleValue( - text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") - LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") - DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") - MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") - FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") - FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") - TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") - HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") - IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") - KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") - CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") - MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") - MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") - BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") - KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") - MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") - RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") - ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") - SH = PermissibleValue( - text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") - KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") - MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") - SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") - PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") - VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") - GS = PermissibleValue( - text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") - SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") - TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") - TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") - AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") - TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") - US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") - GB = PermissibleValue( - text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") - CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") - - _defn = EnumDefinition( - name="CountryNameAlpha2", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) - -class CountryNameAlpha3(EnumDefinitionImpl): - - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") - ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") - BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") - BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") - BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") - IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") - CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") - CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") - CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") - COD = PermissibleValue( - text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") - COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") - DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") - FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") - FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") - ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") - HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") - IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") - PRK = PermissibleValue( - text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") - KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") - LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") - MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") - MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") - FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") - MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") - MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") - PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") - RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") - SHN = PermissibleValue( - text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") - KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") - MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") - SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") - VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") - STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") - SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") - SGS = PermissibleValue( - text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") - SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") - SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") - TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") - TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") - TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") - XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") - TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") - ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") - GBR = PermissibleValue( - text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") - USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") - UMI = PermissibleValue( - text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") - VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") - VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") - VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") - - _defn = EnumDefinition( - name="CountryNameAlpha3", - ) - -class CountryNameNumeric(EnumDefinitionImpl): - - _defn = EnumDefinition( - name="CountryNameNumeric", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", - PermissibleValue( - text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", - PermissibleValue( - text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", - PermissibleValue( - text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", - PermissibleValue( - text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", - PermissibleValue( - text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", - PermissibleValue( - text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", - PermissibleValue( - text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", - PermissibleValue( - text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", - PermissibleValue( - text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", - PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", - PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", - PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", - PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", - PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", - PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", - PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", - PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", - PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", - PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", - PermissibleValue( - text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) - -class EncryptionAlgorithm(EnumDefinitionImpl): - - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") - - _defn = EnumDefinition( - name="EncryptionAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) - -class ChecksumAlgorithm(EnumDefinitionImpl): - - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm to calcualte checksum not further described.") - - _defn = EnumDefinition( - name="ChecksumAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-2", - PermissibleValue( - text="sha-2", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) - -class KeyManagement(EnumDefinitionImpl): - - BYOK = PermissibleValue( - text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") - HYOK = PermissibleValue( - text="HYOK", - description="hold-your-own-key Key created by user and kept by user") - managed = PermissibleValue( - text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") - - _defn = EnumDefinition( - name="KeyManagement", - ) - -class SignatureAlgorithm(EnumDefinitionImpl): - - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for digital signatures not further described.") - - _defn = EnumDefinition( - name="SignatureAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) - -class DiskTypes(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="DiskTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) - -class GPUInterconnetionTypes(EnumDefinitionImpl): - - NVLink = PermissibleValue(text="NVLink") - RoCE2 = PermissibleValue(text="RoCE2") - other = PermissibleValue(text="other") - none = PermissibleValue(text="none") - - _defn = EnumDefinition( - name="GPUInterconnetionTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) - -class UpdateFrequency(EnumDefinitionImpl): - """ - Possible values for image's update frequency. - """ - yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") - quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") - weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") - daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") - critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") - - _defn = EnumDefinition( - name="UpdateFrequency", - description="Possible values for image's update frequency.", - ) - -class Validity1(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - none = PermissibleValue( - text="none", - description="No information are given.") - notice = PermissibleValue( - text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") - - _defn = EnumDefinition( - name="Validity1", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class Validity2(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - forever = PermissibleValue( - text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") - - _defn = EnumDefinition( - name="Validity2", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class GaiaXTermsAndConditions(EnumDefinitionImpl): - """ - SHA256 check sum of Gaia-X Terms and Conditions. - """ - _defn = EnumDefinition( - name="GaiaXTermsAndConditions", - description="SHA256 check sum of Gaia-X Terms and Conditions.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) - -class MemoryClasses(EnumDefinitionImpl): - - DDR4 = PermissibleValue(text="DDR4") - DDR5 = PermissibleValue(text="DDR5") - GDDR5 = PermissibleValue(text="GDDR5") - GDDR6 = PermissibleValue(text="GDDR6") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryClasses", - ) - -class MemoryRanks(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryRanks", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) - -class PXEDiskType(EnumDefinitionImpl): - - WINPE = PermissibleValue(text="WINPE") - ISO = PermissibleValue(text="ISO") - - _defn = EnumDefinition( - name="PXEDiskType", - ) - -class SPDX(EnumDefinitionImpl): - - AAL = PermissibleValue(text="AAL") - Abstyles = PermissibleValue(text="Abstyles") - ADSL = PermissibleValue(text="ADSL") - Afmparse = PermissibleValue(text="Afmparse") - Aladdin = PermissibleValue(text="Aladdin") - AMDPLPA = PermissibleValue(text="AMDPLPA") - AML = PermissibleValue(text="AML") - AMPAS = PermissibleValue(text="AMPAS") - APAFML = PermissibleValue(text="APAFML") - Baekmuk = PermissibleValue(text="Baekmuk") - Bahyph = PermissibleValue(text="Bahyph") - Barr = PermissibleValue(text="Barr") - Beerware = PermissibleValue(text="Beerware") - blessing = PermissibleValue(text="blessing") - Borceux = PermissibleValue(text="Borceux") - Caldera = PermissibleValue(text="Caldera") - CFITSIO = PermissibleValue(text="CFITSIO") - checkmk = PermissibleValue(text="checkmk") - ClArtistic = PermissibleValue(text="ClArtistic") - Clips = PermissibleValue(text="Clips") - Crossword = PermissibleValue(text="Crossword") - CrystalStacker = PermissibleValue(text="CrystalStacker") - Cube = PermissibleValue(text="Cube") - curl = PermissibleValue(text="curl") - diffmark = PermissibleValue(text="diffmark") - DOC = PermissibleValue(text="DOC") - Dotseqn = PermissibleValue(text="Dotseqn") - DSDP = PermissibleValue(text="DSDP") - dtoa = PermissibleValue(text="dtoa") - dvipdfm = PermissibleValue(text="dvipdfm") - eGenix = PermissibleValue(text="eGenix") - Entessa = PermissibleValue(text="Entessa") - EPICS = PermissibleValue(text="EPICS") - EUDatagrid = PermissibleValue(text="EUDatagrid") - Eurosym = PermissibleValue(text="Eurosym") - Fair = PermissibleValue(text="Fair") - FreeImage = PermissibleValue(text="FreeImage") - FSFAP = PermissibleValue(text="FSFAP") - FSFUL = PermissibleValue(text="FSFUL") - FSFULLR = PermissibleValue(text="FSFULLR") - FSFULLRWD = PermissibleValue(text="FSFULLRWD") - FTL = PermissibleValue(text="FTL") - GD = PermissibleValue(text="GD") - Giftware = PermissibleValue(text="Giftware") - GL2PS = PermissibleValue(text="GL2PS") - Glide = PermissibleValue(text="Glide") - Glulxe = PermissibleValue(text="Glulxe") - GLWTPL = PermissibleValue(text="GLWTPL") - gnuplot = PermissibleValue(text="gnuplot") - HaskellReport = PermissibleValue(text="HaskellReport") - HPND = PermissibleValue(text="HPND") - HTMLTIDY = PermissibleValue(text="HTMLTIDY") - ICU = PermissibleValue(text="ICU") - IJG = PermissibleValue(text="IJG") - ImageMagick = PermissibleValue(text="ImageMagick") - iMatix = PermissibleValue(text="iMatix") - Imlib2 = PermissibleValue(text="Imlib2") - Intel = PermissibleValue(text="Intel") - IPA = PermissibleValue(text="IPA") - ISC = PermissibleValue(text="ISC") - Jam = PermissibleValue(text="Jam") - JPNIC = PermissibleValue(text="JPNIC") - JSON = PermissibleValue(text="JSON") - Kazlib = PermissibleValue(text="Kazlib") - Latex2e = PermissibleValue(text="Latex2e") - Leptonica = PermissibleValue(text="Leptonica") - LGPLLR = PermissibleValue(text="LGPLLR") - Libpng = PermissibleValue(text="Libpng") - libtiff = PermissibleValue(text="libtiff") - LOOP = PermissibleValue(text="LOOP") - MakeIndex = PermissibleValue(text="MakeIndex") - metamail = PermissibleValue(text="metamail") - Minpack = PermissibleValue(text="Minpack") - MirOS = PermissibleValue(text="MirOS") - MIT = PermissibleValue(text="MIT") - MITNFA = PermissibleValue(text="MITNFA") - Motosoto = PermissibleValue(text="Motosoto") - mpich2 = PermissibleValue(text="mpich2") - mplus = PermissibleValue(text="mplus") - MTLL = PermissibleValue(text="MTLL") - Multics = PermissibleValue(text="Multics") - Mup = PermissibleValue(text="Mup") - Naumen = PermissibleValue(text="Naumen") - NCSA = PermissibleValue(text="NCSA") - NetCDF = PermissibleValue(text="NetCDF") - Newsletr = PermissibleValue(text="Newsletr") - NGPL = PermissibleValue(text="NGPL") - NLPL = PermissibleValue(text="NLPL") - Nokia = PermissibleValue(text="Nokia") - NOSL = PermissibleValue(text="NOSL") - Noweb = PermissibleValue(text="Noweb") - NRL = PermissibleValue(text="NRL") - NTP = PermissibleValue(text="NTP") - OFFIS = PermissibleValue(text="OFFIS") - OGTSL = PermissibleValue(text="OGTSL") - OML = PermissibleValue(text="OML") - OpenSSL = PermissibleValue(text="OpenSSL") - Plexus = PermissibleValue(text="Plexus") - PostgreSQL = PermissibleValue(text="PostgreSQL") - psfrag = PermissibleValue(text="psfrag") - psutils = PermissibleValue(text="psutils") - Qhull = PermissibleValue(text="Qhull") - Rdisc = PermissibleValue(text="Rdisc") - RSCPL = PermissibleValue(text="RSCPL") - Ruby = PermissibleValue(text="Ruby") - Saxpath = PermissibleValue(text="Saxpath") - SCEA = PermissibleValue(text="SCEA") - SchemeReport = PermissibleValue(text="SchemeReport") - Sendmail = PermissibleValue(text="Sendmail") - SGP4 = PermissibleValue(text="SGP4") - SISSL = PermissibleValue(text="SISSL") - Sleepycat = PermissibleValue(text="Sleepycat") - SMLNJ = PermissibleValue(text="SMLNJ") - SMPPL = PermissibleValue(text="SMPPL") - SNIA = PermissibleValue(text="SNIA") - snprintf = PermissibleValue(text="snprintf") - SunPro = PermissibleValue(text="SunPro") - SWL = PermissibleValue(text="SWL") - Symlinks = PermissibleValue(text="Symlinks") - TCL = PermissibleValue(text="TCL") - TermReadKey = PermissibleValue(text="TermReadKey") - TMate = PermissibleValue(text="TMate") - TOSL = PermissibleValue(text="TOSL") - TPDL = PermissibleValue(text="TPDL") - TTWL = PermissibleValue(text="TTWL") - UCAR = PermissibleValue(text="UCAR") - UnixCrypt = PermissibleValue(text="UnixCrypt") - Unlicense = PermissibleValue(text="Unlicense") - Vim = PermissibleValue(text="Vim") - VOSTROM = PermissibleValue(text="VOSTROM") - W3C = PermissibleValue(text="W3C") - w3m = PermissibleValue(text="w3m") - Wsuipa = PermissibleValue(text="Wsuipa") - WTFPL = PermissibleValue(text="WTFPL") - X11 = PermissibleValue(text="X11") - Xerox = PermissibleValue(text="Xerox") - Xfig = PermissibleValue(text="Xfig") - xinetd = PermissibleValue(text="xinetd") - xlock = PermissibleValue(text="xlock") - Xnet = PermissibleValue(text="Xnet") - xpp = PermissibleValue(text="xpp") - XSkat = PermissibleValue(text="XSkat") - Zed = PermissibleValue(text="Zed") - Zlib = PermissibleValue(text="Zlib") - - _defn = EnumDefinition( - name="SPDX", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) - -class OSDistribution(EnumDefinitionImpl): - """ - Possible values for operating system distribution. - """ - Debian = PermissibleValue(text="Debian") - Fedora = PermissibleValue(text="Fedora") - FreeBSD = PermissibleValue(text="FreeBSD") - Mandrakelinux = PermissibleValue(text="Mandrakelinux") - NetBSD = PermissibleValue(text="NetBSD") - OpenBSD = PermissibleValue(text="OpenBSD") - OpenSolaris = PermissibleValue(text="OpenSolaris") - openSUSE = PermissibleValue(text="openSUSE") - Ubuntu = PermissibleValue(text="Ubuntu") - CirrOS = PermissibleValue(text="CirrOS") - AlmaLinux = PermissibleValue(text="AlmaLinux") - others = PermissibleValue(text="others") - - _defn = EnumDefinition( - name="OSDistribution", - description="Possible values for operating system distribution.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) - -class HypervisorType(EnumDefinitionImpl): - """ - Possible values for hypervisor types. - """ - quemu = PermissibleValue(text="quemu") - KVM = PermissibleValue(text="KVM") - Xen = PermissibleValue(text="Xen") - ESXi = PermissibleValue(text="ESXi") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="HypervisorType", - description="Possible values for hypervisor types.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) - -class PersonalDataProtectionRegime(EnumDefinitionImpl): - - GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") - LGPD2019 = PermissibleValue( - text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") - PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") - CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") - VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") - - _defn = EnumDefinition( - name="PersonalDataProtectionRegime", - ) - -class RequestTypes(EnumDefinitionImpl): - - API = PermissibleValue(text="API") - email = PermissibleValue(text="email") - webform = PermissibleValue(text="webform") - unregisteredLetter = PermissibleValue(text="unregisteredLetter") - registeredLetter = PermissibleValue(text="registeredLetter") - supportCenter = PermissibleValue(text="supportCenter") - - _defn = EnumDefinition( - name="RequestTypes", - ) - -class AccessTypes(EnumDefinitionImpl): - - digital = PermissibleValue( - text="digital", - description="Access via digital service, such as e-mail or web form.") - physical = PermissibleValue( - text="physical", - description="Access via physical medium, such as letter or physical appointment.") - - _defn = EnumDefinition( - name="AccessTypes", - ) - -class MIMETypes(EnumDefinitionImpl): - - calendar = PermissibleValue(text="calendar") - cql = PermissibleValue(text="cql") - css = PermissibleValue(text="css") - csv = PermissibleValue(text="csv") - dns = PermissibleValue(text="dns") - encaprtp = PermissibleValue(text="encaprtp") - enriched = PermissibleValue(text="enriched") - example = PermissibleValue(text="example") - fhirpath = PermissibleValue(text="fhirpath") - flexfec = PermissibleValue(text="flexfec") - fwdred = PermissibleValue(text="fwdred") - gff3 = PermissibleValue(text="gff3") - hl7v2 = PermissibleValue(text="hl7v2") - html = PermissibleValue(text="html") - javascript = PermissibleValue(text="javascript") - markdown = PermissibleValue(text="markdown") - mizar = PermissibleValue(text="mizar") - n3 = PermissibleValue(text="n3") - parameters = PermissibleValue(text="parameters") - parityfec = PermissibleValue(text="parityfec") - plain = PermissibleValue(text="plain") - RED = PermissibleValue(text="RED") - richtext = PermissibleValue(text="richtext") - rtf = PermissibleValue(text="rtf") - rtploopback = PermissibleValue(text="rtploopback") - rtx = PermissibleValue(text="rtx") - SGML = PermissibleValue(text="SGML") - shacl = PermissibleValue(text="shacl") - shex = PermissibleValue(text="shex") - spdx = PermissibleValue(text="spdx") - strings = PermissibleValue(text="strings") - t140 = PermissibleValue(text="t140") - troff = PermissibleValue(text="troff") - turtle = PermissibleValue(text="turtle") - ulpfec = PermissibleValue(text="ulpfec") - vcard = PermissibleValue(text="vcard") - vtt = PermissibleValue(text="vtt") - wgsl = PermissibleValue(text="wgsl") - xml = PermissibleValue(text="xml") - A2L = PermissibleValue(text="A2L") - activemessage = PermissibleValue(text="activemessage") - AML = PermissibleValue(text="AML") - applefile = PermissibleValue(text="applefile") - ATF = PermissibleValue(text="ATF") - ATFX = PermissibleValue(text="ATFX") - atomicmail = PermissibleValue(text="atomicmail") - ATXML = PermissibleValue(text="ATXML") - cbor = PermissibleValue(text="cbor") - cccex = PermissibleValue(text="cccex") - cdni = PermissibleValue(text="cdni") - CEA = PermissibleValue(text="CEA") - cfw = PermissibleValue(text="cfw") - clr = PermissibleValue(text="clr") - cms = PermissibleValue(text="cms") - commonground = PermissibleValue(text="commonground") - cose = PermissibleValue(text="cose") - csrattrs = PermissibleValue(text="csrattrs") - cwl = PermissibleValue(text="cwl") - cwt = PermissibleValue(text="cwt") - cybercash = PermissibleValue(text="cybercash") - dashdelta = PermissibleValue(text="dashdelta") - DCD = PermissibleValue(text="DCD") - dicom = PermissibleValue(text="dicom") - DII = PermissibleValue(text="DII") - DIT = PermissibleValue(text="DIT") - dvcs = PermissibleValue(text="dvcs") - EDIFACT = PermissibleValue(text="EDIFACT") - efi = PermissibleValue(text="efi") - eshop = PermissibleValue(text="eshop") - exi = PermissibleValue(text="exi") - express = PermissibleValue(text="express") - fastinfoset = PermissibleValue(text="fastinfoset") - fastsoap = PermissibleValue(text="fastsoap") - fdf = PermissibleValue(text="fdf") - fits = PermissibleValue(text="fits") - gzip = PermissibleValue(text="gzip") - H224 = PermissibleValue(text="H224") - http = PermissibleValue(text="http") - hyperstudio = PermissibleValue(text="hyperstudio") - iges = PermissibleValue(text="iges") - index = PermissibleValue(text="index") - IOTP = PermissibleValue(text="IOTP") - ipfix = PermissibleValue(text="ipfix") - ipp = PermissibleValue(text="ipp") - ISUP = PermissibleValue(text="ISUP") - jose = PermissibleValue(text="jose") - json = PermissibleValue(text="json") - jwt = PermissibleValue(text="jwt") - linkset = PermissibleValue(text="linkset") - LXF = PermissibleValue(text="LXF") - macwriteii = PermissibleValue(text="macwriteii") - marc = PermissibleValue(text="marc") - mathematica = PermissibleValue(text="mathematica") - mbox = PermissibleValue(text="mbox") - MF4 = PermissibleValue(text="MF4") - mikey = PermissibleValue(text="mikey") - mipc = PermissibleValue(text="mipc") - mp21 = PermissibleValue(text="mp21") - mp4 = PermissibleValue(text="mp4") - msword = PermissibleValue(text="msword") - mxf = PermissibleValue(text="mxf") - nasdata = PermissibleValue(text="nasdata") - node = PermissibleValue(text="node") - nss = PermissibleValue(text="nss") - ODA = PermissibleValue(text="ODA") - ODX = PermissibleValue(text="ODX") - ogg = PermissibleValue(text="ogg") - oscore = PermissibleValue(text="oscore") - oxps = PermissibleValue(text="oxps") - p21 = PermissibleValue(text="p21") - passport = PermissibleValue(text="passport") - pdf = PermissibleValue(text="pdf") - PDX = PermissibleValue(text="PDX") - pkcs10 = PermissibleValue(text="pkcs10") - pkcs8 = PermissibleValue(text="pkcs8") - pkcs12 = PermissibleValue(text="pkcs12") - pkixcmp = PermissibleValue(text="pkixcmp") - postscript = PermissibleValue(text="postscript") - QSIG = PermissibleValue(text="QSIG") - raptorfec = PermissibleValue(text="raptorfec") - riscos = PermissibleValue(text="riscos") - sbe = PermissibleValue(text="sbe") - sdp = PermissibleValue(text="sdp") - sieve = PermissibleValue(text="sieve") - simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") - sipc = PermissibleValue(text="sipc") - slate = PermissibleValue(text="slate") - smpte336m = PermissibleValue(text="smpte336m") - sql = PermissibleValue(text="sql") - srgs = PermissibleValue(text="srgs") - TETRA_ISI = PermissibleValue(text="TETRA_ISI") - tnauthlist = PermissibleValue(text="tnauthlist") - trig = PermissibleValue(text="trig") - tzif = PermissibleValue(text="tzif") - vemmi = PermissibleValue(text="vemmi") - wasm = PermissibleValue(text="wasm") - widget = PermissibleValue(text="widget") - wita = PermissibleValue(text="wita") - xfdf = PermissibleValue(text="xfdf") - yaml = PermissibleValue(text="yaml") - yang = PermissibleValue(text="yang") - zip = PermissibleValue(text="zip") - zlib = PermissibleValue(text="zlib") - zstd = PermissibleValue(text="zstd") - - _defn = EnumDefinition( - name="MIMETypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) - -class ProvisionTypes(EnumDefinitionImpl): - - private = PermissibleValue( - text="private", - description="A service, which is provided for one customer exclusively.") - public = PermissibleValue( - text="public", - description="A service, which is used by several customers, simultaneously.") - hybrid = PermissibleValue( - text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") - - _defn = EnumDefinition( - name="ProvisionTypes", - ) - -class TenantSeparation(EnumDefinitionImpl): - - physical = PermissibleValue( - text="physical", - description="TBD") - - _defn = EnumDefinition( - name="TenantSeparation", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) - -class FirmType(EnumDefinitionImpl): - """ - Possible values for VM image's firmerequired hypervisor. - """ - BIOS = PermissibleValue(text="BIOS") - UEFI = PermissibleValue(text="UEFI") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="FirmType", - description="Possible values for VM image's firmerequired hypervisor.", - ) - -class WatchDogActions(EnumDefinitionImpl): - """ - Possible values for VM image's watchdog actions. - """ - disabled = PermissibleValue( - text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") - reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") - poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") - pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") - none = PermissibleValue( - text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") - - _defn = EnumDefinition( - name="WatchDogActions", - description="Possible values for VM image's watchdog actions.", - ) - -class RNGTypes(EnumDefinitionImpl): - - Quantum = PermissibleValue( - text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") - - _defn = EnumDefinition( - name="RNGTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Electrical noise", - PermissibleValue( - text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", - PermissibleValue( - text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", - PermissibleValue( - text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", - PermissibleValue( - text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) - -class VMDiskType(EnumDefinitionImpl): - - RAW = PermissibleValue(text="RAW") - QCOW2 = PermissibleValue(text="QCOW2") - VHD = PermissibleValue(text="VHD") - VMDK = PermissibleValue(text="VMDK") - ISO = PermissibleValue(text="ISO") - CVF = PermissibleValue(text="CVF") - CVA = PermissibleValue(text="CVA") - - _defn = EnumDefinition( - name="VMDiskType", - ) - -# Slots -class slots: - pass - -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) - -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 0c74864..092d38c 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -3,22 +3,20 @@ """ import inspect -from generator.common.gx_schema import SCHEMA -from generator.common.gx_schema import VCARD -from generator.common.gx_schema import GX -from generator.common.gx_schema import QUDT -from generator.common.gx_schema import YAMLRoot -from generator.common.gx_schema import slots - from json import JSONDecoder from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from typing import List +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots +from linkml_runtime.utils.yamlutils import TypedNode +from typing import List, Tuple from uuid import uuid4 +from datetime import date, datetime +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python @@ -70,7 +68,6 @@ def to_json_ld(obj) -> dict: @rtype: dict """ json_ld = dict() - if isinstance(obj, JsonLdObject): # if JsonLdObject adds id gx_object = obj.gx_object @@ -85,56 +82,44 @@ def to_json_ld(obj) -> dict: # skip emtpy values continue slot_curie = get_slot_curie(key, obj) - if isinstance(value, XSDDateTime): - # Add type for datetime - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:dateTime" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, XSDDate): - # add type for date - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:date" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, float): - # add type for float - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:float" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, str) and value.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:anyURI" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, bool): - # add type for boolean - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:boolean" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, list): + if isinstance(value, list): # call to_json_ld for each entry in list json_ld[slot_curie] = list() for item in value: json_ld[slot_curie].append(to_json_ld(item)) - elif isinstance(value, EnumDefinitionImpl): + elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code - json_ld[slot_curie] = value.code.text - elif isinstance(value, YAMLRoot): - json_ld[slot_curie] = to_json_ld(value) + return obj.code.text else: - json_ld[slot_curie] = value + json_ld[slot_curie] = to_json_ld(value) return json_ld - elif isinstance(obj, str): - if obj.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld["@type"] = "xsd:anyURI" - json_ld["@value"] = obj - return json_ld - else: - return obj + elif isinstance(obj, datetime): + # Add type for datetime + return { + "@type": "xsd:dateTime", + "@value": str(obj)} + elif isinstance(obj, date): + # add type for date + return { + "@type": "xsd:date", + "@value": str(obj)} + elif isinstance(obj, float): + # add type for float + return { + "@type": "xsd:float", + "@value": str(obj)} + elif isinstance(obj, URI): + # add type for URI + return { + "@type": "xsd:anyURI", + "@value": str(obj)} + elif isinstance(obj, bool): + # add type for boolean + return { + "@type": "xsd:boolean", + "@value": str(obj)} else: - return JSONDecoder().decode(obj) + return obj def get_slot_curie(slot_name:str, gx_object: object)-> str: @@ -153,19 +138,20 @@ def get_slot_curie(slot_name:str, gx_object: object)-> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie - -def get_types(gaia_object: type) -> List[type]: +def get_types(gx_object: type) -> List[type]: """ Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. - @param gaia_object: GX object, whose type is to be retrived - @type gaia_object: type + @param gx_object: GX object, whose type is to be retrived + @type gx_object: type @return: list of types if given GX_OBJECT @rtype: list of types """ types = [] - for base in inspect.getmro(gaia_object): - if isinstance(base, YAMLRoot): + for base in _get_super_classes(gx_object): + try: types.append(base.class_class_curie) + except AttributeError: + pass return types From 0d31f24dec0a8d927847b113333c526c3547f9ee Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 5 Jan 2024 15:01:01 +0100 Subject: [PATCH 052/175] Support siganure, finish JSON-LD serialization, refactoring Signed-off-by: Anja Strunk --- config/config.yaml | 2 +- generator/common/const.py | 4 + .../common/{exceptions.py => expections.py} | 6 +- generator/common/gx_schema.py | 38 ++-- generator/common/json_ld.py | 56 +++-- generator/data.json | 0 .../discovery/openstack/opentack_discovery.py | 19 +- .../openstack/vm_images_discovery.py | 207 +++++++++++------- 8 files changed, 205 insertions(+), 127 deletions(-) rename generator/common/{exceptions.py => expections.py} (53%) create mode 100644 generator/data.json diff --git a/config/config.yaml b/config/config.yaml index 27a563d..d25f0b6 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -57,7 +57,7 @@ vm image: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: DEFAULTV + resource policy: DEFAULT license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: diff --git a/generator/common/const.py b/generator/common/const.py index 78b2e7c..677960a 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,3 +1,7 @@ +""" +Constants used by SCS GX Credential Generator. +""" + DEFAULT_RESOURCE_POLICY = "default: allow intent" DEFAULT_FIRMWARE_TYPE = "other" DEFAULT_WATCHDOG_ACTION = "none" diff --git a/generator/common/exceptions.py b/generator/common/expections.py similarity index 53% rename from generator/common/exceptions.py rename to generator/common/expections.py index de8920d..5662b83 100644 --- a/generator/common/exceptions.py +++ b/generator/common/expections.py @@ -1,5 +1,7 @@ class MissingMandatoryAttribute(AttributeError): + """ + An exception that occurs when an SCS mandatory attributes are missing. + """ def __init__(self, *args, **kwargs): - super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") - + super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") \ No newline at end of file diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 1a6e2a5..fcd1d2a 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-01-04T09:32:21 +# Generation date: 2024-01-05T13:21:25 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -255,7 +255,7 @@ class CheckSum(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.CheckSum checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None + checkSumValue: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.checkSumCalculation): @@ -263,10 +263,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) + if self._is_empty(self.checkSumValue): + self.MissingRequiredField("checkSumValue") + if not isinstance(self.checkSumValue, str): + self.checkSumValue = str(self.checkSumValue) super().__post_init__(**kwargs) @@ -280,15 +280,15 @@ class Signature(YAMLRoot): class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature - signature: str = None + signatureValue: str = None hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) + if self._is_empty(self.signatureValue): + self.MissingRequiredField("signatureValue") + if not isinstance(self.signatureValue, str): + self.signatureValue = str(self.signatureValue) if self._is_empty(self.hashAlgorithm): self.MissingRequiredField("hashAlgorithm") @@ -1072,6 +1072,7 @@ class Image(CodeArtifact): videoRamSize: Optional[Union[dict, "MemorySize"]] = None rootDiskReq: Optional[Union[dict, Disk]] = None encryption: Optional[Union[dict, Encryption]] = None + checkSum: Optional[Union[dict, CheckSum]] = None secureBoot: Optional[Union[bool, Bool]] = False vPMU: Optional[Union[bool, Bool]] = False multiQueues: Optional[Union[bool, Bool]] = False @@ -1104,6 +1105,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.encryption is not None and not isinstance(self.encryption, Encryption): self.encryption = Encryption(**as_dict(self.encryption)) + if self.checkSum is not None and not isinstance(self.checkSum, CheckSum): + self.checkSum = CheckSum(**as_dict(self.checkSum)) + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): self.secureBoot = Bool(self.secureBoot) @@ -8877,11 +8881,11 @@ class slots: slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) +slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), + model_uri=GX.checkSum__checkSumValue, domain=None, range=str) -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), + model_uri=GX.signature__signatureValue, domain=None, range=str) slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) @@ -8955,6 +8959,9 @@ class slots: slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) +slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) + slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) @@ -9242,3 +9249,4 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 092d38c..d6736ad 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -3,31 +3,31 @@ """ import inspect -from json import JSONDecoder +from datetime import date, datetime + +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.yamlutils import TypedNode -from typing import List, Tuple +from typing import List from uuid import uuid4 -from datetime import date, datetime -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python - classes of Gaia-X Credential does not have an attribute to store instance's id.""" + classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials.""" - def __init__(self, gx_object: YAMLRoot, gx_id=None): + def __init__(self, gx_object: YAMLRoot, gx_id:str=None): """ + Create a new object of JsonLdObejct @param gx_object: Gaia-X object @type gx_object: YAMLRoot @param gx_id: id of Gaia-X object + @type gx_id: basestring """ self.gx_object = gx_object self.gx_id = gx_id @@ -37,7 +37,7 @@ def __init__(self, gx_object: YAMLRoot, gx_id=None): def get_json_ld_context() -> dict: """ - Returns JSON-LD context as dict + Return JSON-LD context as dict. @return: JSON-LD context as dictionary @rtype: dict @@ -49,7 +49,8 @@ def get_json_ld_context() -> dict: QUDT.prefix: QUDT, SCHEMA.prefix: SCHEMA, VCARD.prefix: VCARD, - "xsd": "http://www.w3.org/2001/XMLSchema#" + "xsd": "http://www.w3.org/2001/XMLSchema#", + "ex": "https://example.com/" } } @@ -58,7 +59,7 @@ def to_json_ld(obj) -> dict: """ JSON serializer callback method. 1) Adds object's id, if any - 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type + 2) Adds type information of instance and its attributes. As JSON-LD interprets all attributes without any type information as string, we need to add type to non-string attributes explicitly. 3) Adds curie to instance and its attributes 4) Filters out empty values (None, {}, and []) @@ -69,15 +70,23 @@ def to_json_ld(obj) -> dict: """ json_ld = dict() if isinstance(obj, JsonLdObject): - # if JsonLdObject adds id + # if JsonLdObject add id gx_object = obj.gx_object - json_ld['@id'] = obj.gx_id + json_ld['@id'] = "ex:" + obj.gx_id.replace(" ", "") + # call to_json_ld for gx_object json_ld.update(to_json_ld(gx_object)) return json_ld elif isinstance(obj, YAMLRoot): - # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict - json_ld['@type'] = get_types(obj.__class__) + # if YAMLRoot (= all top level classes in Gaia-X Credential Schema) + # Using one type is sufficient + # json_ld['@type'] = get_types(obj.__class__) + try: + # set type of Gaia-X object if possible + json_ld['@type'] = obj.class_class_curie + except AttributeError: + pass for key, value in obj.__dict__.items(): + # serialize each attribute of object if value is None or value == [] or value == {}: # skip emtpy values continue @@ -122,9 +131,9 @@ def to_json_ld(obj) -> dict: return obj -def get_slot_curie(slot_name:str, gx_object: object)-> str: +def get_slot_curie(slot_name: str, gx_object: object) -> str: """ - Returns curie of slot with given SLOT_NAME of given GX_OBJECT. + Return curie of slot with given SLOT_NAME of given GX_OBJECT. @param slot_name: name of slot whose curie is requested @type slot_name: str @param gx_object: GX object given slot may belong to @@ -138,10 +147,11 @@ def get_slot_curie(slot_name:str, gx_object: object)-> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie + def get_types(gx_object: type) -> List[type]: """ - Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. - @param gx_object: GX object, whose type is to be retrived + Return all types as curie of given GX_OBJECT. Types are instance's class as well as all super classes. + @param gx_object: GX object, whose type is to be retrieved @type gx_object: type @return: list of types if given GX_OBJECT @rtype: list of types @@ -157,9 +167,9 @@ def get_types(gx_object: type) -> List[type]: def _get_super_classes(class_name) -> List: """ - Returns all super classes of class with given CLASS_NAME + Return all super classes of class with given CLASS_NAME. @param class_name: name of class - @return: list of all super classdes + @return: list of all super classes """ classes = [] for base in inspect.getmro(class_name): diff --git a/generator/data.json b/generator/data.json new file mode 100644 index 0000000..e69de29 diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index a6f21f2..4b1f2c4 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,18 +1,14 @@ -import json +import generator.common.json_ld as json_ld + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery -import openstack from openstack.connection import Connection -from typing import Dict -import sys -from uuid import uuid4 -import generator.common.json_ld as json_ld -from generator.common.gx_schema import VMImage +from typing import Dict -from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: - "Abstraction for openStack cloud with all its services" + "Abstraction for openStack cloud with all its services." def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn @@ -21,6 +17,11 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.config = config def discover_properties(self) -> dict: + """ + Discover all attributes of OS Cloud. + + @return: all attributes as dict + """ props = json_ld.get_json_ld_context() props['@graph'] = [] diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index ab2b7cd..c6b9064 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,62 +1,54 @@ -import typing -from json import JSONDecoder -import json -import urllib3 +from linkml_runtime.utils.metamodelcore import URI -from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.expections import MissingMandatoryAttribute + +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX from generator.common.gx_schema import UpdateStrategy -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import GaiaXEntity - -from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image -import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject -from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image -from typing import List import generator.common.const as const -from typing import Dict +from typing import Dict, Union, List + +from datetime import datetime -import yaml # TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} -# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd -# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self) -> None: - with open("config/config.yaml", "r") as config_file: - self.config = yaml.safe_load(config_file) + # def __init__(self) -> None: + # with open("config/config.yaml", "r") as config_file: + # self.config = yaml.safe_load(config_file) - - - #def __init__(self, conn: Connection, config: Dict) -> None: - # self.conn = conn - # self.config = config + def __init__(self, conn: Connection, config: Dict) -> None: + self.conn = conn + self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[JsonLdObject]: """ - Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. + Return one credential for each VM image provided by openstack cloud. - @param conn: Connection to openstack cloud VM images are to be collected @return: list of VM images + @rtype: list[JsonLdObject] """ images = list() for image in self.conn.list_images(): - #images.append(self._convert_to_gx_image(image)) images.append( JsonLdObject( self._convert_to_gx_image(image), gx_id=image.id)) @@ -64,9 +56,11 @@ def discover_vm_images(self) -> List[JsonLdObject]: def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ - Converts Openstack image to a Gaia-X virtual machine image. + Convert Openstack image to a Gaia-X virtual machine image. @param os_image: Openstack image properties + @type os_image: OS_Image @return: Gaia-X virtual machine image + @rtype GX_Image """ # Initialize Gaia-X Image @@ -93,6 +87,7 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_patch_level(os_image, gx_image) self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) + self._add_signature(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -112,7 +107,7 @@ def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") else: - gx_image.cpuReq = CPU(cpuArchitecture=cpu_arch_types.other) + gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) @staticmethod def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: @@ -138,33 +133,38 @@ def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: raise MissingMandatoryAttribute(e.args) def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: - # Copyright owner and license not supported as Image properties, currently --> Default values are used + # Copyright owner and license not supported as Image properties, currently --> Default values from config are used + if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ARCH))) elif os_image.os_distro == "centos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CENTOS))) elif os_image.os_distro == "debian": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_DEBIAN))) elif os_image.os_distro == "fedora": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FEDORA))) elif os_image.os_distro == "freebsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, @@ -172,14 +172,16 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_FREEBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FREEBSD))) elif os_image.os_distro == "gentoo": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_GENTOO))) elif os_image.os_distro == "mandrake": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, @@ -187,7 +189,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_MANDRAKE), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) elif os_image.os_distro == "mandriva": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, @@ -195,32 +198,37 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_MANDRIVA), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) elif os_image.os_distro == "mes": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MES))) elif os_image.os_distro == "msdos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MSDOS))) elif os_image.os_distro == "netbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NETBSD))) elif os_image.os_distro == "netware": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NOVELL))) elif os_image.os_distro == "openbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, @@ -228,7 +236,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_OPENBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPENBSD))) elif os_image.os_distro == "opensolaris": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, @@ -236,7 +245,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_SOLARIS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SOLARIS))) elif os_image.os_distro == "opensuse": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, @@ -244,30 +254,35 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_OPEN_SUSE), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) elif os_image.os_distro == "rocky": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ROCKY))) elif os_image.os_distro == "rhel": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_RHEL))) elif os_image.os_distro == "sled": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SLED))) elif os_image.os_distro == "ubuntu": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_UBUNTU))) elif os_image.os_distro == "windows": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, @@ -275,14 +290,16 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_WINDOWS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_WINDOWS))) elif os_image.os_distro == "cirros": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CIRROS))) elif os_image.os_distro == "almalinux": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, @@ -290,7 +307,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_ALMALINUX), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") @@ -313,7 +331,8 @@ def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.license = [self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]] + for license in self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]: + gx_image.license.append(URI(license)) except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -324,10 +343,22 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - def _get_license(self, os: str) -> str: + def _get_license_from_config(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: + license_list = list() + + for l in licenses: + if l.startswith("http"): + license_list.append(URI(l)) + else: + license_list.append(l) + return license_list + + @staticmethod + def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -335,7 +366,8 @@ def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -343,7 +375,8 @@ def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -351,7 +384,8 @@ def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -359,7 +393,8 @@ def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return @@ -367,7 +402,8 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -375,7 +411,8 @@ def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> Non except AttributeError: pass - def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -392,7 +429,8 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties[ 'image_description'] @@ -404,7 +442,8 @@ def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -412,9 +451,10 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.buildDate = os_image.properties['image_build_date'] + gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") except KeyError: pass @@ -442,16 +482,22 @@ def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_algo(os_image.hash_algo) + algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value - gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass @staticmethod - def _get_algo(algo: str) -> str: - if algo in ['sha512', 'sha224', 'sha256' 'sha384']: - return 'sha-2' + def _get_checksum_algo(algo: str) -> str: + if algo == 'sha512': + return 'sha-512' + if algo == 'sha224': + return 'sha-224' + if algo == 'sha256': + return 'sha-256' + if algo == 'sha384': + return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo return ChecksumAlgorithm.other @@ -467,14 +513,21 @@ def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) - @staticmethod - def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo - + gx_image.signature = Signature( + signatureValue=os_image.img_signature, + hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), + signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) except AttributeError: pass + @staticmethod + def _get_signature_algo(algo: str) -> str: + if algo.startswith("SHA-"): + return "RSA-Signature" + return SignatureAlgorithm.other + + def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: + pass # ToDo: add aggrenation of From c1dfd8be233056713dfa96c61c72ee31860329eb Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 8 Jan 2024 11:58:32 +0100 Subject: [PATCH 053/175] Support aggregation of Signed-off-by: Anja Strunk --- config/config.yaml | 66 ++++--- generator/common/const.py | 2 + .../openstack/vm_images_discovery.py | 164 +++++++++--------- 3 files changed, 124 insertions(+), 108 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index d25f0b6..0efa07b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,122 +1,132 @@ -vm image: +operating system: Alpine Linux: copyright owner: "Alpine Linux" - resource policy: DEFAULT + resource policy: "abc" license: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 Arch Linux: copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://gitlab.archlinux.org/archlinux CentOS Linux: copyright owner: "The CentOS Project and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://github.com/CentOS/ Debian: copyright owner: "Ian Murdock and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.debian.org/legal/licenses/index.en.html Fedora: copyright owner: "Fedora-Project" - resource policy: DEFAULT + resource policy: "abc" license: - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ FreeBSD: copyright owner: "The FreeBSD Project" - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." - resource policy: DEFAULT + resource policy: "abc" license: - https://www.gentoo.org/glep/glep-0076.html Mandrakelinux: copyright owner: "Mandriva Linux" - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: copyright owner: "Micro Focus International" - resource policy: DEFAULT + resource policy: "abc" license: - https://support.novell.com/techcenter/articles/ana19960702.html OpenBSD: copyright owner: "OpenBSD" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.openbsd.org/policy.html OpenSolaris: copyright owner: "Sun Microsystems" - resource policy: DEFAULT + resource policy: "abc" license: - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html openSUSE: copyright owner: "openSUSE contributors & others" - resource policy: DEFAULT + resource policy: "abc" license: - https://en.opensuse.org/openSUSE:License Rocky Linux: copyright owner: "Rocky Enterprise Software Foundation" - resource policy: DEFAULT + resource policy: "abc" license: - - https://rockylinux.org/licensing + - https://rockylinux.org/licensing Red Hat Enterprise Linux: copyright owner: "Red Hat, Inc." - resource policy: DEFAULT + resource policy: "abc" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server SUSE Linux Enterprise Desktop: copyright owner: "SUSE" - resource policy: "" + resource policy: "abc" license: - https://www.suse.com/products/terms_and_conditions.pdf Ubuntu: copyright owner: "Canonical" - resource policy: DEFAULT + resource policy: "abc" license: - https://ubuntu.com/legal/open-source-licences Microsoft Windows: copyright owner: "Microsoft Corporation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.microsoft.com/licensing CirrOS: copyright owner: "Canonical Ltd." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-2.0-only AlmaLinux: copyright owner: "Canonical Ltd." - resource policy: DEFAULT + resource policy: "abc" license: - https://almalinux.org/p/the-almalinux-os-licensing-policy/ Debian 11: copyright owner: "AlmaLinux OS Foundation" - resource policy: DEFAULT - license: - - https://www.abc.org \ No newline at end of file + resource policy: "abc" + license: + - https://www.abc.org +own images: + AlmaLinux 8: + aggregation of: + - web:did:provider.de + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org \ No newline at end of file diff --git a/generator/common/const.py b/generator/common/const.py index 677960a..4bb8349 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -14,6 +14,8 @@ CONFIG_RESOURCE_POLICY = "resource policy" CONFIG_LICENSE = "license" CONFIG_COPYRIGHT = "copyright owner" +CONFIG_OPERATING_SYSTEM = "operating system" +CONFIG_OWN_IMAGES = "own images" CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index c6b9064..a76df72 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,3 +1,5 @@ +import os + from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -137,214 +139,216 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ARCH))) + self._get_license_for_os(const.CONFIG_OS_ARCH))) elif os_image.os_distro == "centos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CENTOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CENTOS))) + self._get_license_for_os(const.CONFIG_OS_CENTOS))) elif os_image.os_distro == "debian": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_DEBIAN), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_DEBIAN))) + self._get_license_for_os(const.CONFIG_OS_DEBIAN))) elif os_image.os_distro == "fedora": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FEDORA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FEDORA))) + self._get_license_for_os(const.CONFIG_OS_FEDORA))) elif os_image.os_distro == "freebsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FREEBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FREEBSD))) + self._get_license_for_os(const.CONFIG_OS_FREEBSD))) elif os_image.os_distro == "gentoo": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_GENTOO), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_GENTOO))) + self._get_license_for_os(const.CONFIG_OS_GENTOO))) elif os_image.os_distro == "mandrake": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRAKE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) + self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) elif os_image.os_distro == "mandriva": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRIVA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) + self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) elif os_image.os_distro == "mes": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MES))) + self._get_license_for_os(const.CONFIG_OS_MES))) elif os_image.os_distro == "msdos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MSDOS))) + self._get_license_for_os(const.CONFIG_OS_MSDOS))) elif os_image.os_distro == "netbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NETBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NETBSD))) + self._get_license_for_os(const.CONFIG_OS_NETBSD))) elif os_image.os_distro == "netware": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NOVELL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NOVELL))) + self._get_license_for_os(const.CONFIG_OS_NOVELL))) elif os_image.os_distro == "openbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPENBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPENBSD))) + self._get_license_for_os(const.CONFIG_OS_OPENBSD))) elif os_image.os_distro == "opensolaris": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_SOLARIS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SOLARIS))) + self._get_license_for_os(const.CONFIG_OS_SOLARIS))) elif os_image.os_distro == "opensuse": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPEN_SUSE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) elif os_image.os_distro == "rocky": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ROCKY))) + self._get_license_for_os(const.CONFIG_OS_ROCKY))) elif os_image.os_distro == "rhel": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_RHEL))) + self._get_license_for_os(const.CONFIG_OS_RHEL))) elif os_image.os_distro == "sled": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SLED))) + self._get_license_for_os(const.CONFIG_OS_SLED))) elif os_image.os_distro == "ubuntu": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_UBUNTU), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_UBUNTU))) + self._get_license_for_os(const.CONFIG_OS_UBUNTU))) elif os_image.os_distro == "windows": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_WINDOWS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_WINDOWS))) + self._get_license_for_os(const.CONFIG_OS_WINDOWS))) elif os_image.os_distro == "cirros": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CIRROS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CIRROS))) + self._get_license_for_os(const.CONFIG_OS_CIRROS))) elif os_image.os_distro == "almalinux": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_ALMALINUX), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) + self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") - def _get_resource_policy(self, os: str) -> str: - policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] - if policy == "DEFAULT": + def _get_resource_policy_for_os(self, os: str) -> str: + try: + return self.config[const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + except KeyError: return const.DEFAULT_RESOURCE_POLICY - else: - return policy - def _get_copyrightowner(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + def _get_copyrightowner_for_os(self, os: str) -> List[str]: + return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + + def _get_license_for_os(self, os: str) -> List[str]: + return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # check if comfig contains image's specific copright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - for license in self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]: - gx_image.license.append(URI(license)) + # check if comfig contains image's specific license + gx_image.license = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.resourcePolicy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + # check if comfig contains image's specific resource policy + gx_image.resourcePolicy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - def _get_license_from_config(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] @staticmethod def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: @@ -529,5 +533,5 @@ def _get_signature_algo(algo: str) -> str: return SignatureAlgorithm.other def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: - pass + self.config # ToDo: add aggrenation of From 08a2b8e5cd22db621dabce1f075bb65aef553bc7 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 10 Jan 2024 14:54:21 +0100 Subject: [PATCH 054/175] Support aggregationOf and hypervisorType Signed-off-by: Anja Strunk --- generator/common/const.py | 1 + generator/common/json_ld.py | 5 +++ .../openstack/vm_images_discovery.py | 45 ++++++++++++++----- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/generator/common/const.py b/generator/common/const.py index 4bb8349..dd6812e 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -16,6 +16,7 @@ CONFIG_COPYRIGHT = "copyright owner" CONFIG_OPERATING_SYSTEM = "operating system" CONFIG_OWN_IMAGES = "own images" +CONFIG_AGGREGATION_OF = "aggregation of" CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index d6736ad..bf3fbeb 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -10,6 +10,7 @@ from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions from typing import List @@ -68,6 +69,7 @@ def to_json_ld(obj) -> dict: @return: object as dictionary @rtype: dict """ + json_ld = dict() if isinstance(obj, JsonLdObject): # if JsonLdObject add id @@ -99,6 +101,9 @@ def to_json_ld(obj) -> dict: elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code return obj.code.text + elif isinstance(obj, PermissibleValue): + # add text for enumeration values instead of code + return obj.text else: json_ld[slot_curie] = to_json_ld(value) return json_ld diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index a76df72..f653892 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -9,6 +9,7 @@ from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem @@ -90,6 +91,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) self._add_signature(os_image, gx_image) + self._add_hypervisor(os_image, gx_image) + self._add_aggregation_of(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -100,16 +103,19 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @staticmethod def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: - if os_image.architecture == "i686": - gx_image.cpuReq = CPU(cpuArchitecture="x86-32") - elif os_image.architecture in ["x86_64", "ia64"]: - gx_image.cpuReq = CPU(cpuArchitecture="x86-64") - elif os_image.architecture == "aarch6": - gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") - elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") - else: - gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) + try: + if os_image.architecture == "i686": + gx_image.cpuReq = CPU(cpuArchitecture="x86-32") + elif os_image.architecture in ["x86_64", "ia64"]: + gx_image.cpuReq = CPU(cpuArchitecture="x86-64") + elif os_image.architecture == "aarch6": + gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") + elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") + else: + gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) @staticmethod def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: @@ -526,6 +532,19 @@ def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass + def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + if os_image.hypervisor_type == "xen": + gx_image.hypervisorType = HypervisorType.Xen + elif os_image.hypervisor_type == "quemu": + gx_image.hypervisorType = "quemu" + elif os_image.hypervisor_type == "hyperv": + gx_image.hypervisorType = "Hyper-V" + else: + gx_image.hypervisorType = HypervisorType.other + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) + @staticmethod def _get_signature_algo(algo: str) -> str: if algo.startswith("SHA-"): @@ -533,5 +552,7 @@ def _get_signature_algo(algo: str) -> str: return SignatureAlgorithm.other def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: - self.config - # ToDo: add aggrenation of + try: + gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] + except KeyError: + pass From 8768e85122ce4ec910443b8e57b1015d00b384f8 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 15 Jan 2024 15:16:24 +0100 Subject: [PATCH 055/175] Add first test case Signed-off-by: Anja Strunk --- gax-cpu.py | 36 --- .../openstack/vm_images_discovery.py | 130 +++++----- tests/connection.py | 15 ++ tests/test_vm_image_discovery.py | 231 ++++++++++++++++++ 4 files changed, 311 insertions(+), 101 deletions(-) delete mode 100644 gax-cpu.py create mode 100644 tests/connection.py create mode 100644 tests/test_vm_image_discovery.py diff --git a/gax-cpu.py b/gax-cpu.py deleted file mode 100644 index 22a8c02..0000000 --- a/gax-cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# gax-cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True \ No newline at end of file diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index f653892..4917d6b 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,5 +1,3 @@ -import os - from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -31,7 +29,21 @@ from datetime import datetime -# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +def _get_cpu_arch(os_image_arch: str) -> str: + try: + if os_image_arch == "i686": + return "x86-32" + if os_image_arch in ["x86_64", "ia64"]: + return "x86-64" + if os_image_arch == "aarch6": + return "AArch-32" + if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return "RISC-V" + return CpuArch.other.text + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) + + class VmDiscovery(): # def __init__(self) -> None: @@ -93,6 +105,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_signature(os_image, gx_image) self._add_hypervisor(os_image, gx_image) self._add_aggregation_of(os_image, gx_image) + self._add_rng_model(os_image, gx_image) + self._add_disk_format(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -101,24 +115,28 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: return gx_image - @staticmethod - def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - if os_image.architecture == "i686": - gx_image.cpuReq = CPU(cpuArchitecture="x86-32") - elif os_image.architecture in ["x86_64", "ia64"]: - gx_image.cpuReq = CPU(cpuArchitecture="x86-64") - elif os_image.architecture == "aarch6": - gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") - elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") - else: - gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) - except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + gx_image.vmImageDiskFormat = os_image.disk_format + except AttributeError: + pass + + + def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: + cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) - @staticmethod - def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + cpu.numberOfCores = os_image.hw_cpu_cores + except AttributeError: + pass + try: + cpu.numberOfThreads = os_image.hw_cpu_threads + except AttributeError: + pass + + gx_image.cpuReq = cpu + + def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. try: @@ -132,8 +150,7 @@ def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError as e: raise MissingMandatoryAttribute(e.args) - @staticmethod - def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: + def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) @@ -355,9 +372,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - - @staticmethod - def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: + def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() for l in licenses: @@ -367,8 +382,7 @@ def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: license_list.append(l) return license_list - @staticmethod - def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -376,8 +390,7 @@ def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -385,8 +398,7 @@ def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - @staticmethod - def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -394,8 +406,7 @@ def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -403,17 +414,15 @@ def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return - gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram)) + gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) except AttributeError: pass - @staticmethod - def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -421,8 +430,7 @@ def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -439,8 +447,7 @@ def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties[ 'image_description'] @@ -452,8 +459,7 @@ def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -461,45 +467,39 @@ def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") except KeyError: pass - @staticmethod - def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.licenseIncluded = os_image.properties['licenseIncluded'] except KeyError: pass - @staticmethod - def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.patchLevel = os_image.properties['patchlevel'] except KeyError: pass - @staticmethod - def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.version = os_image.properties['internal_version'] except KeyError: pass - @staticmethod - def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) + algo = self._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass - @staticmethod - def _get_checksum_algo(algo: str) -> str: + def _get_checksum_algo(self, algo: str) -> str: if algo == 'sha512': return 'sha-512' if algo == 'sha224': @@ -510,17 +510,15 @@ def _get_checksum_algo(algo: str) -> str: return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo - return ChecksumAlgorithm.other + return ChecksumAlgorithm.other.text - @staticmethod - def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.maintenance = os_image.properties['maintained_until'] except KeyError: pass - @staticmethod - def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -541,18 +539,20 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: elif os_image.hypervisor_type == "hyperv": gx_image.hypervisorType = "Hyper-V" else: - gx_image.hypervisorType = HypervisorType.other + gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: raise MissingMandatoryAttribute(e.args) - @staticmethod - def _get_signature_algo(algo: str) -> str: + def _get_signature_algo(self, algo: str) -> str: if algo.startswith("SHA-"): return "RSA-Signature" - return SignatureAlgorithm.other + return SignatureAlgorithm.other.text def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] except KeyError: pass + + def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: + gx_image.hwRngTypeOfImage = "None" diff --git a/tests/connection.py b/tests/connection.py new file mode 100644 index 0000000..dd5ee80 --- /dev/null +++ b/tests/connection.py @@ -0,0 +1,15 @@ +from openstack.image.v2.image import Image +from typing import List + + +class TestConnection: + """ + Wrap connection to OpenStack Cluster + """ + images = [] + + def __init__(self, images: List[Image]): + self.images = images + + def list_images(self): + return self.images diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py new file mode 100644 index 0000000..c0725b6 --- /dev/null +++ b/tests/test_vm_image_discovery.py @@ -0,0 +1,231 @@ +import unittest +import yaml + +from datetime import datetime + +from generator.common.json_ld import JsonLdObject +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX +from generator.common.gx_schema import WatchDogActions +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import VMImage as GX_Image + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from openstack.image.v2.image import Image as OS_Image + +from tests.connection import TestConnection + + +def _get_gx_images(): + return [JsonLdObject( + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], + copyrightOwnedBy=['Canonical'], + license=['https://ubuntu.com/legal/open-source-licences'], + resourcePolicy=['default: allow intent'], + checksum=CheckSum(checkSumCalculation='sha-512', + checkSumValue='7f8bababc2c2a948'), signature=None, + version=None, patchLevel='1.5.2', + buildDate=datetime(2023, 12, 1, 0, 0), fileSize=None, + operatingSystem=OperatingSystem(name=None, description=None, + aggregationOfResources=[], + copyrightOwnedBy=['Canonical'], + license=[ + 'https://ubuntu.com/legal/open-source-licences'], + resourcePolicy=['default: allow intent'], + checksum=None, signature=None, + version='Stable', patchLevel=None, + buildDate=None, + osDistribution='Ubuntu'), + cpuReq=CPU(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + cpuArchitecture='x86-64', + cpuFlag=[], smtEnabled=False, numberOfCores=2, numberOfThreads=4, + baseFrequency=None, + boostFrequency=None, lastLevelCacheSize=None, + thermalDesignPower=None), gpuReq=None, + ramReq=Memory(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + memorySize=MemorySize(value=0.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + memoryClass='other', memoryRank='other', eccEnabled=False, + hardwareEncryption=False), + videoRamSize=MemorySize(value=20.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + rootDiskReq=Disk(vendor=None, generation=None, + defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + diskSize=MemorySize(value=21.47483648, + unit='https://qudt.org/vocab/unit/GigaBYTE'), + diskType='other', diskBusType='scsi'), encryption=None, + checkSum=None, + secureBoot=True, vPMU=False, multiQueues=False, updateStrategy=None, + licenseIncluded=False, + maintenance=None, vmImageDiskFormat='RAW', + hypervisorType='other', + hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), + JsonLdObject( + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], + copyrightOwnedBy=['Microsoft Corporation'], + license=['https://www.microsoft.com/licensing'], + resourcePolicy=['default: allow intent'], + checksum=CheckSum(checkSumCalculation='sha-512', + checkSumValue='7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182'), + signature=None, + version=None, + patchLevel=None, + buildDate=datetime(2023, 11, 1, 0, 0), + fileSize=None, + operatingSystem=OperatingSystem(name=None, description=None, + aggregationOfResources=[], + copyrightOwnedBy=['Microsoft Corporation'], + license=['https://www.microsoft.com/licensing'], + resourcePolicy=['default: allow intent'], + checksum=None, signature=None, + version='Stable', patchLevel=None, buildDate=None, + osDistribution='Microsoft Windows'), + cpuReq=CPU(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, cpuArchitecture='x86-64', cpuFlag=[], + smtEnabled=False, numberOfCores=2, numberOfThreads=4, baseFrequency=None, + boostFrequency=None, lastLevelCacheSize=None, thermalDesignPower=None), + gpuReq=None, + ramReq=Memory(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + memorySize=MemorySize(value=0.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + memoryClass='other', memoryRank='other', + eccEnabled=False, hardwareEncryption=False), + videoRamSize=MemorySize(value=20.0, unit='https://qudt.org/vocab/unit/MegaBYTE'), + rootDiskReq=Disk(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + diskSize=MemorySize(value=21.47483648, + unit='https://qudt.org/vocab/unit/GigaBYTE'), + diskType='other', diskBusType='scsi'), + encryption=None, + checkSum=None, + secureBoot=True, + vPMU=False, + multiQueues=False, + updateStrategy=None, + licenseIncluded=False, maintenance=None, vmImageDiskFormat='RAW', hypervisorType='other', + firmwareType='other', hwRngTypeOfImage='None', watchDogAction='reset'))] + + +def _get_os_images(): + return [OS_Image(hw_scsi_model="virtio - scsi", + os_distro="ubuntu", + hw_watchdog_action="reset", + hw_rng_model="virtio", + os_version="Stable", + hypervisor_type="qemu", + hw_video_ram=20, + hw_vif_multiqueue_enabled=True, + hw_pmu=False, + hw_firmware_type="bios", + hw_disk_bus="scsi", + hw_cpu_cores=2, + hw_cpu_threads=4, + architecture="x86_64", + name="Image1", + disk_format="raw", + container_format="bare", + needs_secure_boot=True, + size="9116319744", + virtual_size="9116319744", + checksum="a516d5aea8ebc358dd316dd67266a2ba", + min_ram=0, + min_disk=20, + owner="477ba6f14a5b43abe85b2966be7ebe136", + os_hash_algo="sha512", + os_hash_value="7f8bababc2c2a948", + id="94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + signatureValue="f8bababc2c2a948807473837504760432b99a3dac81629da77142328a9f638fe34371f", + hashAlgorithm="SHA-224", + signatureAlgorithm="ECC-CURVES", + properties={ + 'image_build_date': '2023-12-01', + 'hotfix_hours': '0', + 'image_description': 'Image 1', + 'provided_until': 'none', + 'replace_frequency': 'monthly', + 'uuid_validity': 'last-3', + 'patchlevel': '1.5.2' + }), + OS_Image(hw_scsi_model="virtio - scsi", + os_distro="windows", + hw_watchdog_action="reset", + hw_rng_model="virtio", + os_version="Stable", + hypervisor_type="qemu", + hw_video_ram=20, + hw_vif_multiqueue_enabled=True, + hw_pmu=False, + hw_firmware_type="bios", + hw_disk_bus="scsi", + hw_cpu_cores=2, + hw_cpu_threads=4, + architecture="x86_64", + name="Image2", + disk_format="raw", + container_format="bare", + needs_secure_boot=True, + size="9116319744", + virtual_size="9116319744", + checksum="a516d5aea8ebc358dd316dd67266a2ba", + min_ram=0, + min_disk=20, + owner="477ba6f14a5b43abe85b2966be7ebe136", + os_hash_algo="sha512", + os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", + id="94453c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + properties={ + 'image_build_date': '2023-11-01', + 'hotfix_hours': '4', + 'image_description': 'Image 2', + 'provided_until': 'none', + 'replace_frequency': 'weekly', + 'uuid_validity': 'last-3', + 'license_required': True, + 'license_included': False, + 'subscription_required': True, + 'subscription_included': False, + 'maintained_until': datetime.strptime("2024-05-31", "%Y-%m-%d") + + })] + +class VMImageDiscoveryTestcase(unittest.TestCase): + def setUp(self): + with open('../config/config.yaml', 'r') as config_file: + self.config = yaml.safe_load(config_file) + self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) + + def test_discovery_vm_images(self): + actual_gax_images = self.discovery.discover_vm_images() + expected_gax_images = _get_gx_images() + + self.assertEqual(len(expected_gax_images), len(expected_gax_images)) + + count = 0 + for image_1 in actual_gax_images: + for image_2 in expected_gax_images: + if image_1.gx_id == image_2.gx_id: + self._assert_equal(image_1, image_2) + + def _assert_equal(self, image_1: JsonLdObject, image_2: JsonLdObject): + self.assertEqual(image_1.gx_id, image_2.gx_id,"Wrong 'gx_id'") + self.assertEqual(image_1.gx_object.aggregationOfResources, image_2.gx_object.aggregationOfResources,"aggregationOf") + + +if __name__ == '__main__': + unittest.main() From e3d3333a97e7a5049069b7bebb54f36fd5e90b4b Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 09:54:56 +0100 Subject: [PATCH 056/175] Add unit tests Signed-off-by: Anja Strunk --- test.py | 0 tests/common.py | 171 +++++++++++++++++++++++++++++++ tests/test_vm_image_discovery.py | 73 +++++++++---- 3 files changed, 223 insertions(+), 21 deletions(-) delete mode 100644 test.py create mode 100644 tests/common.py diff --git a/test.py b/test.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/common.py b/tests/common.py new file mode 100644 index 0000000..f373bf8 --- /dev/null +++ b/tests/common.py @@ -0,0 +1,171 @@ +import unittest + +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import CodeArtifact +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Device +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Encryption +from generator.common.gx_schema import GaiaXEntity +from generator.common.gx_schema import GPU +from generator.common.gx_schema import Hypervisor +from generator.common.gx_schema import Image +from generator.common.gx_schema import Memory +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Resource +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SoftwareResource +from generator.common.gx_schema import VirtualResource +from generator.common.gx_schema import VMImage + + +class OpenstackTestcase(unittest.TestCase): + def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): + self.assertEqual(ob_1.name, ob_2.name, + "GaiaXEntity.name") + self.assertEqual(ob_1.description, ob_2.description, + "GaiaXEntity.description") + + def check_resource(self, ob_1: Resource, ob_2: Resource): + self.assertEqual(ob_1.aggregationOfResources, ob_2.aggregationOfResources, + "Resource.aggregationOf") + + def check_virtual_resource(self, ob_1: VirtualResource, ob_2: VirtualResource): + self.check_resource(ob_1, ob_2) + self.assertEqual(ob_1.copyrightOwnedBy, ob_2.copyrightOwnedBy, + "VirtualResource.copyrightOwnedBy") + self.assertEqual(ob_1.license, ob_2.license, + "VirtualResource.license") + self.assertEqual(ob_1.resourcePolicy, ob_2.resourcePolicy, + "VirtualResource.resourcePolicy") + + def check_software_resource(self, ob_1: SoftwareResource, ob_2: SoftwareResource): + self.check_virtual_resource(ob_1, ob_2) + if ob_1.checksum: + self.check_checksum(ob_1.checksum, ob_2.checksum) + if ob_1.signature: + self.check_signature(ob_1.signature, ob_2.signature) + self.assertEqual(ob_1.version, ob_2.version, "SoftwareResource.version") + self.assertEqual(ob_1.patchLevel, ob_2.patchLevel, "SoftwareResource.patchLevel") + self.assertEqual(ob_1.buildDate, ob_2.buildDate, "SoftwareResource.buildDate") + + def check_checksum(self, ob_1: CheckSum, ob_2: CheckSum): + self.assertEqual(ob_1.checkSumCalculation, + ob_2.checkSumCalculation, + "Checksum.checkSumCalculation") + self.assertEqual(ob_1.checkSumValue, ob_2.checkSumValue, + "Checksum.checkSumValue") + + def check_signature(self, ob_1: Signature, ob_2: Signature): + self.assertEqual(ob_1.signatureValue, + ob_2.signatureValue, + "Signature.signatureValue") + self.assertEqual(ob_1.signatureAlgorithm, + ob_2.signatureAlgorithm, + "Signature.signatureAlgorithm") + self.assertEqual(ob_1.hashAlgorithm, + ob_2.hashAlgorithm, + "Signature.hashAlgorithm") + + def check_encryption(self, ob_1: Encryption, ob_2: Encryption): + self.assertEqual(ob_1.cipher, + ob_2.cipher, + "Encryption.cipher") + self.assertEqual(ob_1.keyManagement, + ob_2.keyManagement, + "Encryption.keyManagement") + + def check_operating_system(self, ob_1: OperatingSystem, ob_2: OperatingSystem): + self.check_software_resource(ob_1, ob_2) + self.assertEqual(ob_1.osDistribution, + ob_2.osDistribution, + "OperatingSystem.osDistribution") + + def check_hypervisor(self, ob_1: Hypervisor, ob_2: Hypervisor): + self.check_software_resource(ob_1, ob_2) + self.assertEqual(ob_1.hypervisorType, + ob_2.hypervisorType, + "Hypervisor.hypervisorType") + + def check_device(self, ob_1: Device, ob_2: Device): + self.assertEqual(ob_1.vendor, ob_2.vendor, "Device.vendor") + self.assertEqual(ob_1.generation, ob_2.generation, "Device.generation") + self.assertEqual(ob_1.defaultOversubscriptionRatio, ob_2.defaultOversubscriptionRatio, + "Device.defaultOversubscriptionRatio") + self.assertEqual(ob_1.supportedOversubscriptionRatio, ob_2.supportedOversubscriptionRatio, + "Device.supportedOversubscriptionRatio") + + def check_disk(self, ob_1: Disk, ob_2: Disk): + self.assertEqual(ob_1.diskSize.value, ob_2.diskSize.value, "Disk.diskSize.value") + self.assertEqual(ob_1.diskSize.unit, ob_2.diskSize.unit, "Disk.diskSize.unit") + self.assertEqual(ob_1.diskType, ob_2.diskType, "Disk.diskType") + self.assertEqual(ob_1.diskBusType, ob_2.diskBusType, "Disk.diskBusType") + + def check_cpu(self, ob_1: CPU, ob_2: CPU): + self.assertEqual(ob_1.cpuArchitecture, ob_2.cpuArchitecture, "CPU.cpuArchitecture") + self.assertEqual(ob_1.cpuFlag, ob_2.cpuFlag, "CPU.cpuFlag") + self.assertEqual(ob_1.smtEnabled, ob_2.smtEnabled, "CPU.smtEnabled") + self.assertEqual(ob_1.numberOfCores, ob_2.numberOfCores, "CPU.numberOfCores") + self.assertEqual(ob_1.numberOfThreads, ob_2.numberOfThreads, "CPU.numberOfThreads") + self.assertEqual(ob_1.baseFrequency, ob_2.baseFrequency, "CPU.baseFrequency") + self.assertEqual(ob_1.boostFrequency, ob_2.boostFrequency, "CPU.boostFrequency") + self.assertEqual(ob_1.lastLevelCacheSize, ob_2.lastLevelCacheSize, "CPU.lastLevelCacheSize") + self.assertEqual(ob_1.thermalDesignPower, ob_2.thermalDesignPower, "CPU.thermalDesignPower") + + def check_gpu(self, ob_1: GPU, ob_2: GPU): + pass + + def check_mem(self, ob_1: Memory, ob_2: Memory): + self.assertEqual(ob_1.memorySize.value, ob_2.memorySize.value, "Memory.memorySize.value") + self.assertEqual(ob_1.memorySize.unit, ob_2.memorySize.unit, "Memory.memorySize.unit") + self.assertEqual(ob_1.memoryClass, ob_2.memoryClass, "Memory.memoryClass") + self.assertEqual(ob_1.memoryRank, ob_2.memoryRank, "Memory.memoryRank") + self.assertEqual(ob_1.eccEnabled, ob_2.eccEnabled, "Memory.eccEnabled") + self.assertEqual(ob_1.hardwareEncryption, ob_2.hardwareEncryption, "Memory.hardwareEncryption") + + def check_code_artifact(self, ob_1: CodeArtifact, ob_2: CodeArtifact): + self.check_gaia_x_entity(ob_1, ob_2) + + def check_image(self, ob_1: Image, ob_2: Image): + self.check_code_artifact(ob_1, ob_1) + self.assertEqual(ob_1.fileSize, ob_2.fileSize, "Image.fileSize") + if ob_1.operatingSystem: + self.check_operating_system(ob_1.operatingSystem, ob_2.operatingSystem) + if ob_1.cpuReq: + self.check_cpu(ob_1.cpuReq, ob_2.cpuReq) + if ob_1.gpuReq: + self.check_gpu(ob_1.gpuReq, ob_2.gpuReq) + if ob_1.ramReq: + self.check_mem(ob_1.ramReq, ob_2.ramReq) + if ob_1.videoRamSize: + self.assertEqual(ob_1.videoRamSize.value, ob_2.videoRamSize.value, "VideoRamSize.value") + self.assertEqual(ob_1.videoRamSize.unit, ob_2.videoRamSize.unit, "VideoRamSize.unit") + if ob_1.encryption: + self.check_encryption(ob_1.encryption, ob_2.encryption) + if ob_1.checksum: + self.check_checksum(ob_1.checksum, ob_2.checksum) + + self.assertEqual(ob_1.secureBoot, ob_2.secureBoot, "Image.secureBoot") + self.assertEqual(ob_1.vPMU, ob_2.vPMU, "Image.vPMU") + self.assertEqual(ob_1.multiQueues, ob_2.multiQueues, "Image.multiQueues") + + if ob_1.updateStrategy: + self.assertEqual(ob_1.updateStrategy.replaceFrequency, ob_2.updateStrategy.replaceFrequency, + "Image.updateStrategy.replaceFrequency") + self.assertEqual(ob_1.updateStrategy.hotfixHours, ob_2.updateStrategy.hotfixHours, + "Image.updateStrategy.hotfixHours") + self.assertEqual(ob_1.updateStrategy.oldVersionsValidUntil, ob_2.updateStrategy.oldVersionsValidUntil, + "Image.updateStrategy.oldVersionsValidUntil") + self.assertEqual(ob_1.updateStrategy.providedUntil, ob_2.updateStrategy.providedUntil, + "Image.updateStrategy.providedUntil") + + self.assertEqual(ob_1.licenseIncluded, ob_2.licenseIncluded, "Image.licenseIncluded") + self.assertEqual(ob_1.maintenance, ob_2.maintenance, "Image.maintenance") + + def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): + self.check_image(ob_1, ob_2) + self.assertEqual(ob_1.vmImageDiskFormat, str(ob_2.vmImageDiskFormat), "VM_Image.vmImageDiskFormat") + self.assertEqual(ob_1.hypervisorType, str(ob_2.hypervisorType), "VM_Image.hypervisorType") + self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") + self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") + self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index c0725b6..a7b334f 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -4,31 +4,27 @@ from datetime import datetime from generator.common.json_ld import JsonLdObject -from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk -from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX from generator.common.gx_schema import WatchDogActions -from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import VMImage as GX_Image +from generator.common.json_ld import to_json_ld + from generator.discovery.openstack.vm_images_discovery import VmDiscovery from openstack.image.v2.image import Image as OS_Image +from tests.common import OpenstackTestcase from tests.connection import TestConnection def _get_gx_images(): return [JsonLdObject( - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_id='image_1', gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], copyrightOwnedBy=['Canonical'], license=['https://ubuntu.com/legal/open-source-licences'], @@ -75,7 +71,7 @@ def _get_gx_images(): hypervisorType='other', hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), JsonLdObject( - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_id='image_2', gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], copyrightOwnedBy=['Microsoft Corporation'], license=['https://www.microsoft.com/licensing'], @@ -138,7 +134,7 @@ def _get_os_images(): hw_cpu_threads=4, architecture="x86_64", name="Image1", - disk_format="raw", + disk_format='RAW', container_format="bare", needs_secure_boot=True, size="9116319744", @@ -149,7 +145,7 @@ def _get_os_images(): owner="477ba6f14a5b43abe85b2966be7ebe136", os_hash_algo="sha512", os_hash_value="7f8bababc2c2a948", - id="94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + id="image_1", signatureValue="f8bababc2c2a948807473837504760432b99a3dac81629da77142328a9f638fe34371f", hashAlgorithm="SHA-224", signatureAlgorithm="ECC-CURVES", @@ -177,7 +173,7 @@ def _get_os_images(): hw_cpu_threads=4, architecture="x86_64", name="Image2", - disk_format="raw", + disk_format="RAW", container_format="bare", needs_secure_boot=True, size="9116319744", @@ -188,7 +184,7 @@ def _get_os_images(): owner="477ba6f14a5b43abe85b2966be7ebe136", os_hash_algo="sha512", os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", - id="94453c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + id="image_2", properties={ 'image_build_date': '2023-11-01', 'hotfix_hours': '4', @@ -201,30 +197,65 @@ def _get_os_images(): 'subscription_required': True, 'subscription_included': False, 'maintained_until': datetime.strptime("2024-05-31", "%Y-%m-%d") - })] -class VMImageDiscoveryTestcase(unittest.TestCase): + +class VMImageDiscoveryTestcase(OpenstackTestcase): def setUp(self): with open('../config/config.yaml', 'r') as config_file: self.config = yaml.safe_load(config_file) self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) def test_discovery_vm_images(self): - actual_gax_images = self.discovery.discover_vm_images() + actual_gax_images = self.discovery.discover_vm_images() expected_gax_images = _get_gx_images() self.assertEqual(len(expected_gax_images), len(expected_gax_images)) - count = 0 for image_1 in actual_gax_images: for image_2 in expected_gax_images: if image_1.gx_id == image_2.gx_id: - self._assert_equal(image_1, image_2) + self.check_vm_image(image_1.gx_object, image_2.gx_object) + + def test_json_ld(self): + jsond = { + '@id': 'ex:image_1', '@type': 'gx:VMImage', 'gx:name': 'Image1', 'gx:description': 'Image 1_ext', + 'gx:copyrightOwnedBy': ['Canonical'], 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], + 'gx:resourcePolicy': ['default: allow intent'], + 'gx:checksum': {'@type': 'gx:CheckSum', 'gx:checkSumCalculation': 'sha-512', + 'gx:checkSumValue': '7f8bababc2c2a948'}, 'gx:patchLevel': '1.5.2', + 'gx:buildDate': '2023-12-01T00:00:00', + 'gx:operatingSystem': {'@type': 'gx:OperatingSystem', 'gx:copyrightOwnedBy': ['Canonical'], + 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], + 'gx:resourcePolicy': ['default: allow intent'], 'gx:version': 'Stable', + 'gx:osDistribution': 'Ubuntu'}, + 'gx:cpuReq': {'@type': 'gx:CPU', 'gx:cpuArchitecture': 'x86-64', + 'gx:smtEnabled': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:numberOfCores': 2, + 'gx:numberOfThreads': 4}, 'gx:ramReq': {'@type': 'gx:Memory', + 'gx:memorySize': {'@type': 'gx:MemorySize', + 'qudt:value': {'@type': 'xsd:float', + '@value': '0.0'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, + 'gx:memoryClass': 'other', 'gx:memoryRank': 'other', + 'gx:eccEnabled': {'@type': 'xsd:boolean', + '@value': 'False'}, + 'gx:hardwareEncryption': {'@type': 'xsd:boolean', + '@value': 'False'}}, + 'gx:videoRamSize': {'@type': 'gx:MemorySize', 'qudt:value': {'@type': 'xsd:float', '@value': '20.0'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, + 'gx:rootDiskReq': {'@type': 'gx:Disk', 'gx:diskSize': {'@type': 'gx:MemorySize', + 'qudt:value': {'@type': 'xsd:float', + '@value': '21.47483648'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/GigaBYTE'}, + 'gx:diskType': 'other', 'gx:diskBusType': 'scsi'}, + 'gx:secureBoot': {'@type': 'xsd:boolean', '@value': 'True'}, + 'gx:vPMU': {'@type': 'xsd:boolean', '@value': 'False'}, + 'gx:multiQueues': {'@type': 'xsd:boolean', '@value': 'False'}, + 'gx:licenseIncluded': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:vmImageDiskFormat': 'RAW', + 'gx:hypervisorType': 'other', 'gx:firmwareType': 'other', 'gx:hwRngTypeOfImage': 'None', + 'gx:watchDogAction': 'reset'} - def _assert_equal(self, image_1: JsonLdObject, image_2: JsonLdObject): - self.assertEqual(image_1.gx_id, image_2.gx_id,"Wrong 'gx_id'") - self.assertEqual(image_1.gx_object.aggregationOfResources, image_2.gx_object.aggregationOfResources,"aggregationOf") + self.assertEqual(jsond, to_json_ld(_get_gx_images()[0])) if __name__ == '__main__': From b7bba55273b6baec2e462b52acb81003fa03d774 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 10:55:57 +0100 Subject: [PATCH 057/175] Add shacl validation Signed-off-by: Anja Strunk --- generator/common/json_ld.py | 10 +- generator/data.json | 0 .../openstack/vm_images_discovery.py | 18 +- requirements.txt | 1 + tests/common.py | 15 + tests/connection.py | 15 - tests/gaia-x.shacl.ttl | 2281 +++++++++++++++++ tests/test_vm_image_discovery.py | 54 +- 8 files changed, 2333 insertions(+), 61 deletions(-) delete mode 100644 generator/data.json delete mode 100644 tests/connection.py create mode 100644 tests/gaia-x.shacl.ttl diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index bf3fbeb..1a740ae 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -111,27 +111,27 @@ def to_json_ld(obj) -> dict: # Add type for datetime return { "@type": "xsd:dateTime", - "@value": str(obj)} + "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} elif isinstance(obj, date): # add type for date return { "@type": "xsd:date", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, float): # add type for float return { "@type": "xsd:float", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, URI): # add type for URI return { "@type": "xsd:anyURI", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, bool): # add type for boolean return { "@type": "xsd:boolean", - "@value": str(obj)} + "@value": obj} else: return obj diff --git a/generator/data.json b/generator/data.json deleted file mode 100644 index e69de29..0000000 diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 4917d6b..aa5d6ba 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -7,6 +7,7 @@ from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import DiskTypes from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize @@ -28,6 +29,8 @@ from datetime import datetime +import yaml + def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -46,7 +49,7 @@ def _get_cpu_arch(os_image_arch: str) -> str: class VmDiscovery(): - # def __init__(self) -> None: + #def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) @@ -117,7 +120,18 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.vmImageDiskFormat = os_image.disk_format + if os_image.disk_format.lower() == "raw": + gx_image.vmImageDiskFormat = "RAW" + if os_image.disk_format.lower() == "qcow2": + gx_image.vmImageDiskFormat = "QCOW2" + if os_image.disk_format.lower() == "vhd": + gx_image.vmImageDiskFormat = "VHD" + if os_image.disk_format.lower() == "iso": + gx_image.vmImageDiskFormat = "ISO" + if os_image.disk_format.lower() == "cvf": + gx_image.vmImageDiskFormat = "CVF" + if os_image.disk_format.lower() == "cva": + gx_image.vmImageDiskFormat = "CVA" except AttributeError: pass diff --git a/requirements.txt b/requirements.txt index 80b4586..080f932 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ kubernetes==26.1.0 openstacksdk==1.1.* PyYAML==6.* click==8.1.7 +pyshacl==0.25.0 diff --git a/tests/common.py b/tests/common.py index f373bf8..a9d5e33 100644 --- a/tests/common.py +++ b/tests/common.py @@ -18,6 +18,8 @@ from generator.common.gx_schema import VirtualResource from generator.common.gx_schema import VMImage +from typing import List + class OpenstackTestcase(unittest.TestCase): def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): @@ -169,3 +171,16 @@ def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") + + +class TestConnection: + """ + Wrap connection to OpenStack Cluster + """ + images = [] + + def __init__(self, images: List[Image]): + self.images = images + + def list_images(self): + return self.images diff --git a/tests/connection.py b/tests/connection.py deleted file mode 100644 index dd5ee80..0000000 --- a/tests/connection.py +++ /dev/null @@ -1,15 +0,0 @@ -from openstack.image.v2.image import Image -from typing import List - - -class TestConnection: - """ - Wrap connection to OpenStack Cluster - """ - images = [] - - def __init__(self, images: List[Image]): - self.images = images - - def list_images(self): - return self.images diff --git a/tests/gaia-x.shacl.ttl b/tests/gaia-x.shacl.ttl new file mode 100644 index 0000000..c34efa5 --- /dev/null +++ b/tests/gaia-x.shacl.ttl @@ -0,0 +1,2281 @@ +@prefix gx: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass . + +gx:CodeArtifact a sh:NodeShape ; + sh:closed false ; + sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Code Artifact" ; + sh:property [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ] ; + sh:targetClass gx:CodeArtifact . + +gx:DataResource a sh:NodeShape ; + sh:closed false ; + sh:description "A dataset exposed through a service instance." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Resource" ; + sh:property [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to participant legally enabling the data usage." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "produced by" ; + sh:order 0 ; + sh:path gx:producedBy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 7 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:Participant ; + sh:description "data controller Participant as defined in GDPR." ; + sh:name "data controller" ; + sh:order 5 ; + sh:path gx:dataController ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 9 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:boolean ; + sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "contains PII" ; + sh:order 4 ; + sh:path gx:containsPII ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; + sh:maxCount 1 ; + sh:name "expiration dateTime" ; + sh:order 3 ; + sh:path gx:expirationDateTime ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is obsolete." ; + sh:maxCount 1 ; + sh:name "obsolete dateTime" ; + sh:order 2 ; + sh:path gx:obsoleteDateTime ], + [ sh:class gx:Consent ; + sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; + sh:name "consent" ; + sh:order 6 ; + sh:path gx:consent ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 8 ; + sh:path gx:license ], + [ sh:class gx:DataExchangeComponent ; + sh:description "A resolvable link to the data exchange component that exposes the data resource." ; + sh:minCount 1 ; + sh:name "exposed through" ; + sh:order 1 ; + sh:path gx:exposedThrough ] ; + sh:targetClass gx:DataResource . + +gx:Device a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 3 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 2 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 1 ; + sh:path gx:generation ] ; + sh:targetClass gx:Device . + +gx:GaiaX a sh:NodeShape ; + sh:closed false ; + sh:description "Top level element of Gaia-X ecosystem." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:GaiaX . + +gx:GaiaXEntity a sh:NodeShape ; + sh:closed false ; + sh:description "Root class for Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Gaia-X Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:GaiaXEntity . + +gx:Hypervisor a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:hypervisorType ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ] ; + sh:targetClass gx:Hypervisor . + +gx:Image a sh:NodeShape ; + sh:closed false ; + sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Image" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 21 ; + sh:path gx:license ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:checkSum ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 5 ; + sh:path gx:videoRamSize ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:version ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 1 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 25 ; + sh:path gx:description ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 20 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 0 ; + sh:path gx:fileSize ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 6 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 13 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 19 ; + sh:path gx:buildDate ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 2 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 11 ; + sh:path gx:multiQueues ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 24 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 22 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 3 ; + sh:path gx:gpuReq ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 4 ; + sh:path gx:ramReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:updateStrategy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 23 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 9 ; + sh:path gx:secureBoot ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 18 ; + sh:path gx:patchLevel ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 10 ; + sh:path gx:vPMU ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:checksum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:encryption ] ; + sh:targetClass gx:Image . + +gx:InstantiationRequirement a sh:NodeShape ; + sh:closed false ; + sh:description "A container class to gather all requirements for compute service offering instantiations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Instantiation Requirement" ; + sh:targetClass gx:InstantiationRequirement . + +gx:Issuer a sh:NodeShape ; + sh:closed false ; + sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; + sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 0 ; + sh:path gx:issuerTermsAndConditions ] ; + sh:targetClass gx:Issuer . + +gx:PXEImage a sh:NodeShape ; + sh:closed false ; + sh:description "PXE image for physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "PXE image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 4 ; + sh:path gx:gpuReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 23 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:checkSum ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:signature ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 5 ; + sh:path gx:ramReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 2 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path gx:version ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 20 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 26 ; + sh:path gx:description ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 21 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 22 ; + sh:path gx:license ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 24 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 6 ; + sh:path gx:videoRamSize ], + [ sh:description "Disk format. Default \"ISO\"." ; + sh:in ( "WINPE" "ISO" ) ; + sh:maxCount 1 ; + sh:name "disk format" ; + sh:order 0 ; + sh:path gx:pxeImageDiskFormat ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:maintenance ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 3 ; + sh:path gx:cpuReq ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:checksum ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 12 ; + sh:path gx:multiQueues ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 19 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 14 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 10 ; + sh:path gx:secureBoot ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 1 ; + sh:path gx:fileSize ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 7 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 11 ; + sh:path gx:vPMU ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:updateStrategy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 25 ; + sh:path gx:name ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:encryption ] ; + sh:targetClass gx:PXEImage . + +gx:RegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:RegistrationNumber . + +gx:Resource a sh:NodeShape ; + sh:closed false ; + sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 1 ; + sh:path gx:name ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 0 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 2 ; + sh:path gx:description ] ; + sh:targetClass gx:Resource . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass . + +gx:ConfidentialComputing a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Particular confidential computing technology used by the flavors as defined in..." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:technology ], + [ sh:datatype xsd:anyURI ; + sh:description "indicates whether confidential server has an associated attestation service." ; + sh:maxCount 1 ; + sh:name "attestation service URI" ; + sh:order 1 ; + sh:path gx:attestationServiceURI ] ; + sh:targetClass gx:ConfidentialComputing . + +gx:Consent a sh:NodeShape ; + sh:closed false ; + sh:description "Information on the legitimate processing of information related to PII." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Consent" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; + sh:minCount 1 ; + sh:name "purpose" ; + sh:order 2 ; + sh:path gx:purpose ], + [ sh:datatype xsd:string ; + sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal Basis" ; + sh:order 0 ; + sh:path gx:legalBasis ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; + sh:minCount 1 ; + sh:name "consent withdrawal contact point" ; + sh:order 3 ; + sh:path gx:consentWithdrawalContactPoint ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; + sh:minCount 1 ; + sh:name "data protection contact point" ; + sh:order 1 ; + sh:path gx:dataProtectionContactPoint ] ; + sh:targetClass gx:Consent . + +gx:DataExchangeComponent a sh:NodeShape ; + sh:closed false ; + sh:description "A service/resource used to make a data resource available." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Exchange Component" ; + sh:targetClass gx:DataExchangeComponent . + +gx:EORI a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The Economic Operators Registration and Identification number (EORI)." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:eori ] ; + sh:targetClass gx:EORI . + +gx:EUID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:euid ] ; + sh:targetClass gx:EUID . + +gx:GPSLocation a sh:NodeShape ; + sh:closed false ; + sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "latitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 0 ; + sh:path gx:latitude ], + [ sh:datatype xsd:string ; + sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; + sh:maxCount 1 ; + sh:name "crs" ; + sh:order 3 ; + sh:path gx:crs ; + sh:pattern "^CRS" ], + [ sh:datatype xsd:string ; + sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; + sh:maxCount 1 ; + sh:name "altitude" ; + sh:order 2 ; + sh:path gx:altitude ], + [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "longitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 1 ; + sh:path gx:longitude ] ; + sh:targetClass gx:GPSLocation . + +gx:LatestN a sh:NodeShape ; + sh:closed false ; + sh:description "Number of latest N outdated image versions, which will be valid." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:order 0 ; + sh:path gx:value ] ; + sh:targetClass gx:LatestN . + +gx:LeiCode a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unique LEI number as defined by https://www.gleif.org." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:LeiCode . + +gx:LocalRegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The state issued company number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:local ] ; + sh:targetClass gx:LocalRegistrationNumber . + +gx:Participant a sh:NodeShape ; + sh:closed false ; + sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:Participant . + +gx:ServerFlavor a sh:NodeShape ; + sh:closed false ; + sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Server Flavor" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; + sh:maxCount 1 ; + sh:name "Hardware-assisted virtualization" ; + sh:order 8 ; + sh:path gx:hardwareAssistedVirtualization ], + [ sh:class gx:CPU ; + sh:description "CPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "CPU requirements" ; + sh:order 0 ; + sh:path gx:cpu ], + [ sh:class gx:SoftwareResource ; + sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:hypervisor ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 9 ; + sh:path gx:hwRngTypeOfFlavor ], + [ sh:datatype xsd:string ; + sh:description "Network capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:network ], + [ sh:class gx:Disk ; + sh:description "Boot volume capabilities of boot volume of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "boot volume" ; + sh:order 4 ; + sh:path gx:bootVolume ], + [ sh:class gx:ConfidentialComputing ; + sh:description "Details with respect to confidential computing capabilities of the flavor." ; + sh:maxCount 1 ; + sh:name "confidential computing" ; + sh:order 6 ; + sh:path gx:confidentialComputing ], + [ sh:class gx:GPU ; + sh:description "GPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:gpu ], + [ sh:class gx:Memory ; + sh:description "Size of RAM of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:ram ], + [ sh:class gx:Disk ; + sh:description "Additional volume capabilities of boot volume of the flavor." ; + sh:name "additional volume" ; + sh:order 5 ; + sh:path gx:additionalVolume ] ; + sh:targetClass gx:ServerFlavor . + +gx:StandardConformity a sh:NodeShape ; + sh:closed false ; + sh:description "Details about standard applied to Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Name of the standard." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "title" ; + sh:order 0 ; + sh:path gx:title ], + [ sh:datatype xsd:anyURI ; + sh:description "Provides a link to schemas or details about applied standards." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "standard reference" ; + sh:order 1 ; + sh:path gx:standardReference ], + [ sh:datatype xsd:string ; + sh:description "Publisher of the standard." ; + sh:maxCount 1 ; + sh:name "publisher" ; + sh:order 2 ; + sh:path gx:publisher ] ; + sh:targetClass gx:StandardConformity . + +gx:VMImage a sh:NodeShape ; + sh:closed false ; + sh:description "Image for virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "VM image" ; + sh:property [ sh:description "Define the action to be performed if server hangs." ; + sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; + sh:maxCount 1 ; + sh:name "Watchdog action" ; + sh:order 4 ; + sh:path gx:watchDogAction ], + [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; + sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; + sh:maxCount 1 ; + sh:name "VM Image disk format" ; + sh:order 0 ; + sh:path gx:vmImageDiskFormat ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 8 ; + sh:path gx:gpuReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 6 ; + sh:path gx:operatingSystem ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 28 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path gx:version ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 10 ; + sh:path gx:videoRamSize ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 23 ; + sh:path gx:patchLevel ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 26 ; + sh:path gx:license ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:encryption ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:checkSum ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 24 ; + sh:path gx:buildDate ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 5 ; + sh:path gx:fileSize ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 29 ; + sh:path gx:name ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 9 ; + sh:path gx:ramReq ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 25 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 16 ; + sh:path gx:multiQueues ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:updateStrategy ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 11 ; + sh:path gx:rootDiskReq ], + [ sh:description "Hypervisor type required by the image" ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:name "Hypervisor type" ; + sh:order 1 ; + sh:path gx:hypervisorType ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 14 ; + sh:path gx:secureBoot ], + [ sh:description "Type of firmware which which guests are booted." ; + sh:in ( "BIOS" "UEFI" "other" ) ; + sh:maxCount 1 ; + sh:name "Firmware type" ; + sh:order 2 ; + sh:path gx:firmwareType ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 3 ; + sh:path gx:hwRngTypeOfImage ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 30 ; + sh:path gx:description ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 18 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 15 ; + sh:path gx:vPMU ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 7 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 27 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:VMImage . + +gx:VatID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The VAT identification number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:vatID ] ; + sh:targetClass gx:VatID . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:GPSUnit a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of a geographical point." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "minutes" ; + sh:order 1 ; + sh:path gx:minutes ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:maxInclusive 1 ; + sh:minInclusive 0 ; + sh:name "decimals" ; + sh:order 3 ; + sh:path gx:decimals ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 180 ; + sh:minCount 1 ; + sh:minInclusive -180 ; + sh:name "degrees" ; + sh:order 0 ; + sh:path gx:degrees ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "seconds" ; + sh:order 2 ; + sh:path gx:seconds ] ; + sh:targetClass gx:GPSUnit . + +gx:Encryption a sh:NodeShape ; + sh:closed false ; + sh:description "Encryption capabilities of a Gaia-X entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Supported algorithm used to encrypt." ; + sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "encryption algorithm" ; + sh:order 0 ; + sh:path gx:cipher ], + [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; + sh:in ( "BYOK" "HYOK" "managed" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "key management" ; + sh:order 1 ; + sh:path gx:keyManagement ] ; + sh:targetClass gx:Encryption . + +gx:MaintenanceSubscription a sh:NodeShape ; + sh:closed false ; + sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; + sh:maxCount 1 ; + sh:name "Subscription required" ; + sh:order 1 ; + sh:path gx:subscriptionRequired ], + [ sh:datatype xsd:date ; + sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; + sh:maxCount 1 ; + sh:name "Maintenance until" ; + sh:order 2 ; + sh:path gx:maintainedUntil ], + [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; + sh:maxCount 1 ; + sh:name "Subscription included" ; + sh:order 0 ; + sh:path gx:subscriptionIncluded ] ; + sh:targetClass gx:MaintenanceSubscription . + +gx:UpdateStrategy a sh:NodeShape ; + sh:closed false ; + sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; + sh:maxCount 1 ; + sh:name "Provided until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; + sh:order 3 ; + sh:path gx:providedUntil ], + [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; + sh:maxCount 1 ; + sh:name "Old versions Valid until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; + sh:order 2 ; + sh:path gx:oldVersionsValidUntil ], + [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; + sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; + sh:maxCount 1 ; + sh:name "Replace Frequency" ; + sh:order 0 ; + sh:path gx:replaceFrequency ], + [ sh:datatype xsd:integer ; + sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; + sh:maxCount 1 ; + sh:minInclusive 0 ; + sh:name "Hotfix hours" ; + sh:order 1 ; + sh:path gx:hotfixHours ] ; + sh:targetClass gx:UpdateStrategy . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Full address of the entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "String of a street-address" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ], + [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; + sh:order 0 ; + sh:path gx:countryCode ], + [ sh:class gx:GPSLocation ; + sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; + sh:order 1 ; + sh:path gx:gps ], + [ sh:datatype xsd:string ; + sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "the street address of a postal address" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ] ; + sh:targetClass . + +gx:CPU a sh:NodeShape ; + sh:closed false ; + sh:description "Computational processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 11 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class ; + sh:description "CPU Thermal Design Power." ; + sh:maxCount 1 ; + sh:name "thermal design power" ; + sh:order 8 ; + sh:path gx:thermalDesignPower ], + [ sh:datatype xsd:integer ; + sh:description "Number of threads of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of threads" ; + sh:order 4 ; + sh:path gx:numberOfThreads ], + [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; + sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; + sh:maxCount 1 ; + sh:name "CPU architecture" ; + sh:order 0 ; + sh:path gx:cpuArchitecture ], + [ sh:datatype xsd:integer ; + sh:description "Number of cores of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of CPU cores" ; + sh:order 3 ; + sh:path gx:numberOfCores ], + [ sh:class gx:MemorySize ; + sh:description "Last Level Cache size of the CPU." ; + sh:maxCount 1 ; + sh:name "last level cache size" ; + sh:order 7 ; + sh:path gx:lastLevelCacheSize ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 12 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; + sh:maxCount 1 ; + sh:name "smt enabled" ; + sh:order 2 ; + sh:path gx:smtEnabled ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; + sh:name "CPU flags" ; + sh:order 1 ; + sh:path gx:cpuFlag ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 10 ; + sh:path gx:generation ], + [ sh:class ; + sh:description "Base frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "base CPU frequency" ; + sh:order 5 ; + sh:path gx:baseFrequency ], + [ sh:class ; + sh:description "Boost frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "boost CPU frequency" ; + sh:order 6 ; + sh:path gx:boostFrequency ] ; + sh:targetClass gx:CPU . + +gx:ComputeServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Compute Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 12 ; + sh:path gx:name ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 11 ; + sh:path gx:hostedOn ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 1 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 5 ; + sh:path gx:servicePolicy ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 6 ; + sh:path gx:dataProtectionRegime ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 0 ; + sh:path gx:tenantSeparation ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 2 ; + sh:path gx:dependsOn ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 10 ; + sh:path gx:endpoint ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 13 ; + sh:path gx:description ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 9 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 8 ; + sh:path gx:keyword ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 4 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 7 ; + sh:path gx:dataAccountExport ] ; + sh:targetClass gx:ComputeServiceOffering . + +gx:DataAccountExport a sh:NodeShape ; + sh:closed false ; + sh:description "List of methods to export data from your account out of the service." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "request type" ; + sh:order 0 ; + sh:path gx:requestType ], + [ sh:description "Type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "access type" ; + sh:order 1 ; + sh:path gx:accessType ], + [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; + sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "format type" ; + sh:order 2 ; + sh:path gx:formatType ] ; + sh:targetClass gx:DataAccountExport . + +gx:Endpoint a sh:NodeShape ; + sh:closed false ; + sh:description "An endpoint is a mean to access and interact with a service or a resource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:StandardConformity ; + sh:description "Provides information about applied standards." ; + sh:minCount 1 ; + sh:name "standard conformity" ; + sh:order 1 ; + sh:path gx:standardConformity ], + [ sh:datatype xsd:string ; + sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:formalDescription ], + [ sh:datatype xsd:anyURI ; + sh:description "The URL of the endpoint where it can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint URL" ; + sh:order 0 ; + sh:path gx:endpointURL ] ; + sh:targetClass gx:Endpoint . + +gx:GPU a sh:NodeShape ; + sh:closed false ; + sh:description "Graphical processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Interconnection of multiple GPUs within a server system" ; + sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:gpuInterconnection ], + [ sh:class gx:MemorySize ; + sh:description "Size of memory of the GPU." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:gpuMemory ], + [ sh:datatype xsd:integer ; + sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "gpu processing units" ; + sh:order 2 ; + sh:path gx:gpuProcessingUnits ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 7 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; + sh:maxCount 1 ; + sh:name "GPU path through" ; + sh:order 3 ; + sh:path gx:gpuPassthrough ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 5 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 6 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:GPU . + +gx:InfrastructureServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Infrastructure Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ] ; + sh:targetClass gx:InfrastructureServiceOffering . + +gx:Memory a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of RAM." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; + sh:maxCount 1 ; + sh:name "error correction code (ecc)" ; + sh:order 3 ; + sh:path gx:eccEnabled ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 8 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path gx:vendor ], + [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; + sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; + sh:maxCount 1 ; + sh:name "memory rank" ; + sh:order 2 ; + sh:path gx:memoryRank ], + [ sh:class gx:MemorySize ; + sh:description "Memory size of RAM." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "memory size" ; + sh:order 0 ; + sh:path gx:memorySize ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 6 ; + sh:path gx:generation ], + [ sh:description "DRAM technology name defined by JEDEC" ; + sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; + sh:maxCount 1 ; + sh:name "memory class" ; + sh:order 1 ; + sh:path gx:memoryClass ], + [ sh:datatype xsd:boolean ; + sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; + sh:maxCount 1 ; + sh:name "Hardware Encryption enabled" ; + sh:order 4 ; + sh:path gx:hardwareEncryption ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 7 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:Memory . + +gx:ServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Service Offering" ; + sh:property [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ] ; + sh:targetClass gx:ServiceOffering . + +gx:TermsAndConditions a sh:NodeShape ; + sh:closed false ; + sh:description "Terms and Conditions applying to a service offering." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "sha256 hash of the document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hash ], + [ sh:datatype xsd:anyURI ; + sh:description "A resolvable link to document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:url ] ; + sh:targetClass gx:TermsAndConditions . + +gx:VirtualMachineServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Machine Service Offering" ; + sh:property [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 13 ; + sh:path gx:hostedOn ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:servicePolicy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 5 ; + sh:path gx:aggregationOfResources ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 8 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 9 ; + sh:path gx:dataAccountExport ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 4 ; + sh:path gx:dependsOn ], + [ sh:class gx:VMImage ; + sh:description "Compute Service Code Artifacts" ; + sh:minCount 1 ; + sh:name "code artifact" ; + sh:order 0 ; + sh:path gx:codeArtifact ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 6 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 3 ; + sh:path gx:providedBy ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 11 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 14 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 12 ; + sh:path gx:endpoint ], + [ sh:class gx:ServerFlavor ; + sh:description "Set of technical requirements or conditions to instantiate this service offering." ; + sh:minCount 1 ; + sh:name "instantiation requirement" ; + sh:order 1 ; + sh:path gx:instantiationReq ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 15 ; + sh:path gx:description ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 2 ; + sh:path gx:tenantSeparation ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 10 ; + sh:path gx:keyword ] ; + sh:targetClass gx:VirtualMachineServiceOffering . + +gx:Disk a sh:NodeShape ; + sh:closed false ; + sh:description "Capabilities of a physical or virtual hard drive." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "The type of storage drive." ; + sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; + sh:maxCount 1 ; + sh:name "Disk Type" ; + sh:order 1 ; + sh:path gx:diskType ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 5 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Type of disk controller the disk is attached to." ; + sh:maxCount 1 ; + sh:name "Disk Bus Type" ; + sh:order 2 ; + sh:path gx:diskBusType ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:vendor ], + [ sh:class gx:MemorySize ; + sh:description "The size of the hard drive." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Disk size" ; + sh:order 0 ; + sh:path gx:diskSize ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 4 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 6 ; + sh:path gx:supportedOversubscriptionRatio ] ; + sh:targetClass gx:Disk . + +gx:SoftwareResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Gaia-X Virtual Resource describing an executable program." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Software Resource" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ] ; + sh:targetClass gx:SoftwareResource . + +gx:OperatingSystem a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing an operating system." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Operation System" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" "CirrOS" "AlmaLinux" "others" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Operation System Distribution" ; + sh:order 0 ; + sh:path gx:osDistribution ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ] ; + sh:targetClass gx:OperatingSystem . + +gx:Signature a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the signature" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:signatureValue ], + [ sh:description "Algorithm used to create hash." ; + sh:in ( "md5" "sha-1" "sha-224" "sha-256" "sha-512" "sha-384" "sha-3" "ripemd-160" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hashAlgorithm ], + [ sh:description "Defines the algorithm used to calculate or verify the signature." ; + sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:signatureAlgorithm ] ; + sh:targetClass gx:Signature . + +gx:CheckSum a sh:NodeShape ; + sh:closed false ; + sh:description "Detail on how to calculate or verify a checksum." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the check sum." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:checkSumValue ], + [ sh:description "Algorithm used to create checksum." ; + sh:in ( "md5" "sha-1" "sha-224" "sha-256" "sha-512" "sha-384" "sha-3" "ripemd-160" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:checkSumCalculation ] ; + sh:targetClass gx:CheckSum . + +gx:MemorySize a sh:NodeShape ; + sh:closed false ; + sh:description "The number of bits, that can be stored on a digital storage." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Memory size" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:MemorySize . + +gx:LegalPerson a sh:NodeShape ; + sh:closed false ; + sh:description "A legal person, who is uniquely identified by its registration number." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Legal Person" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class ; + sh:description "The full legal address of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal address" ; + sh:order 1 ; + sh:path gx:legalAddress ], + [ sh:class ; + sh:description "Full physical location of the headquarter of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:headquartersAddress ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; + sh:minCount 1 ; + sh:name "registration number" ; + sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; + sh:order 0 ; + sh:path gx:registrationNumber ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; + sh:order 4 ; + sh:path gx:subOrganisationOf ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; + sh:order 3 ; + sh:path gx:parentOrganizationOf ] ; + sh:targetClass gx:LegalPerson . + +gx:PhysicalResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Physical Resource" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; + sh:name "manufactured by" ; + sh:order 2 ; + sh:path gx:manufacturedBy ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; + sh:minCount 1 ; + sh:name "maintained by" ; + sh:order 0 ; + sh:path gx:maintainedBy ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; + sh:name "owned by" ; + sh:order 1 ; + sh:path gx:ownedBy ], + [ sh:class ; + sh:description "A list of physical locations." ; + sh:minCount 1 ; + sh:order 3 ; + sh:path gx:location ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 4 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ] ; + sh:targetClass gx:PhysicalResource . + +gx:VirtualResource a sh:NodeShape ; + sh:closed false ; + sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Resource" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 1 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 5 ; + sh:path gx:description ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 0 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 4 ; + sh:path gx:name ] ; + sh:targetClass gx:VirtualResource . + diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index a7b334f..8856972 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -1,3 +1,4 @@ +import json import unittest import yaml @@ -14,12 +15,14 @@ from generator.common.gx_schema import VMImage as GX_Image from generator.common.json_ld import to_json_ld - from generator.discovery.openstack.vm_images_discovery import VmDiscovery + from openstack.image.v2.image import Image as OS_Image +from pyshacl import validate + from tests.common import OpenstackTestcase -from tests.connection import TestConnection +from tests.common import TestConnection def _get_gx_images(): @@ -218,44 +221,17 @@ def test_discovery_vm_images(self): self.check_vm_image(image_1.gx_object, image_2.gx_object) def test_json_ld(self): - jsond = { - '@id': 'ex:image_1', '@type': 'gx:VMImage', 'gx:name': 'Image1', 'gx:description': 'Image 1_ext', - 'gx:copyrightOwnedBy': ['Canonical'], 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], - 'gx:resourcePolicy': ['default: allow intent'], - 'gx:checksum': {'@type': 'gx:CheckSum', 'gx:checkSumCalculation': 'sha-512', - 'gx:checkSumValue': '7f8bababc2c2a948'}, 'gx:patchLevel': '1.5.2', - 'gx:buildDate': '2023-12-01T00:00:00', - 'gx:operatingSystem': {'@type': 'gx:OperatingSystem', 'gx:copyrightOwnedBy': ['Canonical'], - 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], - 'gx:resourcePolicy': ['default: allow intent'], 'gx:version': 'Stable', - 'gx:osDistribution': 'Ubuntu'}, - 'gx:cpuReq': {'@type': 'gx:CPU', 'gx:cpuArchitecture': 'x86-64', - 'gx:smtEnabled': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:numberOfCores': 2, - 'gx:numberOfThreads': 4}, 'gx:ramReq': {'@type': 'gx:Memory', - 'gx:memorySize': {'@type': 'gx:MemorySize', - 'qudt:value': {'@type': 'xsd:float', - '@value': '0.0'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, - 'gx:memoryClass': 'other', 'gx:memoryRank': 'other', - 'gx:eccEnabled': {'@type': 'xsd:boolean', - '@value': 'False'}, - 'gx:hardwareEncryption': {'@type': 'xsd:boolean', - '@value': 'False'}}, - 'gx:videoRamSize': {'@type': 'gx:MemorySize', 'qudt:value': {'@type': 'xsd:float', '@value': '20.0'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, - 'gx:rootDiskReq': {'@type': 'gx:Disk', 'gx:diskSize': {'@type': 'gx:MemorySize', - 'qudt:value': {'@type': 'xsd:float', - '@value': '21.47483648'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/GigaBYTE'}, - 'gx:diskType': 'other', 'gx:diskBusType': 'scsi'}, - 'gx:secureBoot': {'@type': 'xsd:boolean', '@value': 'True'}, - 'gx:vPMU': {'@type': 'xsd:boolean', '@value': 'False'}, - 'gx:multiQueues': {'@type': 'xsd:boolean', '@value': 'False'}, - 'gx:licenseIncluded': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:vmImageDiskFormat': 'RAW', - 'gx:hypervisorType': 'other', 'gx:firmwareType': 'other', 'gx:hwRngTypeOfImage': 'None', - 'gx:watchDogAction': 'reset'} - self.assertEqual(jsond, to_json_ld(_get_gx_images()[0])) + conforms, _, _ = validate(data_graph=json.dumps( + _get_gx_images()[0], + indent=4, default=to_json_ld), + shacl_graph="gaia-x.shacl.ttl", + data_graph_format="json-ld", + shacl_graph_format="ttl" + ) + + self.assertTrue(conforms) + if __name__ == '__main__': From 65667be45e501fbf6ffd678831b592629eb1ac0d Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:13:29 +0100 Subject: [PATCH 058/175] Add simple FileSystem Wallet Signed-off-by: Anja Strunk --- config/config.yaml | 269 +++++++++--------- generator/cli.py | 56 +++- generator/common/const.py | 6 + .../discovery/openstack/opentack_discovery.py | 19 +- .../openstack/vm_images_discovery.py | 16 +- generator/wallet/file_wallet.py | 29 +- generator/wallet/wallet.py | 15 +- generator/wallet/xfsc_wallet.py | 5 +- 8 files changed, 248 insertions(+), 167 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 0efa07b..9e9dc55 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,132 +1,137 @@ -operating system: - Alpine Linux: - copyright owner: "Alpine Linux" - resource policy: "abc" - license: - - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 - Arch Linux: - copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: "abc" - license: - - https://gitlab.archlinux.org/archlinux - CentOS Linux: - copyright owner: "The CentOS Project and others" - resource policy: "abc" - license: - - https://github.com/CentOS/ - Debian: - copyright owner: "Ian Murdock and others" - resource policy: "abc" - license: - - https://www.debian.org/legal/licenses/index.en.html - Fedora: - copyright owner: "Fedora-Project" - resource policy: "abc" - license: - - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ - FreeBSD: - copyright owner: "The FreeBSD Project" - resource policy: "abc" - license: - - GPL-3.0-only - - LGPL-2.0 - Gentoo Linux: - copyright owner: "Gentoo Foundation, Inc." - resource policy: "abc" - license: - - https://www.gentoo.org/glep/glep-0076.html - Mandrakelinux: - copyright owner: "Mandriva Linux" - resource policy: "abc" - license: - - GPL-3.0-only - Mandriva Linux: - copyright owner: "Mandriva S. A." - resource policy: "abc" - license: - - GPL-3.0-only - Mandriva Enterprise Server: - copyright owner: "Mandriva S. A." - resource policy: "abc" - license: - - GPL-3.0-only - MS-DOS: - copyright owner: "Microsoft Corporation" - resource policy: "abc" - license: - - https://www.microsoft.com/licensing/docs/view/Licensing-Guides - NetBSD: - copyright owner: "The NetBSD Foundation" - resource policy: "abc" - license: - - https://www.netbsd.org/about/redistribution.html - Novell NetWare: - copyright owner: "Micro Focus International" - resource policy: "abc" - license: - - https://support.novell.com/techcenter/articles/ana19960702.html - OpenBSD: - copyright owner: "OpenBSD" - resource policy: "abc" - license: - - https://www.openbsd.org/policy.html - OpenSolaris: - copyright owner: "Sun Microsystems" - resource policy: "abc" - license: - - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html - openSUSE: - copyright owner: "openSUSE contributors & others" - resource policy: "abc" - license: - - https://en.opensuse.org/openSUSE:License - Rocky Linux: - copyright owner: "Rocky Enterprise Software Foundation" - resource policy: "abc" - license: - - https://rockylinux.org/licensing - Red Hat Enterprise Linux: - copyright owner: "Red Hat, Inc." - resource policy: "abc" - license: - - https://www.redhat.com/en/store/red-hat-enterprise-linux-server - SUSE Linux Enterprise Desktop: - copyright owner: "SUSE" - resource policy: "abc" - license: - - https://www.suse.com/products/terms_and_conditions.pdf - Ubuntu: - copyright owner: "Canonical" - resource policy: "abc" - license: - - https://ubuntu.com/legal/open-source-licences - Microsoft Windows: - copyright owner: "Microsoft Corporation" - resource policy: "abc" - license: - - https://www.microsoft.com/licensing - CirrOS: - copyright owner: "Canonical Ltd." - resource policy: "abc" - license: - - GPL-2.0-only - AlmaLinux: - copyright owner: "Canonical Ltd." - resource policy: "abc" - license: - - https://almalinux.org/p/the-almalinux-os-licensing-policy/ - Debian 11: - copyright owner: "AlmaLinux OS Foundation" - resource policy: "abc" - license: - - https://www.abc.org -own images: - AlmaLinux 8: - aggregation of: - - web:did:provider.de - copyright owner: - - "AlmaLinux OS Foundation" - - "ABC" - resource policy: "abc" - license: - - https://www.abc.org \ No newline at end of file +default: + operating system: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: "abc" + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 + Arch Linux: + copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" + resource policy: "abc" + license: + - https://gitlab.archlinux.org/archlinux + CentOS Linux: + copyright owner: "The CentOS Project and others" + resource policy: "abc" + license: + - https://github.com/CentOS/ + Debian: + copyright owner: "Ian Murdock and others" + resource policy: "abc" + license: + - https://www.debian.org/legal/licenses/index.en.html + Fedora: + copyright owner: "Fedora-Project" + resource policy: "abc" + license: + - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ + FreeBSD: + copyright owner: "The FreeBSD Project" + resource policy: "abc" + license: + - GPL-3.0-only + - LGPL-2.0 + Gentoo Linux: + copyright owner: "Gentoo Foundation, Inc." + resource policy: "abc" + license: + - https://www.gentoo.org/glep/glep-0076.html + Mandrakelinux: + copyright owner: "Mandriva Linux" + resource policy: "abc" + license: + - GPL-3.0-only + Mandriva Linux: + copyright owner: "Mandriva S. A." + resource policy: "abc" + license: + - GPL-3.0-only + Mandriva Enterprise Server: + copyright owner: "Mandriva S. A." + resource policy: "abc" + license: + - GPL-3.0-only + MS-DOS: + copyright owner: "Microsoft Corporation" + resource policy: "abc" + license: + - https://www.microsoft.com/licensing/docs/view/Licensing-Guides + NetBSD: + copyright owner: "The NetBSD Foundation" + resource policy: "abc" + license: + - https://www.netbsd.org/about/redistribution.html + Novell NetWare: + copyright owner: "Micro Focus International" + resource policy: "abc" + license: + - https://support.novell.com/techcenter/articles/ana19960702.html + OpenBSD: + copyright owner: "OpenBSD" + resource policy: "abc" + license: + - https://www.openbsd.org/policy.html + OpenSolaris: + copyright owner: "Sun Microsystems" + resource policy: "abc" + license: + - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html + openSUSE: + copyright owner: "openSUSE contributors & others" + resource policy: "abc" + license: + - https://en.opensuse.org/openSUSE:License + Rocky Linux: + copyright owner: "Rocky Enterprise Software Foundation" + resource policy: "abc" + license: + - https://rockylinux.org/licensing + Red Hat Enterprise Linux: + copyright owner: "Red Hat, Inc." + resource policy: "abc" + license: + - https://www.redhat.com/en/store/red-hat-enterprise-linux-server + SUSE Linux Enterprise Desktop: + copyright owner: "SUSE" + resource policy: "abc" + license: + - https://www.suse.com/products/terms_and_conditions.pdf + Ubuntu: + copyright owner: "Canonical" + resource policy: "abc" + license: + - https://ubuntu.com/legal/open-source-licences + Microsoft Windows: + copyright owner: "Microsoft Corporation" + resource policy: "abc" + license: + - https://www.microsoft.com/licensing + CirrOS: + copyright owner: "Canonical Ltd." + resource policy: "abc" + license: + - GPL-2.0-only + AlmaLinux: + copyright owner: "Canonical Ltd." + resource policy: "abc" + license: + - https://almalinux.org/p/the-almalinux-os-licensing-policy/ + Debian 11: + copyright owner: "AlmaLinux OS Foundation" + resource policy: "abc" + license: + - https://www.abc.org +cloud resources: + own images: + AlmaLinux 8: + aggregation of: + - web:did:provider.de + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org +wallets: + filesystem: + path: /etc/wallet/gx-credentials/ \ No newline at end of file diff --git a/generator/cli.py b/generator/cli.py index 0244287..7da5373 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,12 +1,22 @@ import click +import json + +import generator.common.json_ld as json_ld +import generator.common.const as const + import openstack as os import sys import yaml +from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud -import json -import generator.common.json_ld as json_ld +from generator.wallet.wallet import WalletConnector +from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.xfsc_wallet import XFSCWallet + +from typing import List + @click.group() def cli(): @@ -14,10 +24,13 @@ def cli(): @click.command() -@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') +@click.option( + "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") +@click.option('--config', default='../config/config.yaml', + help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout, config): +def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,14 +41,25 @@ def openstack(cloud, timeout, config): except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + default_domain='default', project_domain_id='default') conn.authorize() # generate Gaia-X Credentials with open(config, "r") as config_file: - os_cloud = OsCloud(conn, yaml.safe_load(config_file)) - props = os_cloud.discover_properties() - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + # init everything + config_dict = yaml.safe_load(config_file) + wallets = init_wallets(config_dict) + os_cloud = OsCloud(conn, config_dict) + + # run discovery + creds = os_cloud.discover_properties() + + # store creds in wallets and print them as overall JSON-LD + store_creds_in_wallet(wallets, creds) + if print_json_ld: + props = json_ld.get_json_ld_context() + props['@graph'] = creds + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() @@ -44,6 +68,22 @@ def kubernetes(): pass +def init_wallets(config: dict) -> List[WalletConnector]: + wallets = list() + for wallet in config[const.CONFIG_WALLETS]: + if wallet == const.CONFIG_FILESYSTEM_WALLET: + wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + elif wallet == const.CONFIG_XFSC_WALLET: + wallets.append(XFSCWallet()) + return wallets + + +def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: + for w in wallets: + for c in creds: + w.store_credential(c) + + cli.add_command(openstack) cli.add_command(kubernetes) diff --git a/generator/common/const.py b/generator/common/const.py index dd6812e..9b1afd9 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -17,6 +17,12 @@ CONFIG_OPERATING_SYSTEM = "operating system" CONFIG_OWN_IMAGES = "own images" CONFIG_AGGREGATION_OF = "aggregation of" +CONFIG_WALLETS = "wallets" +CONFIG_DEFAULT = "default" +CONFIG_CLOUD_RESOURCES = "cloud resources:" +CONFIG_FILESYSTEM_WALLET = "filesystem" +CONFIG_XFSC_WALLET = "xfsc" + CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 4b1f2c4..d1ddb28 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,10 +1,12 @@ -import generator.common.json_ld as json_ld +from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from linkml_runtime.utils.yamlutils import YAMLRoot + from openstack.connection import Connection -from typing import Dict +from typing import Dict, List class OsCloud: @@ -16,19 +18,18 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config - def discover_properties(self) -> dict: + def discover_properties(self) -> List[JsonLdObject]: """ Discover all attributes of OS Cloud. - @return: all attributes as dict + @return: all attributes as list of YAMLRoot """ - props = json_ld.get_json_ld_context() - props['@graph'] = [] + creds = list() vm_dis = VmDiscovery(self.conn, self.config) - for img in vm_dis.discover_vm_images(): - props['@graph'].append(img) - return props + creds.extend(vm_dis.discover_vm_images()) + + return creds diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index aa5d6ba..968d2cf 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -353,20 +353,20 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> def _get_resource_policy_for_os(self, os: str) -> str: try: - return self.config[const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] def _get_license_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: # check if comfig contains image's specific copright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -374,7 +374,7 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license - gx_image.license = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -382,7 +382,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy - gx_image.resourcePolicy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] @@ -569,4 +569,6 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.hwRngTypeOfImage = "None" + pass + # not supported yet + #gx_image.hwRngTypeOfImage = "None" diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index a71a2e8..896b6d2 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,10 +1,33 @@ -from wallet import WalletConnector +import json +import os +from generator.common.json_ld import to_json_ld +from generator.common.json_ld import get_json_ld_context -class FileSystemWallet(WalletConnector): +from generator.common.json_ld import JsonLdObject + +from generator.wallet.wallet import WalletConnector + + +class FileSystemWallet(WalletConnector, object): """ - Abstraction for filesystem acting as wallet. + Abstraction for filesystem acting as a wallet. """ + def __init__(self, dir: str) -> None: + super().__init__() + self.dir = dir + + def store_credential(self, credential: JsonLdObject) -> None: + super().store_credential(credential) + + with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + props = get_json_ld_context() + props['@graph'] = [credential] + json.dump(props, json_file, indent=4, default=to_json_ld) + + + + def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 592bd61..8e5e43a 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,16 +1,23 @@ -from abc import ABCMeta +from abc import ABC from abc import abstractmethod -from linkml_runtime.utils.yamlutils import YAMLRoot +from generator.common.json_ld import JsonLdObject -class WalletConnector(ABCMeta): + +class WalletConnector(ABC): """ Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector wraps API calls for different kind of wallets. """ @abstractmethod - def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + def store_credential(self, credential: JsonLdObject) -> None: + """ + Stores given CREDENTIAL in this wallet. + @param credential: credential to be stored in JSON-LD + @type JsonLdObject + @return: None + """ pass @abstractmethod diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py index b699aa1..489c619 100644 --- a/generator/wallet/xfsc_wallet.py +++ b/generator/wallet/xfsc_wallet.py @@ -1,4 +1,4 @@ -from wallet import WalletConnector +from generator.wallet.wallet import WalletConnector class XFSCWallet(WalletConnector): @@ -6,6 +6,3 @@ class XFSCWallet(WalletConnector): Abstraction XFSC wallet, called Organization Credential Manager. See https://projects.eclipse.org/projects/technology.xfsc """ - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) From 93e6a6b10c5eb29cc2f89c6d901e88226a396357 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:35:53 +0100 Subject: [PATCH 059/175] Reformat files Signed-off-by: Anja Strunk --- generator/cli.py | 54 +- generator/common/const.py | 2 +- generator/common/expections.py | 6 +- generator/common/gx_schema.py | 15647 +++++++++------- generator/common/json_ld.py | 63 +- .../discovery/openstack/opentack_discovery.py | 14 +- .../openstack/vm_images_discovery.py | 600 +- generator/wallet/file_wallet.py | 15 +- generator/wallet/wallet.py | 3 +- 9 files changed, 9177 insertions(+), 7227 deletions(-) diff --git a/generator/cli.py b/generator/cli.py index 7da5373..b23a533 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,22 +1,19 @@ -import click import json +import sys +from typing import List -import generator.common.json_ld as json_ld -import generator.common.const as const - +import click import openstack as os -import sys import yaml +import generator.common.const as const +import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud - -from generator.wallet.wallet import WalletConnector from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet -from typing import List - @click.group() def cli(): @@ -25,11 +22,17 @@ def cli(): @click.command() @click.option( - "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") -@click.option('--config', default='../config/config.yaml', - help='Path to Configuration file for SCS GX Credential Generator.') -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') + "--print-json-ld", + is_flag=True, + help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", +) +@click.option( + "--config", + default="../config/config.yaml", + help="Path to Configuration file for SCS GX Credential Generator.", +) +@click.option("--timeout", default=12, help="Timeout for API calls in seconds") +@click.argument("cloud") def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -40,8 +43,13 @@ def openstack(cloud, timeout, config, print_json_ld): conn.authorize() except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + conn = os.connect( + cloud=cloud, + timeout=timeout, + api_timeout=timeout * 1.5 + 4, + default_domain="default", + project_domain_id="default", + ) conn.authorize() # generate Gaia-X Credentials @@ -58,7 +66,7 @@ def openstack(cloud, timeout, config, print_json_ld): store_creds_in_wallet(wallets, creds) if print_json_ld: props = json_ld.get_json_ld_context() - props['@graph'] = creds + props["@graph"] = creds print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @@ -72,13 +80,19 @@ def init_wallets(config: dict) -> List[WalletConnector]: wallets = list() for wallet in config[const.CONFIG_WALLETS]: if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + wallets.append( + FileSystemWallet( + config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + ) + ) elif wallet == const.CONFIG_XFSC_WALLET: wallets.append(XFSCWallet()) return wallets -def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: +def store_creds_in_wallet( + wallets: List[WalletConnector], creds: List[JsonLdObject] +) -> None: for w in wallets: for c in creds: w.store_credential(c) @@ -87,5 +101,5 @@ def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObje cli.add_command(openstack) cli.add_command(kubernetes) -if __name__ == '__main__': +if __name__ == "__main__": cli() diff --git a/generator/common/const.py b/generator/common/const.py index 9b1afd9..e9095f0 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -46,4 +46,4 @@ CONFIG_OS_UBUNTU = "Ubuntu" CONFIG_OS_WINDOWS = "Microsoft Windows" CONFIG_OS_CIRROS = "CirrOS" -CONFIG_OS_ALMALINUX = "AlmaLinux" \ No newline at end of file +CONFIG_OS_ALMALINUX = "AlmaLinux" diff --git a/generator/common/expections.py b/generator/common/expections.py index 5662b83..ae89ffa 100644 --- a/generator/common/expections.py +++ b/generator/common/expections.py @@ -1,7 +1,9 @@ - class MissingMandatoryAttribute(AttributeError): """ An exception that occurs when an SCS mandatory attributes are missing. """ + def __init__(self, *args, **kwargs): - super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") \ No newline at end of file + super(MissingMandatoryAttribute, self).__init__( + args, "Are you sure this is a SCS compliant cluster." + ) diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index fcd1d2a..ed19582 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -8,21 +8,47 @@ import dataclasses import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions +from typing import Any, ClassVar, Dict, List, Optional, Union -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from jsonasobj2 import JsonObj, as_dict +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) +from linkml_runtime.linkml_model.types import ( + Boolean, + Date, + Datetime, + Float, + Integer, + String, + Uri, +) +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.utils.dataclass_extensions_376 import ( + dataclasses_init_fn_with_kwargs, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.formatutils import camelcase, sfx, underscore +from linkml_runtime.utils.metamodelcore import ( + URI, + Bool, + XSDDate, + XSDDateTime, + bnode, + empty_dict, + empty_list, +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str, +) from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime metamodel_version = "1.7.0" version = None @@ -31,16 +57,17 @@ dataclasses._init_fn = dataclasses_init_fn_with_kwargs # Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +GX = CurieNamespace("gx", "http://w3id.org/gaia-x/gx-trust-framework/") +LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/") +QUDT = CurieNamespace("qudt", "http://qudt.org/vocab/") +SCHEMA = CurieNamespace("schema", "http://schema.org/") +VCARD = CurieNamespace("vcard", "http://www.w3.org/2006/vcard/ns#") DEFAULT_ = GX # Types + # Class references class LocalRegistrationNumberLocal(extended_str): pass @@ -70,6 +97,7 @@ class GaiaX(YAMLRoot): """ Top level element of Gaia-X ecosystem. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaX"] @@ -83,6 +111,7 @@ class Address(YAMLRoot): """ Full address of the entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = VCARD["Address"] @@ -91,7 +120,9 @@ class Address(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + gps: Optional[ + Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]] + ] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -102,7 +133,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + self._normalize_inlined_as_dict( + slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False + ) if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -121,6 +154,7 @@ class GPSLocation(YAMLRoot): """ Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] @@ -158,6 +192,7 @@ class GPSUnit(YAMLRoot): """ Definition of a geographical point. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] @@ -193,6 +228,7 @@ class GaiaXEntity(YAMLRoot): """ Root class for Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] @@ -218,6 +254,7 @@ class Encryption(YAMLRoot): """ Encryption capabilities of a Gaia-X entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Encryption"] @@ -247,6 +284,7 @@ class CheckSum(YAMLRoot): """ Detail on how to calculate or verify a checksum. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CheckSum"] @@ -308,6 +346,7 @@ class Device(YAMLRoot): """ Details with respect to properties and capabilities of a hardware or virtualized device. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Device"] @@ -327,11 +366,17 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.generation is not None and not isinstance(self.generation, str): self.generation = str(self.generation) - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + if self.defaultOversubscriptionRatio is not None and not isinstance( + self.defaultOversubscriptionRatio, int + ): self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + if self.supportedOversubscriptionRatio is not None and not isinstance( + self.supportedOversubscriptionRatio, int + ): + self.supportedOversubscriptionRatio = int( + self.supportedOversubscriptionRatio + ) super().__post_init__(**kwargs) @@ -341,6 +386,7 @@ class CPU(Device): """ Computational processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CPU"] @@ -359,7 +405,9 @@ class CPU(Device): thermalDesignPower: Optional[Union[dict, "Power"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + if self.cpuArchitecture is not None and not isinstance( + self.cpuArchitecture, Architectures + ): self.cpuArchitecture = Architectures(self.cpuArchitecture) if not isinstance(self.cpuFlag, list): @@ -372,19 +420,29 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): self.numberOfCores = int(self.numberOfCores) - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + if self.numberOfThreads is not None and not isinstance( + self.numberOfThreads, int + ): self.numberOfThreads = int(self.numberOfThreads) - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + if self.baseFrequency is not None and not isinstance( + self.baseFrequency, Frequency + ): self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + if self.boostFrequency is not None and not isinstance( + self.boostFrequency, Frequency + ): self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + if self.lastLevelCacheSize is not None and not isinstance( + self.lastLevelCacheSize, MemorySize + ): self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + if self.thermalDesignPower is not None and not isinstance( + self.thermalDesignPower, Power + ): self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) super().__post_init__(**kwargs) @@ -395,6 +453,7 @@ class Disk(Device): """ Capabilities of a physical or virtual hard drive. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Disk"] @@ -426,6 +485,7 @@ class Endpoint(YAMLRoot): """ An endpoint is a mean to access and interact with a service or a resource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Endpoint"] @@ -433,19 +493,28 @@ class Endpoint(YAMLRoot): class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + standardConformity: Union[ + Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]] + ] = None endpointURL: Optional[Union[str, URI]] = None formalDescription: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.standardConformity): self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + self._normalize_inlined_as_dict( + slot_name="standardConformity", + slot_type=StandardConformity, + key_name="title", + keyed=False, + ) if self.endpointURL is not None and not isinstance(self.endpointURL, URI): self.endpointURL = URI(self.endpointURL) - if self.formalDescription is not None and not isinstance(self.formalDescription, str): + if self.formalDescription is not None and not isinstance( + self.formalDescription, str + ): self.formalDescription = str(self.formalDescription) super().__post_init__(**kwargs) @@ -456,6 +525,7 @@ class GPU(Device): """ Graphical processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPU"] @@ -472,13 +542,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + if self.gpuInterconnection is not None and not isinstance( + self.gpuInterconnection, GPUInterconnetionTypes + ): self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + if self.gpuProcessingUnits is not None and not isinstance( + self.gpuProcessingUnits, int + ): self.gpuProcessingUnits = int(self.gpuProcessingUnits) - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + if self.gpuPassthrough is not None and not isinstance( + self.gpuPassthrough, Bool + ): self.gpuPassthrough = Bool(self.gpuPassthrough) super().__post_init__(**kwargs) @@ -489,6 +565,7 @@ class MaintenanceSubscription(YAMLRoot): """ A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] @@ -501,13 +578,19 @@ class MaintenanceSubscription(YAMLRoot): maintainedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + if self.subscriptionIncluded is not None and not isinstance( + self.subscriptionIncluded, Bool + ): self.subscriptionIncluded = Bool(self.subscriptionIncluded) - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + if self.subscriptionRequired is not None and not isinstance( + self.subscriptionRequired, Bool + ): self.subscriptionRequired = Bool(self.subscriptionRequired) - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + if self.maintainedUntil is not None and not isinstance( + self.maintainedUntil, XSDDate + ): self.maintainedUntil = XSDDate(self.maintainedUntil) super().__post_init__(**kwargs) @@ -522,6 +605,7 @@ class UpdateStrategy(YAMLRoot): referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] @@ -535,13 +619,17 @@ class UpdateStrategy(YAMLRoot): providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + if self.replaceFrequency is not None and not isinstance( + self.replaceFrequency, UpdateFrequency + ): self.replaceFrequency = UpdateFrequency(self.replaceFrequency) if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): self.hotfixHours = int(self.hotfixHours) - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + if self.oldVersionsValidUntil is not None and not isinstance( + self.oldVersionsValidUntil, str + ): self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) if self.providedUntil is not None and not isinstance(self.providedUntil, str): @@ -555,6 +643,7 @@ class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LatestN"] @@ -575,6 +664,7 @@ class InstantiationRequirement(YAMLRoot): """ A container class to gather all requirements for compute service offering instantiations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] @@ -588,6 +678,7 @@ class Issuer(YAMLRoot): """ An issuer of W3C Verifiable Credentials and Verifiable Presentations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Issuer"] @@ -601,7 +692,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.issuerTermsAndConditions): self.MissingRequiredField("issuerTermsAndConditions") if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + self.issuerTermsAndConditions = GaiaXTermsAndConditions( + self.issuerTermsAndConditions + ) super().__post_init__(**kwargs) @@ -611,6 +704,7 @@ class RegistrationNumber(YAMLRoot): Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] @@ -724,6 +818,7 @@ class Memory(Device): """ Details with respect to properties and capabilities of RAM. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Memory"] @@ -743,7 +838,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.memorySize, MemorySize): self.memorySize = MemorySize(**as_dict(self.memorySize)) - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + if self.memoryClass is not None and not isinstance( + self.memoryClass, MemoryClasses + ): self.memoryClass = MemoryClasses(self.memoryClass) if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): @@ -752,7 +849,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): self.eccEnabled = Bool(self.eccEnabled) - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + if self.hardwareEncryption is not None and not isinstance( + self.hardwareEncryption, Bool + ): self.hardwareEncryption = Bool(self.hardwareEncryption) super().__post_init__(**kwargs) @@ -763,6 +862,7 @@ class Quantity(YAMLRoot): """ Abstract parent class for all physical quantities, such as frequency, power or length. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] @@ -792,6 +892,7 @@ class Frequency(Quantity): """ Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] @@ -802,11 +903,13 @@ class Frequency(Quantity): value: float = None unit: str = None + @dataclass class MemorySize(Quantity): """ The number of bits, that can be stored on a digital storage. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MemorySize"] @@ -817,11 +920,13 @@ class MemorySize(Quantity): value: float = None unit: str = None + @dataclass class Power(Quantity): """ Definition of 'Power', according to http://qudt.org/quantitykind/Power. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] @@ -832,10 +937,12 @@ class Power(Quantity): value: float = None unit: str = None + class Participant(GaiaXEntity): """ An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Participant"] @@ -849,6 +956,7 @@ class LegalPerson(Participant): """ A legal person, who is uniquely identified by its registration number. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] @@ -856,18 +964,38 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + parentOrganizationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + subOrganisationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.registrationNumber): self.MissingRequiredField("registrationNumber") if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + self.registrationNumber = ( + [self.registrationNumber] if self.registrationNumber is not None else [] + ) + self.registrationNumber = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.registrationNumber + ] if self._is_empty(self.legalAddress): self.MissingRequiredField("legalAddress") @@ -880,12 +1008,28 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + self.parentOrganizationOf = ( + [self.parentOrganizationOf] + if self.parentOrganizationOf is not None + else [] + ) + self.parentOrganizationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.parentOrganizationOf + ] if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + self.subOrganisationOf = ( + [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + ) + self.subOrganisationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.subOrganisationOf + ] super().__post_init__(**kwargs) @@ -896,6 +1040,7 @@ class Resource(GaiaXEntity): Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Resource"] @@ -907,8 +1052,14 @@ class Resource(GaiaXEntity): def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] super().__post_init__(**kwargs) @@ -919,6 +1070,7 @@ class VirtualResource(Resource): It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] @@ -934,8 +1086,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.copyrightOwnedBy): self.MissingRequiredField("copyrightOwnedBy") if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + self.copyrightOwnedBy = ( + [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + ) + self.copyrightOwnedBy = [ + v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy + ] if self._is_empty(self.license): self.MissingRequiredField("license") @@ -946,8 +1102,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.resourcePolicy): self.MissingRequiredField("resourcePolicy") if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + self.resourcePolicy = ( + [self.resourcePolicy] if self.resourcePolicy is not None else [] + ) + self.resourcePolicy = [ + v if isinstance(v, str) else str(v) for v in self.resourcePolicy + ] super().__post_init__(**kwargs) @@ -958,6 +1118,7 @@ class PhysicalResource(Resource): A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] @@ -965,29 +1126,63 @@ class PhysicalResource(Resource): class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + maintainedBy: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + ownedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + manufacturedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.maintainedBy): self.MissingRequiredField("maintainedBy") if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + self.maintainedBy = ( + [self.maintainedBy] if self.maintainedBy is not None else [] + ) + self.maintainedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.maintainedBy + ] if self._is_empty(self.location): self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + self._normalize_inlined_as_dict( + slot_name="location", slot_type=Address, key_name="countryCode", keyed=False + ) if not isinstance(self.ownedBy, list): self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + self.ownedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.ownedBy + ] if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + self.manufacturedBy = ( + [self.manufacturedBy] if self.manufacturedBy is not None else [] + ) + self.manufacturedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.manufacturedBy + ] super().__post_init__(**kwargs) @@ -997,6 +1192,7 @@ class SoftwareResource(VirtualResource): """ A Gaia-X Virtual Resource describing an executable program. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] @@ -1037,6 +1233,7 @@ class CodeArtifact(SoftwareResource): """ A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] @@ -1048,12 +1245,14 @@ class CodeArtifact(SoftwareResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None + @dataclass class Image(CodeArtifact): """ A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Image"] @@ -1084,7 +1283,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): self.fileSize = MemorySize(**as_dict(self.fileSize)) - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + if self.operatingSystem is not None and not isinstance( + self.operatingSystem, OperatingSystem + ): self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): @@ -1096,7 +1297,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.ramReq is not None and not isinstance(self.ramReq, Memory): self.ramReq = Memory(**as_dict(self.ramReq)) - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + if self.videoRamSize is not None and not isinstance( + self.videoRamSize, MemorySize + ): self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): @@ -1117,13 +1320,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): self.multiQueues = Bool(self.multiQueues) - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + if self.updateStrategy is not None and not isinstance( + self.updateStrategy, UpdateStrategy + ): self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + if self.licenseIncluded is not None and not isinstance( + self.licenseIncluded, Bool + ): self.licenseIncluded = Bool(self.licenseIncluded) - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + if self.maintenance is not None and not isinstance( + self.maintenance, MaintenanceSubscription + ): self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) super().__post_init__(**kwargs) @@ -1134,6 +1343,7 @@ class PXEImage(Image): """ PXE image for physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PXEImage"] @@ -1147,7 +1357,9 @@ class PXEImage(Image): pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + if self.pxeImageDiskFormat is not None and not isinstance( + self.pxeImageDiskFormat, PXEDiskType + ): self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) super().__post_init__(**kwargs) @@ -1158,6 +1370,7 @@ class OperatingSystem(SoftwareResource): """ A special Gaia-X Software Resource describing an operating system. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] @@ -1184,6 +1397,7 @@ class Hypervisor(SoftwareResource): """ A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] @@ -1210,6 +1424,7 @@ class ServiceOffering(GaiaXEntity): """ A digital service available for order. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] @@ -1218,12 +1433,21 @@ class ServiceOffering(GaiaXEntity): class_model_uri: ClassVar[URIRef] = GX.ServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" dependsOn: Optional[Union[str, List[str]]] = empty_list() aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + dataProtectionRegime: Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None @@ -1237,35 +1461,66 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.serviceOfferingTermsAndConditions): self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + self._normalize_inlined_as_dict( + slot_name="serviceOfferingTermsAndConditions", + slot_type=TermsAndConditions, + key_name="url", + keyed=False, + ) if self._is_empty(self.servicePolicy): self.MissingRequiredField("servicePolicy") if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + self.servicePolicy = ( + [self.servicePolicy] if self.servicePolicy is not None else [] + ) + self.servicePolicy = [ + v if isinstance(v, str) else str(v) for v in self.servicePolicy + ] if self._is_empty(self.dataAccountExport): self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + self._normalize_inlined_as_dict( + slot_name="dataAccountExport", + slot_type=DataAccountExport, + key_name="requestType", + keyed=False, + ) if not isinstance(self.dependsOn, list): self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + self.dataProtectionRegime = ( + [self.dataProtectionRegime] + if self.dataProtectionRegime is not None + else [] + ) + self.dataProtectionRegime = [ + v + if isinstance(v, PersonalDataProtectionRegime) + else PersonalDataProtectionRegime(v) + for v in self.dataProtectionRegime + ] if not isinstance(self.keyword, list): self.keyword = [self.keyword] if self.keyword is not None else [] self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + if self.provisionType is not None and not isinstance( + self.provisionType, ProvisionTypes + ): self.provisionType = ProvisionTypes(self.provisionType) if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): @@ -1283,6 +1538,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ A digital service available for order and offering computational, storage and/pr network capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] @@ -1291,15 +1547,21 @@ class InfrastructureServiceOffering(ServiceOffering): class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" + @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] @@ -1308,13 +1570,19 @@ class ComputeServiceOffering(InfrastructureServiceOffering): class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + if self.tenantSeparation is not None and not isinstance( + self.tenantSeparation, TenantSeparation + ): self.tenantSeparation = TenantSeparation(self.tenantSeparation) super().__post_init__(**kwargs) @@ -1325,6 +1593,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] @@ -1333,20 +1602,36 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + instantiationReq: Union[ + Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + self._normalize_inlined_as_dict( + slot_name="codeArtifact", + slot_type=VMImage, + key_name="copyrightOwnedBy", + keyed=False, + ) if self._is_empty(self.instantiationReq): self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + self._normalize_inlined_as_dict( + slot_name="instantiationReq", + slot_type=ServerFlavor, + key_name="cpu", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1356,6 +1641,7 @@ class TermsAndConditions(YAMLRoot): """ Terms and Conditions applying to a service offering. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] @@ -1385,6 +1671,7 @@ class DataAccountExport(YAMLRoot): """ List of methods to export data from your account out of the service. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] @@ -1420,6 +1707,7 @@ class StandardConformity(YAMLRoot): """ Details about standard applied to Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] @@ -1453,6 +1741,7 @@ class DataResource(VirtualResource): """ A dataset exposed through a service instance. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataResource"] @@ -1464,12 +1753,18 @@ class DataResource(VirtualResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + exposedThrough: Union[ + Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]] + ] = None containsPII: Union[bool, Bool] = None obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + dataController: Optional[ + Union[Union[dict, Participant], List[Union[dict, Participant]]] + ] = empty_list() + consent: Optional[ + Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.producedBy): @@ -1480,25 +1775,43 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.exposedThrough): self.MissingRequiredField("exposedThrough") if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + self.exposedThrough = ( + [self.exposedThrough] if self.exposedThrough is not None else [] + ) + self.exposedThrough = [ + v + if isinstance(v, DataExchangeComponent) + else DataExchangeComponent(**as_dict(v)) + for v in self.exposedThrough + ] if self._is_empty(self.containsPII): self.MissingRequiredField("containsPII") if not isinstance(self.containsPII, Bool): self.containsPII = Bool(self.containsPII) - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + if self.obsoleteDateTime is not None and not isinstance( + self.obsoleteDateTime, XSDDateTime + ): self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + if self.expirationDateTime is not None and not isinstance( + self.expirationDateTime, XSDDateTime + ): self.expirationDateTime = XSDDateTime(self.expirationDateTime) if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + self.dataController = ( + [self.dataController] if self.dataController is not None else [] + ) + self.dataController = [ + v if isinstance(v, Participant) else Participant(**as_dict(v)) + for v in self.dataController + ] + + self._normalize_inlined_as_dict( + slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False + ) super().__post_init__(**kwargs) @@ -1508,6 +1821,7 @@ class Consent(YAMLRoot): """ Information on the legitimate processing of information related to PII. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Consent"] @@ -1529,8 +1843,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.dataProtectionContactPoint): self.MissingRequiredField("dataProtectionContactPoint") if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + self.dataProtectionContactPoint = ( + [self.dataProtectionContactPoint] + if self.dataProtectionContactPoint is not None + else [] + ) + self.dataProtectionContactPoint = [ + v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint + ] if self._is_empty(self.purpose): self.MissingRequiredField("purpose") @@ -1541,8 +1861,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.consentWithdrawalContactPoint): self.MissingRequiredField("consentWithdrawalContactPoint") if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + self.consentWithdrawalContactPoint = ( + [self.consentWithdrawalContactPoint] + if self.consentWithdrawalContactPoint is not None + else [] + ) + self.consentWithdrawalContactPoint = [ + v if isinstance(v, str) else str(v) + for v in self.consentWithdrawalContactPoint + ] super().__post_init__(**kwargs) @@ -1551,6 +1878,7 @@ class DataExchangeComponent(YAMLRoot): """ A service/resource used to make a data resource available. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] @@ -1564,6 +1892,7 @@ class VMImage(Image): """ Image for virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VMImage"] @@ -1581,19 +1910,29 @@ class VMImage(Image): watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + if self.vmImageDiskFormat is not None and not isinstance( + self.vmImageDiskFormat, VMDiskType + ): self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + if self.hypervisorType is not None and not isinstance( + self.hypervisorType, HypervisorType + ): self.hypervisorType = HypervisorType(self.hypervisorType) - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + if self.firmwareType is not None and not isinstance( + self.firmwareType, FirmType + ): self.firmwareType = FirmType(self.firmwareType) - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + if self.hwRngTypeOfImage is not None and not isinstance( + self.hwRngTypeOfImage, RNGTypes + ): self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + if self.watchDogAction is not None and not isinstance( + self.watchDogAction, WatchDogActions + ): self.watchDogAction = WatchDogActions(self.watchDogAction) super().__post_init__(**kwargs) @@ -1605,6 +1944,7 @@ class ServerFlavor(YAMLRoot): Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] @@ -1617,7 +1957,9 @@ class ServerFlavor(YAMLRoot): bootVolume: Union[dict, Disk] = None gpu: Optional[Union[dict, GPU]] = None network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + additionalVolume: Optional[ + Union[Union[dict, Disk], List[Union[dict, Disk]]] + ] = empty_list() confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None hypervisor: Optional[Union[dict, SoftwareResource]] = None hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False @@ -1645,18 +1987,35 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.network is not None and not isinstance(self.network, str): self.network = str(self.network) - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self._normalize_inlined_as_dict( + slot_name="additionalVolume", + slot_type=Disk, + key_name="diskSize", + keyed=False, + ) + + if self.confidentialComputing is not None and not isinstance( + self.confidentialComputing, ConfidentialComputing + ): + self.confidentialComputing = ConfidentialComputing( + **as_dict(self.confidentialComputing) + ) + + if self.hypervisor is not None and not isinstance( + self.hypervisor, SoftwareResource + ): self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + if self.hardwareAssistedVirtualization is not None and not isinstance( + self.hardwareAssistedVirtualization, Bool + ): + self.hardwareAssistedVirtualization = Bool( + self.hardwareAssistedVirtualization + ) - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + if self.hwRngTypeOfFlavor is not None and not isinstance( + self.hwRngTypeOfFlavor, RNGTypes + ): self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) super().__post_init__(**kwargs) @@ -1680,7 +2039,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.technology, str): self.technology = str(self.technology) - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + if self.attestationServiceURI is not None and not isinstance( + self.attestationServiceURI, URI + ): self.attestationServiceURI = URI(self.attestationServiceURI) super().__post_init__(**kwargs) @@ -1688,751 +2049,343 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): # Enumerations class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") + AF = PermissibleValue(text="AF", description="Alpha2 code for Afghanistan.") + EG = PermissibleValue(text="EG", description="Alpha2 code for Egypt.") + AX = PermissibleValue(text="AX", description="Alpha2 code for Aland Islands.") + AL = PermissibleValue(text="AL", description="Alpha2 code for Albania.") + DZ = PermissibleValue(text="DZ", description="Alpha2 code for Algeria.") VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") + text="VI", description="Alpha2 code for Virgin Islands (U.S.)." + ) UM = PermissibleValue( text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") + description="Alpha2 code for United States Minor Outlying Islands (the).", + ) + AS = PermissibleValue(text="AS", description="Alpha2 code for American Samoa.") + AD = PermissibleValue(text="AD", description="Alpha2 code for Andorra.") + AO = PermissibleValue(text="AO", description="Alpha2 code for Angola.") + AI = PermissibleValue(text="AI", description="Alpha2 code for Anguilla.") + AQ = PermissibleValue(text="AQ", description="Alpha2 code for Antarctica.") + AG = PermissibleValue(text="AG", description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue(text="GQ", description="Alpha2 code for Equatorial Guinea.") SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") + text="SY", description="Alpha2 code for Syrian Arab Republic." + ) + AR = PermissibleValue(text="AR", description="Alpha2 code for Argentina.") + AM = PermissibleValue(text="AM", description="Alpha2 code for Armenia.") + AW = PermissibleValue(text="AW", description="Alpha2 code for Aruba.") + AZ = PermissibleValue(text="AZ", description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue(text="ET", description="Alpha2 code for Ethiopia.") + AU = PermissibleValue(text="AU", description="Alpha2 code for Australia.") + BS = PermissibleValue(text="BS", description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue(text="BH", description="Alpha2 code for Bahrain.") + BD = PermissibleValue(text="BD", description="Alpha2 code for Bangladesh.") + BB = PermissibleValue(text="BB", description="Alpha2 code for Barbados.") + BE = PermissibleValue(text="BE", description="Alpha2 code for Belgium.") + BZ = PermissibleValue(text="BZ", description="Alpha2 code for Belize.") + BJ = PermissibleValue(text="BJ", description="Alpha2 code for Benin.") + BM = PermissibleValue(text="BM", description="Alpha2 code for Bermuda.") + BT = PermissibleValue(text="BT", description="Alpha2 code for Bhutan.") VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") + text="VE", description="Alpha2 code for Venezuela (Bolivarian Republic of)." + ) BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + text="BQ", description="Alpha2 code for Bonaire, Sint Eustatius and Saba." + ) BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") + text="BA", description="Alpha2 code for Bosnia and Herzegovina." + ) + BW = PermissibleValue(text="BW", description="Alpha2 code for Botswana.") + BV = PermissibleValue(text="BV", description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue(text="BR", description="Alpha2 code for Brazil.") VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") + text="VG", description="Alpha2 code for Virgin Islands (British)." + ) IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") + text="IO", description="Alpha2 code for British Indian Ocean Territory (the)." + ) + BN = PermissibleValue(text="BN", description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue(text="BG", description="Alpha2 code for Bulgaria.") + BF = PermissibleValue(text="BF", description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue(text="BI", description="Alpha2 code for Burundi.") + CV = PermissibleValue(text="CV", description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue(text="CL", description="Alpha2 code for Chile.") + CN = PermissibleValue(text="CN", description="Alpha2 code for China.") + CK = PermissibleValue(text="CK", description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue(text="CR", description="Alpha2 code for Costa Rica.") + CI = PermissibleValue(text="CI", description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue(text="CW", description="Alpha2 code for Curacao.") + DK = PermissibleValue(text="DK", description="Alpha2 code for Denmark.") CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") + text="CD", description="Alpha2 code for Congo (the Democratic Republic of the)." + ) KP = PermissibleValue( text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + description="Alpha2 code for Korea (the Democratic Peoples Republic of).", + ) LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") + text="LA", description="Alpha2 code for Lao Peoples Democratic Republic (the)." + ) + DE = PermissibleValue(text="DE", description="Alpha2 code for Germany.") + DM = PermissibleValue(text="DM", description="Alpha2 code for Dominica.") DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") + text="DO", description="Alpha2 code for Dominican Republic (the)." + ) + DJ = PermissibleValue(text="DJ", description="Alpha2 code for Djibouti.") + EC = PermissibleValue(text="EC", description="Alpha2 code for Ecuador.") MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") + text="MK", description="Alpha2 code for Republic of North Macedonia." + ) + SV = PermissibleValue(text="SV", description="Alpha2 code for El Salvador.") + ER = PermissibleValue(text="ER", description="Alpha2 code for Eritrea.") + EE = PermissibleValue(text="EE", description="Alpha2 code for Estonia.") FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") + text="FK", description="Alpha2 code for Falkland Islands (the) [Malvinas]." + ) + FO = PermissibleValue(text="FO", description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue(text="FJ", description="Alpha2 code for Fiji.") + FI = PermissibleValue(text="FI", description="Alpha2 code for Finland.") FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") + text="FM", description="Alpha2 code for Micronesia (Federated States of)." + ) + FR = PermissibleValue(text="FR", description="Alpha2 code for France.") TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") + text="TF", description="Alpha2 code for French Southern Territories (the)." + ) + GF = PermissibleValue(text="GF", description="Alpha2 code for French Guiana.") + PF = PermissibleValue(text="PF", description="Alpha2 code for French Polynesia.") + GA = PermissibleValue(text="GA", description="Alpha2 code for Gabon.") + GM = PermissibleValue(text="GM", description="Alpha2 code for Gambia (the).") + GE = PermissibleValue(text="GE", description="Alpha2 code for Georgia.") + GH = PermissibleValue(text="GH", description="Alpha2 code for Ghana.") + GI = PermissibleValue(text="GI", description="Alpha2 code for Gibraltar.") + GD = PermissibleValue(text="GD", description="Alpha2 code for Grenada.") + GR = PermissibleValue(text="GR", description="Alpha2 code for Greece.") + GL = PermissibleValue(text="GL", description="Alpha2 code for Greenland.") + GP = PermissibleValue(text="GP", description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue(text="GU", description="Alpha2 code for Guam.") + GT = PermissibleValue(text="GT", description="Alpha2 code for Guatemala.") + GG = PermissibleValue(text="GG", description="Alpha2 code for Guernsey.") + GN = PermissibleValue(text="GN", description="Alpha2 code for Guinea.") + GW = PermissibleValue(text="GW", description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue(text="GY", description="Alpha2 code for Guyana.") + HT = PermissibleValue(text="HT", description="Alpha2 code for Haiti.") HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") + text="HM", description="Alpha2 code for Heard Island and McDonald Islands." + ) + HN = PermissibleValue(text="HN", description="Alpha2 code for Honduras.") + HK = PermissibleValue(text="HK", description="Alpha2 code for Hong Kong.") + IN = PermissibleValue(text="IN", description="Alpha2 code for India.") + ID = PermissibleValue(text="ID", description="Alpha2 code for Indonesia.") + IM = PermissibleValue(text="IM", description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue(text="IQ", description="Alpha2 code for Iraq.") + IE = PermissibleValue(text="IE", description="Alpha2 code for Ireland.") IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") + text="IR", description="Alpha2 code for Iran (Islamic Republic of)." + ) + IS = PermissibleValue(text="IS", description="Alpha2 code for Iceland.") + IL = PermissibleValue(text="IL", description="Alpha2 code for Israel.") + IT = PermissibleValue(text="IT", description="Alpha2 code for Italy.") + JM = PermissibleValue(text="JM", description="Alpha2 code for Jamaica.") + JP = PermissibleValue(text="JP", description="Alpha2 code for Japan.") + YE = PermissibleValue(text="YE", description="Alpha2 code for Yemen.") + JE = PermissibleValue(text="JE", description="Alpha2 code for Jersey.") + JO = PermissibleValue(text="JO", description="Alpha2 code for Jordan.") KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") + text="KY", description="Alpha2 code for Cayman Islands (the)." + ) + KH = PermissibleValue(text="KH", description="Alpha2 code for Cambodia.") + CM = PermissibleValue(text="CM", description="Alpha2 code for Cameroon.") + CA = PermissibleValue(text="CA", description="Alpha2 code for Canada.") + KZ = PermissibleValue(text="KZ", description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue(text="QA", description="Alpha2 code for Qatar.") + KE = PermissibleValue(text="KE", description="Alpha2 code for Kenya.") + KG = PermissibleValue(text="KG", description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue(text="KI", description="Alpha2 code for Kiribati.") CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") + text="CC", description="Alpha2 code for Cocos (Keeling) Islands (the)." + ) + CO = PermissibleValue(text="CO", description="Alpha2 code for Colombia.") + KM = PermissibleValue(text="KM", description="Alpha2 code for Comoros (the).") + CG = PermissibleValue(text="CG", description="Alpha2 code for Congo (the).") + HR = PermissibleValue(text="HR", description="Alpha2 code for Croatia.") + CU = PermissibleValue(text="CU", description="Alpha2 code for Cuba.") + KW = PermissibleValue(text="KW", description="Alpha2 code for Kuwait.") + LS = PermissibleValue(text="LS", description="Alpha2 code for Lesotho.") + LV = PermissibleValue(text="LV", description="Alpha2 code for Latvia.") + LB = PermissibleValue(text="LB", description="Alpha2 code for Lebanon.") + LR = PermissibleValue(text="LR", description="Alpha2 code for Liberia.") + LY = PermissibleValue(text="LY", description="Alpha2 code for Libya.") + LI = PermissibleValue(text="LI", description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue(text="LT", description="Alpha2 code for Lithuania.") + LU = PermissibleValue(text="LU", description="Alpha2 code for Luxembourg.") + MO = PermissibleValue(text="MO", description="Alpha2 code for Macao.") + MG = PermissibleValue(text="MG", description="Alpha2 code for Madagascar.") + MW = PermissibleValue(text="MW", description="Alpha2 code for Malawi.") + MY = PermissibleValue(text="MY", description="Alpha2 code for Malaysia.") + MV = PermissibleValue(text="MV", description="Alpha2 code for Maldives.") + ML = PermissibleValue(text="ML", description="Alpha2 code for Mali.") + MT = PermissibleValue(text="MT", description="Alpha2 code for Malta.") MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") + text="MP", description="Alpha2 code for Northern Mariana Islands (the)." + ) + MA = PermissibleValue(text="MA", description="Alpha2 code for Morocco.") MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") + text="MH", description="Alpha2 code for Marshall Islands (the)." + ) + MQ = PermissibleValue(text="MQ", description="Alpha2 code for Martinique.") + MR = PermissibleValue(text="MR", description="Alpha2 code for Mauritania.") + MU = PermissibleValue(text="MU", description="Alpha2 code for Mauritius.") + YT = PermissibleValue(text="YT", description="Alpha2 code for Mayotte.") + MX = PermissibleValue(text="MX", description="Alpha2 code for Mexico.") + MC = PermissibleValue(text="MC", description="Alpha2 code for Monaco.") + MN = PermissibleValue(text="MN", description="Alpha2 code for Mongolia.") + MS = PermissibleValue(text="MS", description="Alpha2 code for Montserrat.") + ME = PermissibleValue(text="ME", description="Alpha2 code for Montenegro.") + MZ = PermissibleValue(text="MZ", description="Alpha2 code for Mozambique.") + MM = PermissibleValue(text="MM", description="Alpha2 code for Myanmar.") + NA = PermissibleValue(text="NA", description="Alpha2 code for Namibia.") + NR = PermissibleValue(text="NR", description="Alpha2 code for Nauru.") + NP = PermissibleValue(text="NP", description="Alpha2 code for Nepal.") + NC = PermissibleValue(text="NC", description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue(text="NZ", description="Alpha2 code for New Zealand.") + NI = PermissibleValue(text="NI", description="Alpha2 code for Nicaragua.") + NL = PermissibleValue(text="NL", description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue(text="NE", description="Alpha2 code for Niger (the).") + NG = PermissibleValue(text="NG", description="Alpha2 code for Nigeria.") + NU = PermissibleValue(text="NU", description="Alpha2 code for Niue.") + NF = PermissibleValue(text="NF", description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue(text="OM", description="Alpha2 code for Oman.") + AT = PermissibleValue(text="AT", description="Alpha2 code for Austria.") + PK = PermissibleValue(text="PK", description="Alpha2 code for Pakistan.") + PW = PermissibleValue(text="PW", description="Alpha2 code for Palau.") + PS = PermissibleValue(text="PS", description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue(text="PA", description="Alpha2 code for Panama.") + PG = PermissibleValue(text="PG", description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue(text="PY", description="Alpha2 code for Paraguay.") + PE = PermissibleValue(text="PE", description="Alpha2 code for Peru.") + PH = PermissibleValue(text="PH", description="Alpha2 code for Philippines (the).") + PN = PermissibleValue(text="PN", description="Alpha2 code for Pitcairn.") BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") + text="BO", description="Alpha2 code for Bolivia (Plurinational State of)." + ) + PL = PermissibleValue(text="PL", description="Alpha2 code for Poland.") + PT = PermissibleValue(text="PT", description="Alpha2 code for Portugal.") + PR = PermissibleValue(text="PR", description="Alpha2 code for Puerto Rico.") KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") + text="KR", description="Alpha2 code for Korea (the Republic of)." + ) MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") + text="MD", description="Alpha2 code for Moldova (the Republic of)." + ) + RE = PermissibleValue(text="RE", description="Alpha2 code for Reunion.") + RW = PermissibleValue(text="RW", description="Alpha2 code for Rwanda.") + RO = PermissibleValue(text="RO", description="Alpha2 code for Romania.") RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") + text="RU", description="Alpha2 code for Russian Federation (the)." + ) + SB = PermissibleValue(text="SB", description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue(text="ZM", description="Alpha2 code for Zambia.") + WS = PermissibleValue(text="WS", description="Alpha2 code for Samoa.") + SM = PermissibleValue(text="SM", description="Alpha2 code for San Marino.") ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") + text="ST", description="Alpha2 code for Sao Tome and Principe." + ) + SA = PermissibleValue(text="SA", description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue(text="SE", description="Alpha2 code for Sweden.") + CH = PermissibleValue(text="CH", description="Alpha2 code for Switzerland.") + SN = PermissibleValue(text="SN", description="Alpha2 code for Senegal.") + RS = PermissibleValue(text="RS", description="Alpha2 code for Serbia.") + SC = PermissibleValue(text="SC", description="Alpha2 code for Seychelles.") + SL = PermissibleValue(text="SL", description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue(text="ZW", description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue(text="SG", description="Alpha2 code for Singapore.") + SK = PermissibleValue(text="SK", description="Alpha2 code for Slovakia.") + SI = PermissibleValue(text="SI", description="Alpha2 code for Slovenia.") + SO = PermissibleValue(text="SO", description="Alpha2 code for Somalia.") + ES = PermissibleValue(text="ES", description="Alpha2 code for Spain.") + LK = PermissibleValue(text="LK", description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue(text="BL", description="Alpha2 code for Saint Barthelemy.") SH = PermissibleValue( text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") + text="KN", description="Alpha2 code for Saint Kitts and Nevis." + ) + LC = PermissibleValue(text="LC", description="Alpha2 code for Saint Lucia.") MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") + text="MF", description="Alpha2 code for Saint Martin (French part)." + ) SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") + text="SX", description="Alpha2 code for Sint Maarten (Dutch part)." + ) PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") + text="PM", description="Alpha2 code for Saint Pierre and Miquelon." + ) VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") + text="VC", description="Alpha2 code for Saint Vincent and the Grenadines." + ) + ZA = PermissibleValue(text="ZA", description="Alpha2 code for South Africa.") + SD = PermissibleValue(text="SD", description="Alpha2 code for Sudan (the).") GS = PermissibleValue( text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") + description="Alpha2 code for South Georgia and the South Sandwich Islands.", + ) + SS = PermissibleValue(text="SS", description="Alpha2 code for South Sudan.") + SR = PermissibleValue(text="SR", description="Alpha2 code for Suriname.") SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") + text="SJ", description="Alpha2 code for Svalbard and Jan Mayen." + ) + SZ = PermissibleValue(text="SZ", description="Alpha2 code for Eswatini.") + TJ = PermissibleValue(text="TJ", description="Alpha2 code for Tajikistan.") TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") + text="TW", description="Alpha2 code for Taiwan (Province of China)." + ) + TH = PermissibleValue(text="TH", description="Alpha2 code for Thailand.") + TL = PermissibleValue(text="TL", description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue(text="TG", description="Alpha2 code for Togo.") + TK = PermissibleValue(text="TK", description="Alpha2 code for Tokelau.") + TO = PermissibleValue(text="TO", description="Alpha2 code for Tonga.") + TT = PermissibleValue(text="TT", description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue(text="TD", description="Alpha2 code for Chad.") + CZ = PermissibleValue(text="CZ", description="Alpha2 code for Czechia.") + TN = PermissibleValue(text="TN", description="Alpha2 code for Tunisia.") + TR = PermissibleValue(text="TR", description="Alpha2 code for Turkey.") + TM = PermissibleValue(text="TM", description="Alpha2 code for Turkmenistan.") TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") + text="TC", description="Alpha2 code for Turks and Caicos Islands (the)." + ) + TV = PermissibleValue(text="TV", description="Alpha2 code for Tuvalu.") + UG = PermissibleValue(text="UG", description="Alpha2 code for Uganda.") + UA = PermissibleValue(text="UA", description="Alpha2 code for Ukraine.") + HU = PermissibleValue(text="HU", description="Alpha2 code for Hungary.") + UY = PermissibleValue(text="UY", description="Alpha2 code for Uruguay.") + UZ = PermissibleValue(text="UZ", description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue(text="VU", description="Alpha2 code for Vanuatu.") + VA = PermissibleValue(text="VA", description="Alpha2 code for Holy See (the).") AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") + text="AE", description="Alpha2 code for United Arab Emirates (the)." + ) TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") + text="TZ", description="Alpha2 code for Tanzania, United Republic of." + ) US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") + text="US", description="Alpha2 code for United States of America (the)." + ) GB = PermissibleValue( text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) + VN = PermissibleValue(text="VN", description="Alpha2 code for Viet Nam.") + WF = PermissibleValue(text="WF", description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue(text="CX", description="Alpha2 code for Christmas Island.") + BY = PermissibleValue(text="BY", description="Alpha2 code for Belarus.") + EH = PermissibleValue(text="EH", description="Alpha2 code for Western Sahara.") CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") + text="CF", description="Alpha2 code for Central African Republic (the)." + ) + CY = PermissibleValue(text="CY", description="Alpha2 code for Cyprus.") _defn = EnumDefinition( name="CountryNameAlpha2", @@ -2440,1801 +2393,1781 @@ class CountryNameAlpha2(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) + setattr( + cls, + "False", + PermissibleValue(text="False", description="Alpha2 code for Norway."), + ) -class CountryNameAlpha3(EnumDefinitionImpl): - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") +class CountryNameAlpha3(EnumDefinitionImpl): + AFG = PermissibleValue(text="AFG", description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue(text="ALA", description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue(text="ALB", description="Alpha3 code for Albania.") + DZA = PermissibleValue(text="DZA", description="Alpha3 code for Algeria.") + ASM = PermissibleValue(text="ASM", description="Alpha3 code for American Samoa.") + AND = PermissibleValue(text="AND", description="Alpha3 code for Andorra.") + AGO = PermissibleValue(text="AGO", description="Alpha3 code for Angola.") + AIA = PermissibleValue(text="AIA", description="Alpha3 code for Anguilla.") + ATA = PermissibleValue(text="ATA", description="Alpha3 code for Antarctica.") ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") + text="ATG", description="Alpha3 code for Antigua and Barbuda." + ) + ARG = PermissibleValue(text="ARG", description="Alpha3 code for Argentina.") + ARM = PermissibleValue(text="ARM", description="Alpha3 code for Armenia.") + ABW = PermissibleValue(text="ABW", description="Alpha3 code for Aruba.") + AUS = PermissibleValue(text="AUS", description="Alpha3 code for Australia.") + AUT = PermissibleValue(text="AUT", description="Alpha3 code for Austria.") + AZE = PermissibleValue(text="AZE", description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue(text="BHS", description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue(text="BHR", description="Alpha3 code for Bahrain.") + BGD = PermissibleValue(text="BGD", description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue(text="BRB", description="Alpha3 code for Barbados.") + BLR = PermissibleValue(text="BLR", description="Alpha3 code for Belarus.") + BEL = PermissibleValue(text="BEL", description="Alpha3 code for Belgium.") + BLZ = PermissibleValue(text="BLZ", description="Alpha3 code for Belize.") + BEN = PermissibleValue(text="BEN", description="Alpha3 code for Benin.") + BMU = PermissibleValue(text="BMU", description="Alpha3 code for Bermuda.") + BTN = PermissibleValue(text="BTN", description="Alpha3 code for Bhutan.") BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") + text="BOL", description="Alpha3 code for Bolivia (Plurinational State of)." + ) BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + text="BES", description="Alpha3 code for Bonaire, Sint Eustatius and Saba." + ) BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") + text="BIH", description="Alpha3 code for Bosnia and Herzegovina." + ) + BWA = PermissibleValue(text="BWA", description="Alpha3 code for Botswana.") + BVT = PermissibleValue(text="BVT", description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue(text="BRA", description="Alpha3 code for Brazil.") IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") + text="IOT", description="Alpha3 code for British Indian Ocean Territory (the)." + ) + BRN = PermissibleValue(text="BRN", description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue(text="BGR", description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue(text="BFA", description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue(text="BDI", description="Alpha3 code for Burundi.") + KHM = PermissibleValue(text="KHM", description="Alpha3 code for Cambodia.") + CMR = PermissibleValue(text="CMR", description="Alpha3 code for Cameroon.") + CAN = PermissibleValue(text="CAN", description="Alpha3 code for Canada.") + CPV = PermissibleValue(text="CPV", description="Alpha3 code for Cabo Verde.") CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") + text="CYM", description="Alpha3 code for Cayman Islands (the)." + ) CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") + text="CAF", description="Alpha3 code for Central African Republic (the)." + ) + TCD = PermissibleValue(text="TCD", description="Alpha3 code for Chad.") + CHL = PermissibleValue(text="CHL", description="Alpha3 code for Chile.") + CHN = PermissibleValue(text="CHN", description="Alpha3 code for China.") + CXR = PermissibleValue(text="CXR", description="Alpha3 code for Christmas Island.") CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") + text="CCK", description="Alpha3 code for Cocos (Keeling) Islands (the)." + ) + COL = PermissibleValue(text="COL", description="Alpha3 code for Colombia.") + COM = PermissibleValue(text="COM", description="Alpha3 code for Comoros (the).") + COG = PermissibleValue(text="COG", description="Alpha3 code for Congo (the).") COD = PermissibleValue( text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") + description="Alpha3 code for Congo (the Democratic Republic of the).", + ) COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") + text="COK", description="Alpha3 code for Cook Islands (the)." + ) + CRI = PermissibleValue(text="CRI", description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue(text="CIV", description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue(text="HRV", description="Alpha3 code for Croatia.") + CUB = PermissibleValue(text="CUB", description="Alpha3 code for Cuba.") + CUW = PermissibleValue(text="CUW", description="Alpha3 code for Curacao.") + CYP = PermissibleValue(text="CYP", description="Alpha3 code for Cyprus.") + CZE = PermissibleValue(text="CZE", description="Alpha3 code for Czechia.") + DNK = PermissibleValue(text="DNK", description="Alpha3 code for Denmark.") + DJI = PermissibleValue(text="DJI", description="Alpha3 code for Djibouti.") + DMA = PermissibleValue(text="DMA", description="Alpha3 code for Dominica.") DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") + text="DOM", description="Alpha3 code for Dominican Republic (the)." + ) + ECU = PermissibleValue(text="ECU", description="Alpha3 code for Ecuador.") + EGY = PermissibleValue(text="EGY", description="Alpha3 code for Egypt.") + SLV = PermissibleValue(text="SLV", description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue(text="GNQ", description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue(text="ERI", description="Alpha3 code for Eritrea.") + EST = PermissibleValue(text="EST", description="Alpha3 code for Estonia.") + ETH = PermissibleValue(text="ETH", description="Alpha3 code for Ethiopia.") FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") + text="FLK", description="Alpha3 code for Falkland Islands (the) [Malvinas]." + ) FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") + text="FRO", description="Alpha3 code for Faroe Islands (the)." + ) + FJI = PermissibleValue(text="FJI", description="Alpha3 code for Fiji.") + FIN = PermissibleValue(text="FIN", description="Alpha3 code for Finland.") + FRA = PermissibleValue(text="FRA", description="Alpha3 code for France.") + GUF = PermissibleValue(text="GUF", description="Alpha3 code for French Guiana.") + PYF = PermissibleValue(text="PYF", description="Alpha3 code for French Polynesia.") ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") + text="ATF", description="Alpha3 code for French Southern Territories (the)." + ) + GAB = PermissibleValue(text="GAB", description="Alpha3 code for Gabon.") + GMB = PermissibleValue(text="GMB", description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue(text="GEO", description="Alpha3 code for Georgia.") + DEU = PermissibleValue(text="DEU", description="Alpha3 code for Germany.") + GHA = PermissibleValue(text="GHA", description="Alpha3 code for Ghana.") + GIB = PermissibleValue(text="GIB", description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue(text="GRC", description="Alpha3 code for Greece.") + GRL = PermissibleValue(text="GRL", description="Alpha3 code for Greenland.") + GRD = PermissibleValue(text="GRD", description="Alpha3 code for Grenada.") + GLP = PermissibleValue(text="GLP", description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue(text="GUM", description="Alpha3 code for Guam.") + GTM = PermissibleValue(text="GTM", description="Alpha3 code for Guatemala.") + GGY = PermissibleValue(text="GGY", description="Alpha3 code for Guernsey.") + GIN = PermissibleValue(text="GIN", description="Alpha3 code for Guinea.") + GNB = PermissibleValue(text="GNB", description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue(text="GUY", description="Alpha3 code for Guyana.") + HTI = PermissibleValue(text="HTI", description="Alpha3 code for Haiti.") HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") + text="HMD", description="Alpha3 code for Heard Island and McDonald Islands." + ) + VAT = PermissibleValue(text="VAT", description="Alpha3 code for Holy See (the).") + HND = PermissibleValue(text="HND", description="Alpha3 code for Honduras.") + HKG = PermissibleValue(text="HKG", description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue(text="HUN", description="Alpha3 code for Hungary.") + ISL = PermissibleValue(text="ISL", description="Alpha3 code for Iceland.") + IND = PermissibleValue(text="IND", description="Alpha3 code for India.") + IDN = PermissibleValue(text="IDN", description="Alpha3 code for Indonesia.") IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") + text="IRN", description="Alpha3 code for Iran (Islamic Republic of)." + ) + IRQ = PermissibleValue(text="IRQ", description="Alpha3 code for Iraq.") + IRL = PermissibleValue(text="IRL", description="Alpha3 code for Ireland.") + IMN = PermissibleValue(text="IMN", description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue(text="ISR", description="Alpha3 code for Israel.") + ITA = PermissibleValue(text="ITA", description="Alpha3 code for Italy.") + JAM = PermissibleValue(text="JAM", description="Alpha3 code for Jamaica.") + JPN = PermissibleValue(text="JPN", description="Alpha3 code for Japan.") + JEY = PermissibleValue(text="JEY", description="Alpha3 code for Jersey.") + JOR = PermissibleValue(text="JOR", description="Alpha3 code for Jordan.") + KAZ = PermissibleValue(text="KAZ", description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue(text="KEN", description="Alpha3 code for Kenya.") + KIR = PermissibleValue(text="KIR", description="Alpha3 code for Kiribati.") PRK = PermissibleValue( text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + description="Alpha3 code for Korea (the Democratic Peoples Republic of).", + ) KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") + text="KOR", description="Alpha3 code for Korea (the Republic of)." + ) + KWT = PermissibleValue(text="KWT", description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue(text="KGZ", description="Alpha3 code for Kyrgyzstan.") LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") + text="LAO", description="Alpha3 code for Lao Peoples Democratic Republic (the)." + ) + LVA = PermissibleValue(text="LVA", description="Alpha3 code for Latvia.") + LBN = PermissibleValue(text="LBN", description="Alpha3 code for Lebanon.") + LSO = PermissibleValue(text="LSO", description="Alpha3 code for Lesotho.") + LBR = PermissibleValue(text="LBR", description="Alpha3 code for Liberia.") + LBY = PermissibleValue(text="LBY", description="Alpha3 code for Libya.") + LIE = PermissibleValue(text="LIE", description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue(text="LTU", description="Alpha3 code for Lithuania.") + LUX = PermissibleValue(text="LUX", description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue(text="MAC", description="Alpha3 code for Macao.") MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") + text="MKD", description="Alpha3 code for Republic of North Macedonia." + ) + MDG = PermissibleValue(text="MDG", description="Alpha3 code for Madagascar.") + MWI = PermissibleValue(text="MWI", description="Alpha3 code for Malawi.") + MYS = PermissibleValue(text="MYS", description="Alpha3 code for Malaysia.") + MDV = PermissibleValue(text="MDV", description="Alpha3 code for Maldives.") + MLI = PermissibleValue(text="MLI", description="Alpha3 code for Mali.") + MLT = PermissibleValue(text="MLT", description="Alpha3 code for Malta.") MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") + text="MHL", description="Alpha3 code for Marshall Islands (the)." + ) + MTQ = PermissibleValue(text="MTQ", description="Alpha3 code for Martinique.") + MRT = PermissibleValue(text="MRT", description="Alpha3 code for Mauritania.") + MUS = PermissibleValue(text="MUS", description="Alpha3 code for Mauritius.") + MYT = PermissibleValue(text="MYT", description="Alpha3 code for Mayotte.") + MEX = PermissibleValue(text="MEX", description="Alpha3 code for Mexico.") FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") + text="FSM", description="Alpha3 code for Micronesia (Federated States of)." + ) MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") + text="MDA", description="Alpha3 code for Moldova (the Republic of)." + ) + MCO = PermissibleValue(text="MCO", description="Alpha3 code for Monaco.") + MNG = PermissibleValue(text="MNG", description="Alpha3 code for Mongolia.") + MNE = PermissibleValue(text="MNE", description="Alpha3 code for Montenegro.") + MSR = PermissibleValue(text="MSR", description="Alpha3 code for Montserrat.") + MAR = PermissibleValue(text="MAR", description="Alpha3 code for Morocco.") + MOZ = PermissibleValue(text="MOZ", description="Alpha3 code for Mozambique.") + MMR = PermissibleValue(text="MMR", description="Alpha3 code for Myanmar.") + NAM = PermissibleValue(text="NAM", description="Alpha3 code for Namibia.") + NRU = PermissibleValue(text="NRU", description="Alpha3 code for Nauru.") + NPL = PermissibleValue(text="NPL", description="Alpha3 code for Nepal.") + NLD = PermissibleValue(text="NLD", description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue(text="NCL", description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue(text="NZL", description="Alpha3 code for New Zealand.") + NIC = PermissibleValue(text="NIC", description="Alpha3 code for Nicaragua.") + NER = PermissibleValue(text="NER", description="Alpha3 code for Niger (the).") + NGA = PermissibleValue(text="NGA", description="Alpha3 code for Nigeria.") + NIU = PermissibleValue(text="NIU", description="Alpha3 code for Niue.") + NFK = PermissibleValue(text="NFK", description="Alpha3 code for Norfolk Island.") MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") + text="MNP", description="Alpha3 code for Northern Mariana Islands (the)." + ) + NOR = PermissibleValue(text="NOR", description="Alpha3 code for Norway.") + OMN = PermissibleValue(text="OMN", description="Alpha3 code for Oman.") + PAK = PermissibleValue(text="PAK", description="Alpha3 code for Pakistan.") + PLW = PermissibleValue(text="PLW", description="Alpha3 code for Palau.") PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") + text="PSE", description="Alpha3 code for Palestine, State of." + ) + PAN = PermissibleValue(text="PAN", description="Alpha3 code for Panama.") + PNG = PermissibleValue(text="PNG", description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue(text="PRY", description="Alpha3 code for Paraguay.") + PER = PermissibleValue(text="PER", description="Alpha3 code for Peru.") + PHL = PermissibleValue(text="PHL", description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue(text="PCN", description="Alpha3 code forPitcairn.") + POL = PermissibleValue(text="POL", description="Alpha3 code for Poland.") + PRT = PermissibleValue(text="PRT", description="Alpha3 code for Portugal.") + PRI = PermissibleValue(text="PRI", description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue(text="QAT", description="Alpha3 code for Qatar.") + SRB = PermissibleValue(text="SRB", description="Alpha3 code for Serbia.") + REU = PermissibleValue(text="REU", description="Alpha3 code for Reunion.") + ROU = PermissibleValue(text="ROU", description="Alpha3 code for Romania.") RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") + text="RUS", description="Alpha3 code for Russian Federation (the)." + ) + RWA = PermissibleValue(text="RWA", description="Alpha3 code for Rwanda.") + BLM = PermissibleValue(text="BLM", description="Alpha3 code for Saint Barthelemy.") SHN = PermissibleValue( text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") + text="KNA", description="Alpha3 code for Saint Kitts and Nevis." + ) + LCA = PermissibleValue(text="LCA", description="Alpha3 code for Saint Lucia.") MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") + text="MAF", description="Alpha3 code for Saint Martin (French part)." + ) SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") + text="SPM", description="Alpha3 code for Saint Pierre and Miquelon." + ) VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") + text="VCT", description="Alpha3 code for Saint Vincent and the Grenadines." + ) + WSM = PermissibleValue(text="WSM", description="Alpha3 code for Samoa.") + SMR = PermissibleValue(text="SMR", description="Alpha3 code for San Marino.") STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") + text="STP", description="Alpha3 code for Sao Tome and Principe." + ) + SAU = PermissibleValue(text="SAU", description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue(text="SEN", description="Alpha3 code for Senegal.") + SYC = PermissibleValue(text="SYC", description="Alpha3 code for Seychelles.") + SLE = PermissibleValue(text="SLE", description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue(text="SGP", description="Alpha3 code for Singapore.") SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") + text="SXM", description="Alpha3 code for Sint Maarten (Dutch part)." + ) + SVK = PermissibleValue(text="SVK", description="Alpha3 code for Slovakia.") + SVN = PermissibleValue(text="SVN", description="Alpha3 code for Slovenia.") + SLB = PermissibleValue(text="SLB", description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue(text="SOM", description="Alpha3 code for Somalia.") + ZAF = PermissibleValue(text="ZAF", description="Alpha3 code for South Africa.") SGS = PermissibleValue( text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") + description="Alpha3 code for South Georgia and the South Sandwich Islands.", + ) + SSD = PermissibleValue(text="SSD", description="Alpha3 code for South Sudan.") + ESP = PermissibleValue(text="ESP", description="Alpha3 code for Spain.") + LKA = PermissibleValue(text="LKA", description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue(text="SDN", description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue(text="SUR", description="Alpha3 code for Suriname.") SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") + text="SJM", description="Alpha3 code for Svalbard and Jan Mayen." + ) + SWZ = PermissibleValue(text="SWZ", description="Alpha3 code for Eswatini.") + SWE = PermissibleValue(text="SWE", description="Alpha3 code for Sweden.") + CHE = PermissibleValue(text="CHE", description="Alpha3 code for Switzerland.") SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") + text="SYR", description="Alpha3 code for Syrian Arab Republic." + ) TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") + text="TWN", description="Alpha3 code for Taiwan (Province of China)." + ) + TJK = PermissibleValue(text="TJK", description="Alpha3 code for Tajikistan.") TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") + text="TZA", description="Alpha3 code for Tanzania, United Republic of." + ) + THA = PermissibleValue(text="THA", description="Alpha3 code for Thailand.") + TLS = PermissibleValue(text="TLS", description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue(text="TGO", description="Alpha3 code for Togo.") + TKL = PermissibleValue(text="TKL", description="Alpha3 code for Tokelau.") + TON = PermissibleValue(text="TON", description="Alpha3 code for Tonga.") TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") + text="TTO", description="Alpha3 code for Trinidad and Tobago." + ) + TUN = PermissibleValue(text="TUN", description="Alpha3 code for Tunisia.") + TUR = PermissibleValue(text="TUR", description="Alpha3 code for Turkey.") XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") + text="XTX", description="Alpha3 code for Turkish Republic of northern Cyprus." + ) + TKM = PermissibleValue(text="TKM", description="Alpha3 code for Turkmenistan.") TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") + text="TCA", description="Alpha3 code for Turks and Caicos Islands (the)." + ) + TUV = PermissibleValue(text="TUV", description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue(text="UGA", description="Alpha3 code for Uganda.") + UKR = PermissibleValue(text="UKR", description="Alpha3 code for Ukraine.") ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") + text="ARE", description="Alpha3 code for United Arab Emirates (the)." + ) GBR = PermissibleValue( text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") + text="USA", description="Alpha3 code for United States of America (the)." + ) UMI = PermissibleValue( text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") + description="Alpha3 code for United States Minor Outlying Islands (the).", + ) + URY = PermissibleValue(text="URY", description="Alpha3 code for Uruguay.") + UZB = PermissibleValue(text="UZB", description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue(text="VUT", description="Alpha3 code for Vanuatu.") VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") + text="VEN", description="Alpha3 code for Venezuela (Bolivarian Republic of)." + ) + VNM = PermissibleValue(text="VNM", description="Alpha3 code for Viet Nam.") VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") + text="VGB", description="Alpha3 code for Virgin Islands (British)." + ) VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") + text="VIR", description="Alpha3 code for Virgin Islands (U.S.)." + ) + WLF = PermissibleValue(text="WLF", description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue(text="ESH", description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue(text="YEM", description="Alpha3 code for Yemen.") + ZMB = PermissibleValue(text="ZMB", description="Alpha3 code for Zambia.") + ZWE = PermissibleValue(text="ZWE", description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue(text="XKX", description="Alpha3 code for Kosovo.") _defn = EnumDefinition( name="CountryNameAlpha3", ) -class CountryNameNumeric(EnumDefinitionImpl): +class CountryNameNumeric(EnumDefinitionImpl): _defn = EnumDefinition( name="CountryNameNumeric", ) @classmethod def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", + setattr( + cls, + "4", + PermissibleValue(text="4", description="Numeric code for Afghanistan."), + ) + setattr( + cls, + "818", + PermissibleValue(text="818", description="Numeric code for Egypt."), + ) + setattr( + cls, + "248", + PermissibleValue(text="248", description="Numeric code for Aland Islands."), + ) + setattr( + cls, + "008", + PermissibleValue(text="008", description="Numeric code for Albania."), + ) + setattr( + cls, + "10", + PermissibleValue(text="10", description="Numeric code for Algeria."), + ) + setattr( + cls, + "850", + PermissibleValue( + text="850", description="Numeric code for Virgin Islands (U.S.)." + ), + ) + setattr( + cls, + "581", PermissibleValue( text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", + description="Numeric code for United States Minor Outlying Islands (the).", + ), + ) + setattr( + cls, + "14", + PermissibleValue(text="14", description="Numeric code for American Samoa."), + ) + setattr( + cls, + "16", + PermissibleValue(text="16", description="Numeric code for Andorra."), + ) + setattr( + cls, + "20", + PermissibleValue(text="20", description="Numeric code for Angola."), + ) + setattr( + cls, + "660", + PermissibleValue(text="660", description="Numeric code for Anguilla."), + ) + setattr( + cls, + "8", + PermissibleValue(text="8", description="Numeric code for Antarctica."), + ) + setattr( + cls, + "028", + PermissibleValue( + text="028", description="Numeric code for Antigua and Barbuda." + ), + ) + setattr( + cls, + "226", + PermissibleValue( + text="226", description="Numeric code for Equatorial Guinea." + ), + ) + setattr( + cls, + "760", + PermissibleValue( + text="760", description="Numeric code for Syrian Arab Republic." + ), + ) + setattr( + cls, + "26", + PermissibleValue(text="26", description="Numeric code for Argentina."), + ) + setattr( + cls, + "41", + PermissibleValue(text="41", description="Numeric code for Armenia."), + ) + setattr( + cls, + "231", + PermissibleValue(text="231", description="Numeric code for Ethiopia."), + ) + setattr( + cls, + "30", + PermissibleValue(text="30", description="Numeric code for Australia."), + ) + setattr( + cls, + "36", + PermissibleValue(text="36", description="Numeric code for Bahamas (the)."), + ) + setattr( + cls, + "048", + PermissibleValue(text="048", description="Numeric code for Bahrain."), + ) + setattr( + cls, + "40", + PermissibleValue(text="40", description="Numeric code for Bangladesh."), + ) + setattr( + cls, + "42", + PermissibleValue(text="42", description="Numeric code for Barbados."), + ) + setattr( + cls, + "46", + PermissibleValue(text="46", description="Numeric code forBelgium."), + ) + setattr( + cls, + "084", + PermissibleValue(text="084", description="Numeric code for Belize."), + ) + setattr( + cls, + "204", + PermissibleValue(text="204", description="Numeric code for Benin."), + ) + setattr( + cls, + "48", + PermissibleValue(text="48", description="Numeric code for Bermuda."), + ) + setattr( + cls, + "52", + PermissibleValue(text="52", description="Numeric code for Bhutan."), + ) + setattr( + cls, + "58", + PermissibleValue(text="58", description="Numeric code for Botswana."), + ) + setattr( + cls, + "60", + PermissibleValue(text="60", description="Numeric code for Bouvet Island."), + ) + setattr( + cls, + "62", + PermissibleValue(text="62", description="Numeric code for Brazil."), + ) + setattr( + cls, + "092", + PermissibleValue( + text="092", description="Numeric code for Virgin Islands (British)." + ), + ) + setattr( + cls, + "086", PermissibleValue( text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", + description="Numeric code for British Indian Ocean Territory (the).", + ), + ) + setattr( + cls, + "854", + PermissibleValue(text="854", description="Numeric code for Burkina Faso."), + ) + setattr( + cls, + "108", + PermissibleValue(text="108", description="Numeric code for Burundi."), + ) + setattr( + cls, + "132", + PermissibleValue(text="132", description="Numeric code for Cabo Verde."), + ) + setattr( + cls, + "152", + PermissibleValue(text="152", description="Numeric code for Chile."), + ) + setattr( + cls, + "156", + PermissibleValue(text="156", description="Numeric code for China."), + ) + setattr( + cls, + "184", + PermissibleValue( + text="184", description="Numeric code for Cook Islands (the)." + ), + ) + setattr( + cls, + "188", + PermissibleValue(text="188", description="Numeric code for Costa Rica."), + ) + setattr( + cls, + "384", + PermissibleValue(text="384", description="Numeric code for Cote dIvoire."), + ) + setattr( + cls, + "531", + PermissibleValue(text="531", description="Numeric code for Curacao."), + ) + setattr( + cls, + "208", + PermissibleValue(text="208", description="Numeric code for Denmark."), + ) + setattr( + cls, + "180", PermissibleValue( text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", + description="Numeric code for Congo (the Democratic Republic of the).", + ), + ) + setattr( + cls, + "408", PermissibleValue( text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", + description="Numeric code for Korea (the Democratic Peoples Republic of).", + ), + ) + setattr( + cls, + "418", PermissibleValue( text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", + description="Numeric code for Lao Peoples Democratic Republic (the).", + ), + ) + setattr( + cls, + "276", + PermissibleValue(text="276", description="Numeric code for Germany."), + ) + setattr( + cls, + "212", + PermissibleValue(text="212", description="Numeric code for Dominica."), + ) + setattr( + cls, + "214", + PermissibleValue( + text="214", description="Numeric code for Dominican Republic (the)." + ), + ) + setattr( + cls, + "262", + PermissibleValue(text="262", description="Numeric code for Djibouti."), + ) + setattr( + cls, + "218", + PermissibleValue(text="218", description="Numeric code for Ecuador."), + ) + setattr( + cls, + "807", + PermissibleValue( + text="807", description="Numeric code for Republic of North Macedonia." + ), + ) + setattr( + cls, + "222", + PermissibleValue(text="222", description="Numeric code for El Salvador."), + ) + setattr( + cls, + "232", + PermissibleValue(text="232", description="Numeric code for Eritrea."), + ) + setattr( + cls, + "233", + PermissibleValue(text="233", description="Numeric code for Estonia."), + ) + setattr( + cls, + "238", PermissibleValue( text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", + description="Numeric code for Falkland Islands (the) [Malvinas].", + ), + ) + setattr( + cls, + "234", + PermissibleValue( + text="234", description="Numeric code for Faroe Islands (the)." + ), + ) + setattr( + cls, + "242", + PermissibleValue(text="242", description="Numeric code for Fiji."), + ) + setattr( + cls, + "246", + PermissibleValue(text="246", description="Numeric code for Finland."), + ) + setattr( + cls, + "583", PermissibleValue( text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", + description="Numeric code for Micronesia (Federated States of).", + ), + ) + setattr( + cls, + "250", + PermissibleValue(text="250", description="Numeric code for France."), + ) + setattr( + cls, + "260", PermissibleValue( text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", + description="Numeric code for French Southern Territories (the).", + ), + ) + setattr( + cls, + "254", + PermissibleValue(text="254", description="Numeric code for French Guiana."), + ) + setattr( + cls, + "258", + PermissibleValue( + text="258", description="Numeric code for French Polynesia." + ), + ) + setattr( + cls, + "266", + PermissibleValue(text="266", description="Numeric code for Gabon."), + ) + setattr( + cls, + "270", + PermissibleValue(text="270", description="Numeric code for Gambia (the)."), + ) + setattr( + cls, + "268", + PermissibleValue(text="268", description="Numeric code for Georgia."), + ) + setattr( + cls, + "288", + PermissibleValue(text="288", description="Numeric code for Ghana."), + ) + setattr( + cls, + "292", + PermissibleValue(text="292", description="Numeric code for Gibraltar."), + ) + setattr( + cls, + "308", + PermissibleValue(text="308", description="Numeric code for Grenada."), + ) + setattr( + cls, + "300", + PermissibleValue(text="300", description="Numeric code for Greece."), + ) + setattr( + cls, + "304", + PermissibleValue(text="304", description="Numeric code for Greenland."), + ) + setattr( + cls, + "312", + PermissibleValue(text="312", description="Numeric code for Guadeloupe."), + ) + setattr( + cls, + "316", + PermissibleValue(text="316", description="Numeric code for Guam."), + ) + setattr( + cls, + "320", + PermissibleValue(text="320", description="Numeric code for Guatemala."), + ) + setattr( + cls, + "831", + PermissibleValue(text="831", description="Numeric code for Guernsey."), + ) + setattr( + cls, + "324", + PermissibleValue(text="324", description="Numeric code for Guinea."), + ) + setattr( + cls, + "624", + PermissibleValue(text="624", description="Numeric code for Guinea-Bissau."), + ) + setattr( + cls, + "328", + PermissibleValue(text="328", description="Numeric code for Guyana."), + ) + setattr( + cls, + "332", + PermissibleValue(text="332", description="Numeric code for Haiti."), + ) + setattr( + cls, + "334", PermissibleValue( text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", + description="Numeric code for Heard Island and McDonald Islands.", + ), + ) + setattr( + cls, + "340", + PermissibleValue(text="340", description="Numeric code for Honduras."), + ) + setattr( + cls, + "344", + PermissibleValue(text="344", description="Numeric code for Hong Kong."), + ) + setattr( + cls, + "356", + PermissibleValue(text="356", description="Numeric code for India."), + ) + setattr( + cls, + "360", + PermissibleValue(text="360", description="Numeric code for Indonesia."), + ) + setattr( + cls, + "833", + PermissibleValue(text="833", description="Numeric code for Isle of Man."), + ) + setattr( + cls, + "368", + PermissibleValue(text="368", description="Numeric code for Iraq."), + ) + setattr( + cls, + "372", + PermissibleValue(text="372", description="Numeric code for Ireland."), + ) + setattr( + cls, + "364", + PermissibleValue( + text="364", description="Numeric code for Iran (Islamic Republic of)." + ), + ) + setattr( + cls, + "352", + PermissibleValue(text="352", description="Numeric code for Iceland."), + ) + setattr( + cls, + "376", + PermissibleValue(text="376", description="Numeric code for Israel."), + ) + setattr( + cls, + "380", + PermissibleValue(text="380", description="Numeric code for Italy."), + ) + setattr( + cls, + "388", + PermissibleValue(text="388", description="Numeric code for Jamaica."), + ) + setattr( + cls, + "392", + PermissibleValue(text="392", description="Numeric code for Japan."), + ) + setattr( + cls, + "887", + PermissibleValue(text="887", description="Numeric code for Yemen."), + ) + setattr( + cls, + "832", + PermissibleValue(text="832", description="Numeric code for Jersey."), + ) + setattr( + cls, + "400", + PermissibleValue(text="400", description="Numeric code for Jordan."), + ) + setattr( + cls, + "136", + PermissibleValue( + text="136", description="Numeric code for Cayman Islands (the)." + ), + ) + setattr( + cls, + "116", + PermissibleValue(text="116", description="Numeric code for Cambodia."), + ) + setattr( + cls, + "120", + PermissibleValue(text="120", description="Numeric code for Cameroon."), + ) + setattr( + cls, + "124", + PermissibleValue(text="124", description="Numeric code for Canada."), + ) + setattr( + cls, + "398", + PermissibleValue(text="398", description="Numeric code for Kazakhstan."), + ) + setattr( + cls, + "634", + PermissibleValue(text="634", description="Numeric code for Qatar."), + ) + setattr( + cls, + "404", + PermissibleValue(text="404", description="Numeric code for Kenya."), + ) + setattr( + cls, + "417", + PermissibleValue(text="417", description="Numeric code for Kyrgyzstan."), + ) + setattr( + cls, + "296", + PermissibleValue(text="296", description="Numeric code for Kiribati."), + ) + setattr( + cls, + "166", PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).", + ), + ) + setattr( + cls, + "170", + PermissibleValue(text="170", description="Numeric code for Colombia."), + ) + setattr( + cls, + "174", + PermissibleValue(text="174", description="Numeric code for Comoros (the)."), + ) + setattr( + cls, + "178", + PermissibleValue(text="178", description="Numeric code for Congo (the)."), + ) + setattr( + cls, + "191", + PermissibleValue(text="191", description="Numeric code for Croatia."), + ) + setattr( + cls, + "192", + PermissibleValue(text="192", description="Numeric code for Cuba."), + ) + setattr( + cls, + "414", + PermissibleValue(text="414", description="Numeric code for Kuwait."), + ) + setattr( + cls, + "426", + PermissibleValue(text="426", description="Numeric code for Lesotho."), + ) + setattr( + cls, + "428", + PermissibleValue(text="428", description="Numeric code for Latvia."), + ) + setattr( + cls, + "422", + PermissibleValue(text="422", description="Numeric code for Lebanon."), + ) + setattr( + cls, + "430", + PermissibleValue(text="430", description="Numeric code for Liberia."), + ) + setattr( + cls, + "434", + PermissibleValue(text="434", description="Numeric code for Libya."), + ) + setattr( + cls, + "438", + PermissibleValue(text="438", description="Numeric code for Liechtenstein."), + ) + setattr( + cls, + "440", + PermissibleValue(text="440", description="Numeric code for Lithuania."), + ) + setattr( + cls, + "442", + PermissibleValue(text="442", description="Numeric code for Luxembourg."), + ) + setattr( + cls, + "446", + PermissibleValue(text="446", description="Numeric code for Macao."), + ) + setattr( + cls, + "450", + PermissibleValue(text="450", description="Numeric code for Madagascar."), + ) + setattr( + cls, + "454", + PermissibleValue(text="454", description="Numeric code for Malawi."), + ) + setattr( + cls, + "458", + PermissibleValue(text="458", description="Numeric code for Malaysia."), + ) + setattr( + cls, + "462", + PermissibleValue(text="462", description="Numeric code for Maldives."), + ) + setattr( + cls, + "466", + PermissibleValue(text="466", description="Numeric code for Mali."), + ) + setattr( + cls, + "470", + PermissibleValue(text="470", description="Numeric code for Malta ."), + ) + setattr( + cls, + "580", PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", + text="580", + description="Numeric code for Northern Mariana Islands (the).", + ), + ) + setattr( + cls, + "504", + PermissibleValue(text="504", description="Numeric code for Morocco."), + ) + setattr( + cls, + "584", + PermissibleValue( + text="584", description="Numeric code for Marshall Islands (the)." + ), + ) + setattr( + cls, + "474", + PermissibleValue(text="474", description="Numeric code for Martinique."), + ) + setattr( + cls, + "478", + PermissibleValue(text="478", description="Numeric code for Mauritania."), + ) + setattr( + cls, + "480", + PermissibleValue(text="480", description="Numeric code for Mauritius."), + ) + setattr( + cls, + "175", + PermissibleValue(text="175", description="Numeric code for Mayotte."), + ) + setattr( + cls, + "484", + PermissibleValue(text="484", description="Numeric code for Mexico."), + ) + setattr( + cls, + "492", + PermissibleValue(text="492", description="Numeric code for Monaco."), + ) + setattr( + cls, + "496", + PermissibleValue(text="496", description="Numeric code for Mongolia."), + ) + setattr( + cls, + "500", + PermissibleValue(text="500", description="Numeric code for Montserrat."), + ) + setattr( + cls, + "499", + PermissibleValue(text="499", description="Numeric code for Montenegro."), + ) + setattr( + cls, + "508", + PermissibleValue(text="508", description="Numeric code for Mozambique."), + ) + setattr( + cls, + "104", + PermissibleValue(text="104", description="Numeric code for Myanmar."), + ) + setattr( + cls, + "516", + PermissibleValue(text="516", description="Numeric code for Namibia."), + ) + setattr( + cls, + "520", + PermissibleValue(text="520", description="Numeric code for Nauru."), + ) + setattr( + cls, + "524", + PermissibleValue(text="524", description="Numeric code for Nepal."), + ) + setattr( + cls, + "540", + PermissibleValue(text="540", description="Numeric code for New Caledonia."), + ) + setattr( + cls, + "554", + PermissibleValue(text="554", description="Numeric code for New Zealand."), + ) + setattr( + cls, + "558", + PermissibleValue(text="558", description="Numeric code for Nicaragua."), + ) + setattr( + cls, + "528", + PermissibleValue( + text="528", description="Numeric code for Netherlands (the)." + ), + ) + setattr( + cls, + "562", + PermissibleValue(text="562", description="Numeric code for Niger (the)."), + ) + setattr( + cls, + "566", + PermissibleValue(text="566", description="Numeric code for Nigeria."), + ) + setattr( + cls, + "570", + PermissibleValue(text="570", description="Numeric code for Niue."), + ) + setattr( + cls, + "574", + PermissibleValue( + text="574", description="Numeric code for Norfolk Island." + ), + ) + setattr( + cls, + "578", + PermissibleValue(text="578", description="Numeric code for Norway."), + ) + setattr( + cls, + "512", + PermissibleValue(text="512", description="Numeric code for Oman."), + ) + setattr( + cls, + "32", + PermissibleValue(text="32", description="Numeric code for Austria."), + ) + setattr( + cls, + "586", + PermissibleValue(text="586", description="Numeric code for Pakistan."), + ) + setattr( + cls, + "585", + PermissibleValue(text="585", description="Numeric code for Palau."), + ) + setattr( + cls, + "275", + PermissibleValue( + text="275", description="Numeric code for Palestine, State of." + ), + ) + setattr( + cls, + "591", + PermissibleValue(text="591", description="Numeric code for Panama."), + ) + setattr( + cls, + "598", + PermissibleValue( + text="598", description="Numeric code for Papua New Guinea." + ), + ) + setattr( + cls, + "600", + PermissibleValue(text="600", description="Numeric code for Paraguay."), + ) + setattr( + cls, + "604", + PermissibleValue(text="604", description="Numeric code for Peru."), + ) + setattr( + cls, + "608", + PermissibleValue( + text="608", description="Numeric code for Philippines (the)." + ), + ) + setattr( + cls, + "612", + PermissibleValue(text="612", description="Numeric code for Pitcairn."), + ) + setattr( + cls, + "068", PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", + text="068", + description="Numeric code for Bolivia (Plurinational State of).", + ), + ) + setattr( + cls, + "616", + PermissibleValue(text="616", description="Numeric code for Poland."), + ) + setattr( + cls, + "620", + PermissibleValue(text="620", description="Numeric code for Portugal."), + ) + setattr( + cls, + "630", + PermissibleValue(text="630", description="Numeric code for Puerto Rico."), + ) + setattr( + cls, + "410", + PermissibleValue( + text="410", description="Numeric code for Korea (the Republic of)." + ), + ) + setattr( + cls, + "498", + PermissibleValue( + text="498", description="Numeric code for Moldova (the Republic of)." + ), + ) + setattr( + cls, + "638", + PermissibleValue(text="638", description="Numeric code for Reunion."), + ) + setattr( + cls, + "646", + PermissibleValue(text="646", description="Numeric code for Rwanda."), + ) + setattr( + cls, + "642", + PermissibleValue(text="642", description="Numeric code for Romania."), + ) + setattr( + cls, + "643", + PermissibleValue( + text="643", description="Numeric code for Russian Federation (the)." + ), + ) + setattr( + cls, + "090", + PermissibleValue( + text="090", description="Numeric code for Solomon Islands." + ), + ) + setattr( + cls, + "894", + PermissibleValue(text="894", description="Numeric code for Zambia."), + ) + setattr( + cls, + "882", + PermissibleValue(text="882", description="Numeric code for Samoa."), + ) + setattr( + cls, + "674", + PermissibleValue(text="674", description="Numeric code for San Marino."), + ) + setattr( + cls, + "678", + PermissibleValue( + text="678", description="Numeric code for Sao Tome and Principe." + ), + ) + setattr( + cls, + "682", + PermissibleValue(text="682", description="Numeric code for Saudi Arabia."), + ) + setattr( + cls, + "752", + PermissibleValue(text="752", description="Numeric code for Sweden."), + ) + setattr( + cls, + "756", + PermissibleValue(text="756", description="Numeric code for Switzerland."), + ) + setattr( + cls, + "686", + PermissibleValue(text="686", description="Numeric code for Senegal."), + ) + setattr( + cls, + "688", + PermissibleValue(text="688", description="Numeric code for Serbia."), + ) + setattr( + cls, + "690", + PermissibleValue(text="690", description="Numeric code for Seychelles."), + ) + setattr( + cls, + "694", + PermissibleValue(text="694", description="Numeric code for Sierra Leone."), + ) + setattr( + cls, + "716", + PermissibleValue(text="716", description="Numeric code for Zimbabwe."), + ) + setattr( + cls, + "702", + PermissibleValue(text="702", description="Numeric code for Singapore."), + ) + setattr( + cls, + "703", + PermissibleValue(text="703", description="Numeric code for Slovakia."), + ) + setattr( + cls, + "705", + PermissibleValue(text="705", description="Numeric code for Slovenia."), + ) + setattr( + cls, + "706", + PermissibleValue(text="706", description="Numeric code for Somalia."), + ) + setattr( + cls, + "724", + PermissibleValue(text="724", description="Numeric code for Spain."), + ) + setattr( + cls, + "144", + PermissibleValue(text="144", description="Numeric code for Sri Lanka."), + ) + setattr( + cls, + "652", + PermissibleValue( + text="652", description="Numeric code for Saint Barthelemy." + ), + ) + setattr( + cls, + "654", PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.", + ), + ) + setattr( + cls, + "659", + PermissibleValue( + text="659", description="Numeric code for Saint Kitts and Nevis." + ), + ) + setattr( + cls, + "662", + PermissibleValue(text="662", description="Numeric code for Saint Lucia."), + ) + setattr( + cls, + "663", + PermissibleValue( + text="663", description="Numeric code for Saint Martin (French part)." + ), + ) + setattr( + cls, + "534", + PermissibleValue( + text="534", description="Numeric code for Sint Maarten (Dutch part)." + ), + ) + setattr( + cls, + "666", + PermissibleValue( + text="666", description="Numeric code for Saint Pierre and Miquelon." + ), + ) + setattr( + cls, + "670", PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", + text="670", + description="Numeric code for Saint Vincent and the Grenadines.", + ), + ) + setattr( + cls, + "710", + PermissibleValue(text="710", description="Numeric code for South Africa."), + ) + setattr( + cls, + "729", + PermissibleValue(text="729", description="Numeric code forSudan (the)."), + ) + setattr( + cls, + "239", PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.", + ), + ) + setattr( + cls, + "728", + PermissibleValue(text="728", description="Numeric code for South Sudan."), + ) + setattr( + cls, + "740", + PermissibleValue(text="740", description="Numeric code for Suriname."), + ) + setattr( + cls, + "744", + PermissibleValue( + text="744", description="Numeric code for Svalbard and Jan Mayen." + ), + ) + setattr( + cls, + "748", + PermissibleValue(text="748", description="Numeric code for Eswatini."), + ) + setattr( + cls, + "762", + PermissibleValue(text="762", description="Numeric code for Tajikistan."), + ) + setattr( + cls, + "158", + PermissibleValue( + text="158", description="Numeric code for Taiwan (Province of China)." + ), + ) + setattr( + cls, + "764", + PermissibleValue(text="764", description="Numeric code for Thailand."), + ) + setattr( + cls, + "626", + PermissibleValue(text="626", description="Numeric code for Timor-Leste."), + ) + setattr( + cls, + "768", + PermissibleValue(text="768", description="Numeric code for Togo."), + ) + setattr( + cls, + "772", + PermissibleValue(text="772", description="Numeric code for Tokelau."), + ) + setattr( + cls, + "776", + PermissibleValue(text="776", description="Numeric code for Tonga."), + ) + setattr( + cls, + "780", + PermissibleValue( + text="780", description="Numeric code for Trinidad and Tobago." + ), + ) + setattr( + cls, + "148", + PermissibleValue(text="148", description="Numeric code for Chad."), + ) + setattr( + cls, + "203", + PermissibleValue(text="203", description="Numeric code for Czechia."), + ) + setattr( + cls, + "788", + PermissibleValue(text="788", description="Numeric code for Tunisia."), + ) + setattr( + cls, + "792", + PermissibleValue(text="792", description="Numeric code for Turkey."), + ) + setattr( + cls, + "795", + PermissibleValue(text="795", description="Numeric code for Turkmenistan."), + ) + setattr( + cls, + "796", PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", + text="796", + description="Numeric code for Turks and Caicos Islands (the).", + ), + ) + setattr( + cls, + "798", + PermissibleValue(text="798", description="Numeric code for Tuvalu."), + ) + setattr( + cls, + "800", + PermissibleValue(text="800", description="Numeric code for Uganda."), + ) + setattr( + cls, + "804", + PermissibleValue(text="804", description="Numeric code for Ukraine."), + ) + setattr( + cls, + "348", + PermissibleValue(text="348", description="Numeric code for Hungary."), + ) + setattr( + cls, + "858", + PermissibleValue(text="858", description="Numeric code for Uruguay."), + ) + setattr( + cls, + "860", + PermissibleValue(text="860", description="Numeric code for Uzbekistan."), + ) + setattr( + cls, + "548", + PermissibleValue(text="548", description="Numeric code for Vanuatu."), + ) + setattr( + cls, + "336", + PermissibleValue( + text="336", description="Numeric code for Holy See (the)." + ), + ) + setattr( + cls, + "784", + PermissibleValue( + text="784", description="Numeric code for United Arab Emirates (the)." + ), + ) + setattr( + cls, + "834", + PermissibleValue( + text="834", description="Numeric code for Tanzania, United Republic of." + ), + ) + setattr( + cls, + "840", PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", + text="840", + description="Numeric code for United States of America (the).", + ), + ) + setattr( + cls, + "826", PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).", + ), + ) + setattr( + cls, + "704", + PermissibleValue(text="704", description="Numeric code for Viet Nam."), + ) + setattr( + cls, + "876", + PermissibleValue( + text="876", description="Numeric code for Wallis and Futuna." + ), + ) + setattr( + cls, + "162", + PermissibleValue( + text="162", description="Numeric code for Christmas Island." + ), + ) + setattr( + cls, + "112", + PermissibleValue(text="112", description="Numeric code for Belarus."), + ) + setattr( + cls, + "732", + PermissibleValue( + text="732", description="Numeric code for Western Sahara." + ), + ) + setattr( + cls, + "140", PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", + text="140", + description="Numeric code for Central African Republic (the).", + ), + ) + setattr( + cls, + "196", + PermissibleValue(text="196", description="Numeric code for Cyprus."), + ) + + +class Architectures(EnumDefinitionImpl): + other = PermissibleValue( + text="other", description="CPU architecture not specified above." + ) + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr( + cls, + "x86-32", + PermissibleValue( + text="x86-32", description="32 bit version of x86 architecture." + ), + ) + setattr( + cls, + "x86-64", + PermissibleValue( + text="x86-64", description="64 bit version of x86 architecture." + ), + ) + setattr( + cls, + "AArch-32", + PermissibleValue( + text="AArch-32", description="32-bit version of ARM architecture." + ), + ) + setattr( + cls, + "AArch-64", + PermissibleValue( + text="AArch-64", description="64-bit version of ARM architecture." + ), + ) + setattr( + cls, + "RISC-V", PermissibleValue( text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) + description="Architecture based on open standard instruction set (ISA).", + ), + ) -class EncryptionAlgorithm(EnumDefinitionImpl): - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") +class EncryptionAlgorithm(EnumDefinitionImpl): + RSA = PermissibleValue(text="RSA", description="TBD") + AES = PermissibleValue(text="AES", description="TBD") + Blowfish = PermissibleValue(text="Blowfish", description="TBD") + Twofish = PermissibleValue(text="Twofish", description="TBD") + SDA = PermissibleValue(text="SDA", description="TBD") other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") + text="other", description="Algorithm for encryption not further described." + ) _defn = EnumDefinition( name="EncryptionAlgorithm", @@ -4242,25 +4175,17 @@ class EncryptionAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) + setattr(cls, "3DES", PermissibleValue(text="3DES", description="TBD")) -class ChecksumAlgorithm(EnumDefinitionImpl): - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") +class ChecksumAlgorithm(EnumDefinitionImpl): + md5 = PermissibleValue(text="md5", description="TBD") + blake2 = PermissibleValue(text="blake2", description="TBD") + blake3 = PermissibleValue(text="blake3", description="TBD") other = PermissibleValue( text="other", - description="Algorithm to calcualte checksum not further described.") + description="Algorithm to calcualte checksum not further described.", + ) _defn = EnumDefinition( name="ChecksumAlgorithm", @@ -4268,62 +4193,43 @@ class ChecksumAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-224", - PermissibleValue( - text="sha-224", - description="TBD")) - setattr(cls, "sha-256", - PermissibleValue( - text="sha-256", - description="TBD")) - setattr(cls, "sha-512", - PermissibleValue( - text="sha-512", - description="TBD")) - setattr(cls, "sha-384", - PermissibleValue( - text="sha-384", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) + setattr(cls, "sha-1", PermissibleValue(text="sha-1", description="TBD")) + setattr(cls, "sha-224", PermissibleValue(text="sha-224", description="TBD")) + setattr(cls, "sha-256", PermissibleValue(text="sha-256", description="TBD")) + setattr(cls, "sha-512", PermissibleValue(text="sha-512", description="TBD")) + setattr(cls, "sha-384", PermissibleValue(text="sha-384", description="TBD")) + setattr(cls, "sha-3", PermissibleValue(text="sha-3", description="TBD")) + setattr( + cls, "ripemd-160", PermissibleValue(text="ripemd-160", description="TBD") + ) -class KeyManagement(EnumDefinitionImpl): +class KeyManagement(EnumDefinitionImpl): BYOK = PermissibleValue( text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + description="bring-your-own-key: Keys created by user and stored in key manager of cloud", + ) HYOK = PermissibleValue( text="HYOK", - description="hold-your-own-key Key created by user and kept by user") + description="hold-your-own-key Key created by user and kept by user", + ) managed = PermissibleValue( text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") + description="managed: Keys are created by and stored in key manager of cloud.", + ) _defn = EnumDefinition( name="KeyManagement", ) -class SignatureAlgorithm(EnumDefinitionImpl): - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") +class SignatureAlgorithm(EnumDefinitionImpl): + ECDSA = PermissibleValue(text="ECDSA", description="TBD") + DSA = PermissibleValue(text="DSA", description="TBD") other = PermissibleValue( text="other", - description="Algorithm for digital signatures not further described.") + description="Algorithm for digital signatures not further described.", + ) _defn = EnumDefinition( name="SignatureAlgorithm", @@ -4331,13 +4237,14 @@ class SignatureAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) + setattr( + cls, + "RSA-Signature", + PermissibleValue(text="RSA-Signature", description="TBD"), + ) -class DiskTypes(EnumDefinitionImpl): +class DiskTypes(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4346,17 +4253,17 @@ class DiskTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) + setattr(cls, "local SSD", PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", PermissibleValue(text="local HDD")) + setattr( + cls, + "shared network storage", + PermissibleValue(text="shared network storage"), + ) + setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) -class GPUInterconnetionTypes(EnumDefinitionImpl): +class GPUInterconnetionTypes(EnumDefinitionImpl): NVLink = PermissibleValue(text="NVLink") RoCE2 = PermissibleValue(text="RoCE2") other = PermissibleValue(text="other") @@ -4368,72 +4275,76 @@ class GPUInterconnetionTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) + setattr(cls, "Xe Link", PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", PermissibleValue(text="Infinity Fabric")) + class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. """ + yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") + text="yearly", description="Image will be updated at least once per year." + ) quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") + text="quarterly", description="Image will be updated at least once per month." + ) weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") + text="weekly", description="Image will be updated at least once per week." + ) daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") + text="daily", description="Image will be updated at least once per day." + ) critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") + text="critical_bug", description="Image will be updated for critical bugs only." + ) + never = PermissibleValue(text="never", description="Image will never be updated.") _defn = EnumDefinition( name="UpdateFrequency", description="Possible values for image's update frequency.", ) + class Validity1(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ - none = PermissibleValue( - text="none", - description="No information are given.") + + none = PermissibleValue(text="none", description="No information are given.") notice = PermissibleValue( text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") + description="Outdated version of the image will remain valid until a deprecation notice will be published.", + ) _defn = EnumDefinition( name="Validity1", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class Validity2(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ + forever = PermissibleValue( text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") + description="Outdated version of the image will remain valid for as long as the cloud operates.", + ) _defn = EnumDefinition( name="Validity2", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class GaiaXTermsAndConditions(EnumDefinitionImpl): """ SHA256 check sum of Gaia-X Terms and Conditions. """ + _defn = EnumDefinition( name="GaiaXTermsAndConditions", description="SHA256 check sum of Gaia-X Terms and Conditions.", @@ -4441,11 +4352,16 @@ class GaiaXTermsAndConditions(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + setattr( + cls, + "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue( + text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" + ), + ) -class MemoryClasses(EnumDefinitionImpl): +class MemoryClasses(EnumDefinitionImpl): DDR4 = PermissibleValue(text="DDR4") DDR5 = PermissibleValue(text="DDR5") GDDR5 = PermissibleValue(text="GDDR5") @@ -4456,8 +4372,8 @@ class MemoryClasses(EnumDefinitionImpl): name="MemoryClasses", ) -class MemoryRanks(EnumDefinitionImpl): +class MemoryRanks(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4466,17 +4382,13 @@ class MemoryRanks(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) + setattr(cls, "1R RDIMM", PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", PermissibleValue(text="8R LRDIMM")) -class PXEDiskType(EnumDefinitionImpl): +class PXEDiskType(EnumDefinitionImpl): WINPE = PermissibleValue(text="WINPE") ISO = PermissibleValue(text="ISO") @@ -4484,8 +4396,8 @@ class PXEDiskType(EnumDefinitionImpl): name="PXEDiskType", ) -class SPDX(EnumDefinitionImpl): +class SPDX(EnumDefinitionImpl): AAL = PermissibleValue(text="AAL") Abstyles = PermissibleValue(text="Abstyles") ADSL = PermissibleValue(text="ADSL") @@ -4637,775 +4549,567 @@ class SPDX(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) + setattr(cls, "0BSD", PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", PermissibleValue(text="Artistic-2.0")) + setattr( + cls, + "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0"), + ) + setattr( + cls, + "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1"), + ) + setattr(cls, "Bitstream-Charter", PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", PermissibleValue(text="Boehm-GC")) + setattr( + cls, + "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause"), + ) + setattr(cls, "BSD-1-Clause", PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", PermissibleValue(text="BSD-2-Clause")) + setattr( + cls, "BSD-2-Clause-Patent", PermissibleValue(text="BSD-2-Clause-Patent") + ) + setattr(cls, "BSD-2-Clause-Views", PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", PermissibleValue(text="BSD-3-Clause")) + setattr( + cls, + "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution"), + ) + setattr(cls, "BSD-3-Clause-Clear", PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr( + cls, + "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification"), + ) + setattr( + cls, + "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty"), + ) + setattr( + cls, "BSD-3-Clause-Open-MPI", PermissibleValue(text="BSD-3-Clause-Open-MPI") + ) + setattr(cls, "BSD-4-Clause", PermissibleValue(text="BSD-4-Clause")) + setattr( + cls, + "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened"), + ) + setattr(cls, "BSD-4-Clause-UC", PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", PermissibleValue(text="BSD-4.3TAHOE")) + setattr( + cls, + "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement"), + ) + setattr( + cls, + "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer"), + ) + setattr(cls, "BSD-Protection", PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", PermissibleValue(text="CAL-1.0")) + setattr( + cls, + "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception"), + ) + setattr(cls, "CATOSL-1.1", PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr( + cls, "CC-BY-NC-ND-3.0-IGO", PermissibleValue(text="CC-BY-NC-ND-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-ND-4.0", PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr( + cls, "CC-BY-NC-SA-3.0-IGO", PermissibleValue(text="CC-BY-NC-SA-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-SA-4.0", PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", PermissibleValue(text="CDL-1.0")) + setattr( + cls, "CDLA-Permissive-1.0", PermissibleValue(text="CDLA-Permissive-1.0") + ) + setattr( + cls, "CDLA-Permissive-2.0", PermissibleValue(text="CDLA-Permissive-2.0") + ) + setattr(cls, "CDLA-Sharing-1.0", PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", PermissibleValue(text="CNRI-Python")) + setattr( + cls, + "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible"), + ) + setattr(cls, "COIL-1.0", PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", PermissibleValue(text="Condor-1.1")) + setattr( + cls, "copyleft-next-0.3.0", PermissibleValue(text="copyleft-next-0.3.0") + ) + setattr( + cls, "copyleft-next-0.3.1", PermissibleValue(text="copyleft-next-0.3.1") + ) + setattr( + cls, "Cornell-Lossless-JPEG", PermissibleValue(text="Cornell-Lossless-JPEG") + ) + setattr(cls, "CPAL-1.0", PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", PermissibleValue(text="FreeBSD-DOC")) + setattr( + cls, + "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.1-only", PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", PermissibleValue(text="GFDL-1.1-or-later")) + setattr( + cls, + "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.2-only", PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", PermissibleValue(text="GFDL-1.2-or-later")) + setattr( + cls, + "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.3-only", PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", PermissibleValue(text="HPND-sell-variant")) + setattr( + cls, + "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer"), + ) + setattr(cls, "IBM-pibs", PermissibleValue(text="IBM-pibs")) + setattr( + cls, + "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA"), + ) + setattr(cls, "IJG-short", PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", PermissibleValue(text="LAL-1.3")) + setattr( + cls, + "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice"), + ) + setattr(cls, "LGPL-2.0-only", PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", PermissibleValue(text="libselinux-1.0")) + setattr( + cls, "libutil-David-Nugent", PermissibleValue(text="libutil-David-Nugent") + ) + setattr(cls, "LiLiQ-P-1.1", PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr( + cls, + "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var"), + ) + setattr(cls, "Linux-OpenIB", PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", PermissibleValue(text="LPPL-1.3c")) + setattr( + cls, "LZMA-SDK-9.11-to-9.20", PermissibleValue(text="LZMA-SDK-9.11-to-9.20") + ) + setattr(cls, "LZMA-SDK-9.22", PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", PermissibleValue(text="MPL-2.0")) + setattr( + cls, + "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception"), + ) + setattr(cls, "MS-LPL", PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", PermissibleValue(text="PHP-3.01")) + setattr( + cls, + "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0"), + ) + setattr( + cls, + "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0"), + ) + setattr(cls, "PSF-2.0", PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", PermissibleValue(text="Widget-Workshop")) + setattr( + cls, + "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant"), + ) + setattr(cls, "Xdebug-1.03", PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", PermissibleValue(text="Zimbra-1.4")) + setattr( + cls, "zlib-acknowledgement", PermissibleValue(text="zlib-acknowledgement") + ) + setattr(cls, "ZPL-1.1", PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", PermissibleValue(text="ZPL-2.1")) + class OSDistribution(EnumDefinitionImpl): """ Possible values for operating system distribution. """ + Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") FreeBSD = PermissibleValue(text="FreeBSD") @@ -5426,35 +5130,37 @@ class OSDistribution(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) + setattr(cls, "Alpine Linux", PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", PermissibleValue(text="Mandriva Linux")) + setattr( + cls, + "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server"), + ) + setattr(cls, "MS-DOS", PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", PermissibleValue(text="Rocky Linux")) + setattr( + cls, + "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux"), + ) + setattr( + cls, + "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop"), + ) + setattr(cls, "Microsoft Windows", PermissibleValue(text="Microsoft Windows")) + class HypervisorType(EnumDefinitionImpl): """ Possible values for hypervisor types. """ + quemu = PermissibleValue(text="quemu") KVM = PermissibleValue(text="KVM") Xen = PermissibleValue(text="Xen") @@ -5468,35 +5174,34 @@ class HypervisorType(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) + setattr(cls, "Hyper-V", PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", PermissibleValue(text="Cloud Hypervisor")) -class PersonalDataProtectionRegime(EnumDefinitionImpl): +class PersonalDataProtectionRegime(EnumDefinitionImpl): GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") + text="GDPR2016", description="General Data Protection Regulation / EEA." + ) LGPD2019 = PermissibleValue( text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.", + ) PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") + text="PDPA2012", description="Personal Data Protection Act 2012 / SGP." + ) CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") + text="CCPA2018", description="California Consumer Privacy Act / US-CA." + ) VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") + text="VCDPA2021", description="Virginia Consumer Data Protection Act / US-VA." + ) _defn = EnumDefinition( name="PersonalDataProtectionRegime", ) -class RequestTypes(EnumDefinitionImpl): +class RequestTypes(EnumDefinitionImpl): API = PermissibleValue(text="API") email = PermissibleValue(text="email") webform = PermissibleValue(text="webform") @@ -5508,21 +5213,23 @@ class RequestTypes(EnumDefinitionImpl): name="RequestTypes", ) -class AccessTypes(EnumDefinitionImpl): +class AccessTypes(EnumDefinitionImpl): digital = PermissibleValue( text="digital", - description="Access via digital service, such as e-mail or web form.") + description="Access via digital service, such as e-mail or web form.", + ) physical = PermissibleValue( text="physical", - description="Access via physical medium, such as letter or physical appointment.") + description="Access via physical medium, such as letter or physical appointment.", + ) _defn = EnumDefinition( name="AccessTypes", ) -class MIMETypes(EnumDefinitionImpl): +class MIMETypes(EnumDefinitionImpl): calendar = PermissibleValue(text="calendar") cql = PermissibleValue(text="cql") css = PermissibleValue(text="css") @@ -5674,3012 +5381,4151 @@ class MIMETypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) + setattr( + cls, + "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec"), + ) + setattr(cls, "cache-manifest", PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", PermissibleValue(text="csv-schema")) + setattr( + cls, + "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350"), + ) + setattr( + cls, + "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "grammar-ref-list", PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", PermissibleValue(text="jcr-cnd")) + setattr( + cls, "provenance-notation", PermissibleValue(text="provenance-notation") + ) + setattr( + cls, "prs.fallenstein.rst", PermissibleValue(text="prs.fallenstein.rst") + ) + setattr(cls, "prs.lines.tag", PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", PermissibleValue(text="rtp-enc-aescm128")) + setattr( + cls, "tab-separated-values", PermissibleValue(text="tab-separated-values") + ) + setattr(cls, "uri-list", PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", PermissibleValue(text="vnd.curl")) + setattr( + cls, "vnd.debian.copyright", PermissibleValue(text="vnd.debian.copyright") + ) + setattr(cls, "vnd.DMClientScript", PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", PermissibleValue(text="vnd.dvb.subtitle")) + setattr( + cls, + "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor"), + ) + setattr(cls, "vnd.exchangeable", PermissibleValue(text="vnd.exchangeable")) + setattr( + cls, + "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom"), + ) + setattr(cls, "vnd.ficlab.flt", PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", PermissibleValue(text="vnd.latex-z")) + setattr( + cls, "vnd.motorola.reflex", PermissibleValue(text="vnd.motorola.reflex") + ) + setattr( + cls, "vnd.ms-mediapackage", PermissibleValue(text="vnd.ms-mediapackage") + ) + setattr( + cls, + "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command"), + ) + setattr( + cls, + "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout"), + ) + setattr( + cls, "vnd.senx.warpscript", PermissibleValue(text="vnd.senx.warpscript") + ) + setattr( + cls, "vnd.si.uricatalogue", PermissibleValue(text="vnd.si.uricatalogue") + ) + setattr( + cls, + "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor"), + ) + setattr(cls, "vnd.sosi", PermissibleValue(text="vnd.sosi")) + setattr( + cls, + "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist"), + ) + setattr(cls, "vnd.wap.si", PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", PermissibleValue(text="vnd.wap.wmlscript")) + setattr( + cls, + "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity"), + ) + setattr( + cls, + "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml"), + ) + setattr(cls, "3gppHal+json", PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", PermissibleValue(text="alto-cdni+json")) + setattr( + cls, "alto-cdnifilter+json", PermissibleValue(text="alto-cdnifilter+json") + ) + setattr(cls, "alto-costmap+json", PermissibleValue(text="alto-costmap+json")) + setattr( + cls, + "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json"), + ) + setattr( + cls, "alto-directory+json", PermissibleValue(text="alto-directory+json") + ) + setattr( + cls, + "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json"), + ) + setattr( + cls, + "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json"), + ) + setattr( + cls, + "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json"), + ) + setattr( + cls, + "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json"), + ) + setattr(cls, "alto-error+json", PermissibleValue(text="alto-error+json")) + setattr( + cls, + "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json"), + ) + setattr( + cls, "alto-networkmap+json", PermissibleValue(text="alto-networkmap+json") + ) + setattr(cls, "alto-propmap+json", PermissibleValue(text="alto-propmap+json")) + setattr( + cls, + "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json"), + ) + setattr( + cls, + "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json"), + ) + setattr( + cls, + "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json"), + ) + setattr(cls, "andrew-inset", PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", PermissibleValue(text="atsc-dwd+xml")) + setattr( + cls, + "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message"), + ) + setattr(cls, "atsc-held+xml", PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", PermissibleValue(text="auth-policy+xml")) + setattr( + cls, "automationml-aml+xml", PermissibleValue(text="automationml-aml+xml") + ) + setattr( + cls, "automationml-amlx+zip", PermissibleValue(text="automationml-amlx+zip") + ) + setattr(cls, "bacnet-xdd+zip", PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", PermissibleValue(text="coap-payload")) + setattr( + cls, + "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor"), + ) + setattr( + cls, "conference-info+xml", PermissibleValue(text="conference-info+xml") + ) + setattr(cls, "cpl+xml", PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", PermissibleValue(text="elm+xml")) + setattr( + cls, + "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml"), + ) + setattr( + cls, + "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml"), + ) + setattr( + cls, + "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml"), + ) + setattr( + cls, + "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD"), + ) + setattr( + cls, + "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json"), + ) + setattr( + cls, + "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml"), + ) + setattr(cls, "emma+xml", PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", PermissibleValue(text="epub+zip")) + setattr( + cls, "expect-ct-report+json", PermissibleValue(text="expect-ct-report+json") + ) + setattr(cls, "fdt+xml", PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", PermissibleValue(text="fhir+xml")) + setattr( + cls, + "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt"), + ) + setattr(cls, "font-tdpfr", PermissibleValue(text="font-tdpfr")) + setattr( + cls, + "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff"), + ) + setattr( + cls, + "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml"), + ) + setattr(cls, "geo+json", PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", PermissibleValue(text="hl7v2+xml")) + setattr( + cls, "ibe-key-request+xml", PermissibleValue(text="ibe-key-request+xml") + ) + setattr(cls, "ibe-pkg-reply+xml", PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", PermissibleValue(text="index.obj")) + setattr(cls, "index.response", PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", PermissibleValue(text="java-archive")) + setattr( + cls, + "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "jf2feed+json", PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", PermissibleValue(text="mathml-content+xml")) + setattr( + cls, + "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml"), + ) + setattr( + cls, + "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml"), + ) + setattr( + cls, "mbms-deregister+xml", PermissibleValue(text="mbms-deregister+xml") + ) + setattr(cls, "mbms-envelope+xml", PermissibleValue(text="mbms-envelope+xml")) + setattr( + cls, "mbms-msk-response+xml", PermissibleValue(text="mbms-msk-response+xml") + ) + setattr(cls, "mbms-msk+xml", PermissibleValue(text="mbms-msk+xml")) + setattr( + cls, + "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml"), + ) + setattr( + cls, + "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml"), + ) + setattr( + cls, + "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml"), + ) + setattr(cls, "mbms-register+xml", PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", PermissibleValue(text="mbms-schedule+xml")) + setattr( + cls, + "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml"), + ) + setattr(cls, "media_control+xml", PermissibleValue(text="media_control+xml")) + setattr( + cls, + "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml"), + ) + setattr( + cls, + "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml"), + ) + setattr(cls, "merge-patch+json", PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", PermissibleValue(text="mets+xml")) + setattr( + cls, + "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq"), + ) + setattr(cls, "mmt-aei+xml", PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", PermissibleValue(text="nlsml+xml")) + setattr( + cls, "oauth-authz-req+jwt", PermissibleValue(text="oauth-authz-req+jwt") + ) + setattr( + cls, "oblivious-dns-message", PermissibleValue(text="oblivious-dns-message") + ) + setattr(cls, "ocsp-request", PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", PermissibleValue(text="p2p-overlay+xml")) + setattr( + cls, "patch-ops-error+xml", PermissibleValue(text="patch-ops-error+xml") + ) + setattr( + cls, "pem-certificate-chain", PermissibleValue(text="pem-certificate-chain") + ) + setattr(cls, "pgp-encrypted", PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", PermissibleValue(text="provenance+xml")) + setattr( + cls, + "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet"), + ) + setattr(cls, "prs.cww", PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", PermissibleValue(text="prs.hpub+zip")) + setattr( + cls, + "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml"), + ) + setattr( + cls, + "prs.implied-executable", + PermissibleValue(text="prs.implied-executable"), + ) + setattr( + cls, "prs.implied-structure", PermissibleValue(text="prs.implied-structure") + ) + setattr(cls, "prs.nprend", PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", PermissibleValue(text="reginfo+xml")) + setattr( + cls, + "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax"), + ) + setattr( + cls, + "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)"), + ) + setattr(cls, "reputon+json", PermissibleValue(text="reputon+json")) + setattr( + cls, + "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml"), + ) + setattr(cls, "resource-lists+xml", PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", PermissibleValue(text="samlmetadata+xml")) + setattr( + cls, + "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json"), + ) + setattr(cls, "sarif+json", PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", PermissibleValue(text="session-info")) + setattr(cls, "set-payment", PermissibleValue(text="set-payment")) + setattr( + cls, + "set-payment-initiation", + PermissibleValue(text="set-payment-initiation"), + ) + setattr(cls, "set-registration", PermissibleValue(text="set-registration")) + setattr( + cls, + "set-registration-initiation", + PermissibleValue(text="set-registration-initiation"), + ) + setattr(cls, "sgml-open-catalog", PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", PermissibleValue(text="simple-filter+xml")) + setattr( + cls, + "simple-message-summary", + PermissibleValue(text="simple-message-summary"), + ) + setattr( + cls, + "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)"), + ) + setattr(cls, "smil+xml", PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", PermissibleValue(text="tamp-apex-update")) + setattr( + cls, + "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm"), + ) + setattr( + cls, "tamp-community-update", PermissibleValue(text="tamp-community-update") + ) + setattr( + cls, + "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm"), + ) + setattr(cls, "tamp-error", PermissibleValue(text="tamp-error")) + setattr( + cls, "tamp-sequence-adjust", PermissibleValue(text="tamp-sequence-adjust") + ) + setattr( + cls, + "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm"), + ) + setattr(cls, "tamp-status-query", PermissibleValue(text="tamp-status-query")) + setattr( + cls, "tamp-status-response", PermissibleValue(text="tamp-status-response") + ) + setattr(cls, "tamp-update", PermissibleValue(text="tamp-update")) + setattr( + cls, "tamp-update-confirm", PermissibleValue(text="tamp-update-confirm") + ) + setattr(cls, "taxii+json", PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", PermissibleValue(text="tm+json")) + setattr( + cls, + "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt"), + ) + setattr( + cls, "trickle-ice-sdpfrag", PermissibleValue(text="trickle-ice-sdpfrag") + ) + setattr(cls, "ttml+xml", PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", PermissibleValue(text="urc-targetdesc+xml")) + setattr( + cls, "urc-uisocketdesc+xml", PermissibleValue(text="urc-uisocketdesc+xml") + ) + setattr(cls, "vcard+json", PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", PermissibleValue(text="vcard+xml")) + setattr( + cls, + "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml"), + ) + setattr(cls, "vnd.1ob", PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", PermissibleValue(text="vnd.3gpp.5gnas")) + setattr( + cls, + "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml"), + ) + setattr(cls, "vnd.3gpp.bsf+xml", PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr( + cls, + "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml"), + ) + setattr(cls, "vnd.3gpp.GMOP+xml", PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", PermissibleValue(text="vnd.3gpp.gtpc")) + setattr( + cls, + "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data"), + ) + setattr(cls, "vnd.3gpp.lpp", PermissibleValue(text="vnd.3gpp.lpp")) + setattr( + cls, + "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue( + text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" + ), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml"), + ) + setattr( + cls, "vnd.3gpp.mid-call+xml", PermissibleValue(text="vnd.3gpp.mid-call+xml") + ) + setattr(cls, "vnd.3gpp.ngap", PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", PermissibleValue(text="vnd.3gpp.pfcp")) + setattr( + cls, "vnd.3gpp.pic-bw-large", PermissibleValue(text="vnd.3gpp.pic-bw-large") + ) + setattr( + cls, "vnd.3gpp.pic-bw-small", PermissibleValue(text="vnd.3gpp.pic-bw-small") + ) + setattr( + cls, "vnd.3gpp.pic-bw-var", PermissibleValue(text="vnd.3gpp.pic-bw-var") + ) + setattr( + cls, + "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml"), + ) + setattr(cls, "vnd.3gpp-prose+xml", PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", PermissibleValue(text="vnd.3gpp.s1ap")) + setattr( + cls, + "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml"), + ) + setattr(cls, "vnd.3gpp.sms", PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr( + cls, + "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml"), + ) + setattr( + cls, + "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml"), + ) + setattr(cls, "vnd.3gpp.ussd+xml", PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr( + cls, "vnd.3gpp.vae-info+xml", PermissibleValue(text="vnd.3gpp.vae-info+xml") + ) + setattr( + cls, + "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information"), + ) + setattr( + cls, + "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml"), + ) + setattr(cls, "vnd.3gpp2.sms", PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", PermissibleValue(text="vnd.3gpp.v2x")) + setattr( + cls, + "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal"), + ) + setattr( + cls, "vnd.3M.Post-it-Notes", PermissibleValue(text="vnd.3M.Post-it-Notes") + ) + setattr( + cls, "vnd.accpac.simply.aso", PermissibleValue(text="vnd.accpac.simply.aso") + ) + setattr( + cls, "vnd.accpac.simply.imp", PermissibleValue(text="vnd.accpac.simply.imp") + ) + setattr( + cls, + "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json"), + ) + setattr( + cls, "vnd.acm.chatbot+json", PermissibleValue(text="vnd.acm.chatbot+json") + ) + setattr(cls, "vnd.acucobol", PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", PermissibleValue(text="vnd.acucorp")) + setattr( + cls, "vnd.adobe.flash.movie", PermissibleValue(text="vnd.adobe.flash.movie") + ) + setattr( + cls, + "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt"), + ) + setattr(cls, "vnd.adobe.fxp", PermissibleValue(text="vnd.adobe.fxp")) + setattr( + cls, + "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload"), + ) + setattr(cls, "vnd.adobe.xdp+xml", PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", PermissibleValue(text="vnd.aether.imp")) + setattr( + cls, "vnd.afpc.afplinedata", PermissibleValue(text="vnd.afpc.afplinedata") + ) + setattr( + cls, + "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef"), + ) + setattr( + cls, + "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource"), + ) + setattr( + cls, "vnd.afpc.foca-charset", PermissibleValue(text="vnd.afpc.foca-charset") + ) + setattr( + cls, + "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont"), + ) + setattr( + cls, + "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage"), + ) + setattr(cls, "vnd.afpc.modca", PermissibleValue(text="vnd.afpc.modca")) + setattr( + cls, + "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable"), + ) + setattr( + cls, + "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef"), + ) + setattr( + cls, + "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap"), + ) + setattr( + cls, + "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer"), + ) + setattr( + cls, + "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay"), + ) + setattr( + cls, + "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment"), + ) + setattr(cls, "vnd.age", PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", PermissibleValue(text="vnd.ahead.space")) + setattr( + cls, + "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf"), + ) + setattr( + cls, + "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs"), + ) + setattr(cls, "vnd.amadeus+json", PermissibleValue(text="vnd.amadeus+json")) + setattr( + cls, + "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook"), + ) + setattr( + cls, + "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc"), + ) + setattr(cls, "vnd.amiga.ami", PermissibleValue(text="vnd.amiga.ami")) + setattr( + cls, "vnd.amundsen.maze+xml", PermissibleValue(text="vnd.amundsen.maze+xml") + ) + setattr(cls, "vnd.android.ota", PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", PermissibleValue(text="vnd.anki")) + setattr( + cls, + "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation"), + ) + setattr( + cls, + "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component"), + ) + setattr( + cls, "vnd.apache.arrow.file", PermissibleValue(text="vnd.apache.arrow.file") + ) + setattr( + cls, + "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream"), + ) + setattr( + cls, + "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary"), + ) + setattr( + cls, + "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact"), + ) + setattr( + cls, + "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json"), + ) + setattr(cls, "vnd.apexlang", PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", PermissibleValue(text="vnd.api+json")) + setattr( + cls, + "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json"), + ) + setattr( + cls, + "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json"), + ) + setattr( + cls, + "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml"), + ) + setattr(cls, "vnd.apple.keynote", PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", PermissibleValue(text="vnd.apple.pages")) + setattr( + cls, + "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue( + text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" + ), + ) + setattr( + cls, + "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi"), + ) + setattr(cls, "vnd.artisan+json", PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", PermissibleValue(text="vnd.artsquare")) + setattr( + cls, + "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota"), + ) + setattr(cls, "vnd.audiograph", PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", PermissibleValue(text="vnd.avistar+xml")) + setattr( + cls, "vnd.balsamiq.bmml+xml", PermissibleValue(text="vnd.balsamiq.bmml+xml") + ) + setattr( + cls, "vnd.banana-accounting", PermissibleValue(text="vnd.banana-accounting") + ) + setattr(cls, "vnd.bbf.usp.error", PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", PermissibleValue(text="vnd.bbf.usp.msg")) + setattr( + cls, "vnd.bbf.usp.msg+json", PermissibleValue(text="vnd.bbf.usp.msg+json") + ) + setattr(cls, "vnd.balsamiq.bmpr", PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr( + cls, + "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json"), + ) + setattr( + cls, + "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip"), + ) + setattr( + cls, + "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip"), + ) + setattr( + cls, "vnd.bint.med-content", PermissibleValue(text="vnd.bint.med-content") + ) + setattr(cls, "vnd.biopax.rdf+xml", PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr( + cls, + "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper"), + ) + setattr( + cls, "vnd.blueice.multipass", PermissibleValue(text="vnd.blueice.multipass") + ) + setattr( + cls, "vnd.bluetooth.ep.oob", PermissibleValue(text="vnd.bluetooth.ep.oob") + ) + setattr( + cls, "vnd.bluetooth.le.oob", PermissibleValue(text="vnd.bluetooth.le.oob") + ) + setattr(cls, "vnd.bmi", PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", PermissibleValue(text="vnd.bpf3")) + setattr( + cls, "vnd.businessobjects", PermissibleValue(text="vnd.businessobjects") + ) + setattr(cls, "vnd.byu.uapi+json", PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", PermissibleValue(text="vnd.canon-lips")) + setattr( + cls, + "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json"), + ) + setattr( + cls, + "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf"), + ) + setattr( + cls, + "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream"), + ) + setattr(cls, "vnd.chemdraw+xml", PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", PermissibleValue(text="vnd.chess-pgn")) + setattr( + cls, + "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd"), + ) + setattr(cls, "vnd.ciedi", PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", PermissibleValue(text="vnd.cinderella")) + setattr( + cls, "vnd.cirpack.isdn-ext", PermissibleValue(text="vnd.cirpack.isdn-ext") + ) + setattr( + cls, + "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml"), + ) + setattr(cls, "vnd.claymore", PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", PermissibleValue(text="vnd.clonk.c4group")) + setattr( + cls, + "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config"), + ) + setattr( + cls, + "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov"), + ) + setattr( + cls, + "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json"), + ) + setattr(cls, "vnd.coffeescript", PermissibleValue(text="vnd.coffeescript")) + setattr( + cls, + "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template"), + ) + setattr( + cls, + "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json"), + ) + setattr( + cls, "vnd.collection+json", PermissibleValue(text="vnd.collection+json") + ) + setattr( + cls, + "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json"), + ) + setattr(cls, "vnd.comicbook-rar", PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", PermissibleValue(text="vnd.comicbook+zip")) + setattr( + cls, "vnd.commerce-battelle", PermissibleValue(text="vnd.commerce-battelle") + ) + setattr(cls, "vnd.commonspace", PermissibleValue(text="vnd.commonspace")) + setattr( + cls, + "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json"), + ) + setattr(cls, "vnd.cosmocaller", PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", PermissibleValue(text="vnd.crick.clicker")) + setattr( + cls, + "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard"), + ) + setattr( + cls, + "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette"), + ) + setattr( + cls, + "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template"), + ) + setattr( + cls, + "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank"), + ) + setattr( + cls, + "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml"), + ) + setattr( + cls, "vnd.cryptii.pipe+json", PermissibleValue(text="vnd.cryptii.pipe+json") + ) + setattr( + cls, "vnd.crypto-shade-file", PermissibleValue(text="vnd.crypto-shade-file") + ) + setattr( + cls, + "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted"), + ) + setattr( + cls, "vnd.cryptomator.vault", PermissibleValue(text="vnd.cryptomator.vault") + ) + setattr(cls, "vnd.ctc-posml", PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", PermissibleValue(text="vnd.cups-pdf")) + setattr( + cls, "vnd.cups-postscript", PermissibleValue(text="vnd.cups-postscript") + ) + setattr(cls, "vnd.cups-ppd", PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", PermissibleValue(text="vnd.cups-raw")) + setattr( + cls, + "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml"), + ) + setattr(cls, "vnd.cybank", PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", PermissibleValue(text="vnd.cyclonedx+xml")) + setattr( + cls, + "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip"), + ) + setattr(cls, "vnd.d3m-dataset", PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", PermissibleValue(text="vnd.dart")) + setattr( + cls, "vnd.data-vision.rdz", PermissibleValue(text="vnd.data-vision.rdz") + ) + setattr(cls, "vnd.datalog", PermissibleValue(text="vnd.datalog")) + setattr( + cls, "vnd.datapackage+json", PermissibleValue(text="vnd.datapackage+json") + ) + setattr( + cls, "vnd.dataresource+json", PermissibleValue(text="vnd.dataresource+json") + ) + setattr(cls, "vnd.dbf", PermissibleValue(text="vnd.dbf")) + setattr( + cls, + "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package"), + ) + setattr(cls, "vnd.dece.data", PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", PermissibleValue(text="vnd.dece.ttml+xml")) + setattr( + cls, "vnd.dece.unspecified", PermissibleValue(text="vnd.dece.unspecified") + ) + setattr(cls, "vnd.dece.zip", PermissibleValue(text="vnd.dece.zip")) + setattr( + cls, + "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link"), + ) + setattr(cls, "vnd.desmume.movie", PermissibleValue(text="vnd.desmume.movie")) + setattr( + cls, + "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix"), + ) + setattr( + cls, "vnd.dm.delegation+xml", PermissibleValue(text="vnd.dm.delegation+xml") + ) + setattr(cls, "vnd.dna", PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", PermissibleValue(text="vnd.dolby.mobile.2")) + setattr( + cls, + "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document"), + ) + setattr(cls, "vnd.dpgraph", PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", PermissibleValue(text="vnd.dtg.local")) + setattr( + cls, "vnd.dtg.local.flash", PermissibleValue(text="vnd.dtg.local.flash") + ) + setattr(cls, "vnd.dtg.local.html", PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", PermissibleValue(text="vnd.dvb.dvbj")) + setattr( + cls, "vnd.dvb.esgcontainer", PermissibleValue(text="vnd.dvb.esgcontainer") + ) + setattr( + cls, + "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess"), + ) + setattr( + cls, "vnd.dvb.ipdcesgaccess", PermissibleValue(text="vnd.dvb.ipdcesgaccess") + ) + setattr( + cls, + "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2"), + ) + setattr(cls, "vnd.dvb.ipdcesgpdd", PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr( + cls, "vnd.dvb.ipdcroaming", PermissibleValue(text="vnd.dvb.ipdcroaming") + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base"), + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement"), + ) + setattr( + cls, + "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml"), + ) + setattr(cls, "vnd.dvb.pfr", PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", PermissibleValue(text="vnd.dzr")) + setattr( + cls, + "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload"), + ) + setattr(cls, "vnd.ecip.rlp", PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", PermissibleValue(text="vnd.ecdis-update")) + setattr( + cls, + "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json"), + ) + setattr(cls, "vnd.ecowin.chart", PermissibleValue(text="vnd.ecowin.chart")) + setattr( + cls, + "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest"), + ) + setattr( + cls, "vnd.ecowin.fileupdate", PermissibleValue(text="vnd.ecowin.fileupdate") + ) + setattr(cls, "vnd.ecowin.series", PermissibleValue(text="vnd.ecowin.series")) + setattr( + cls, + "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest"), + ) + setattr( + cls, + "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate"), + ) + setattr(cls, "vnd.efi.img", PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", PermissibleValue(text="vnd.eln+zip")) + setattr( + cls, + "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml"), + ) + setattr(cls, "vnd.enliven", PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", PermissibleValue(text="vnd.enphase.envoy")) + setattr( + cls, "vnd.eprints.data+xml", PermissibleValue(text="vnd.eprints.data+xml") + ) + setattr(cls, "vnd.epson.esf", PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", PermissibleValue(text="vnd.epson.msf")) + setattr( + cls, "vnd.epson.quickanime", PermissibleValue(text="vnd.epson.quickanime") + ) + setattr(cls, "vnd.epson.salt", PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", PermissibleValue(text="vnd.epson.ssf")) + setattr( + cls, + "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall"), + ) + setattr( + cls, "vnd.espass-espass+zip", PermissibleValue(text="vnd.espass-espass+zip") + ) + setattr(cls, "vnd.eszigno3+xml", PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr( + cls, "vnd.etsi.asic-s+zip", PermissibleValue(text="vnd.etsi.asic-s+zip") + ) + setattr( + cls, "vnd.etsi.asic-e+zip", PermissibleValue(text="vnd.etsi.asic-e+zip") + ) + setattr(cls, "vnd.etsi.cug+xml", PermissibleValue(text="vnd.etsi.cug+xml")) + setattr( + cls, + "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml"), + ) + setattr( + cls, "vnd.etsi.iptvsync+xml", PermissibleValue(text="vnd.etsi.iptvsync+xml") + ) + setattr( + cls, + "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml"), + ) + setattr(cls, "vnd.etsi.mcid+xml", PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", PermissibleValue(text="vnd.etsi.mheg5")) + setattr( + cls, + "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml"), + ) + setattr(cls, "vnd.etsi.pstn+xml", PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", PermissibleValue(text="vnd.etsi.sci+xml")) + setattr( + cls, "vnd.etsi.simservs+xml", PermissibleValue(text="vnd.etsi.simservs+xml") + ) + setattr( + cls, + "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token"), + ) + setattr(cls, "vnd.etsi.tsl+xml", PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", PermissibleValue(text="vnd.etsi.tsl.der")) + setattr( + cls, + "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json"), + ) + setattr(cls, "vnd.eudora.data", PermissibleValue(text="vnd.eudora.data")) + setattr( + cls, + "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile"), + ) + setattr( + cls, + "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings"), + ) + setattr( + cls, "vnd.evolv.ecig.theme", PermissibleValue(text="vnd.evolv.ecig.theme") + ) + setattr( + cls, + "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip"), + ) + setattr( + cls, "vnd.exstream-package", PermissibleValue(text="vnd.exstream-package") + ) + setattr(cls, "vnd.ezpix-album", PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", PermissibleValue(text="vnd.ezpix-package")) + setattr( + cls, "vnd.f-secure.mobile", PermissibleValue(text="vnd.f-secure.mobile") + ) + setattr( + cls, + "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image"), + ) + setattr( + cls, + "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip"), + ) + setattr(cls, "vnd.fdsn.mseed", PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", PermissibleValue(text="vnd.fints")) + setattr( + cls, + "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell"), + ) + setattr(cls, "vnd.FloGraphIt", PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", PermissibleValue(text="vnd.fluxtime.clip")) + setattr( + cls, + "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd"), + ) + setattr(cls, "vnd.framemaker", PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", PermissibleValue(text="vnd.freelog.comic")) + setattr( + cls, + "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)"), + ) + setattr( + cls, + "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)"), + ) + setattr(cls, "vnd.fsc.weblaunch", PermissibleValue(text="vnd.fsc.weblaunch")) + setattr( + cls, + "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container"), + ) + setattr( + cls, + "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml"), + ) + setattr(cls, "vnd.fujitsu.oasys", PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr( + cls, "vnd.fujitsu.oasysgp", PermissibleValue(text="vnd.fujitsu.oasysgp") + ) + setattr( + cls, "vnd.fujitsu.oasysprs", PermissibleValue(text="vnd.fujitsu.oasysprs") + ) + setattr(cls, "vnd.fujixerox.ART4", PermissibleValue(text="vnd.fujixerox.ART4")) + setattr( + cls, "vnd.fujixerox.ART-EX", PermissibleValue(text="vnd.fujixerox.ART-EX") + ) + setattr(cls, "vnd.fujixerox.ddd", PermissibleValue(text="vnd.fujixerox.ddd")) + setattr( + cls, + "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container"), + ) + setattr(cls, "vnd.fujixerox.HBPL", PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", PermissibleValue(text="vnd.fuzzysheet")) + setattr( + cls, "vnd.genomatix.tuxedo", PermissibleValue(text="vnd.genomatix.tuxedo") + ) + setattr(cls, "vnd.genozip", PermissibleValue(text="vnd.genozip")) + setattr( + cls, "vnd.gentics.grd+json", PermissibleValue(text="vnd.gentics.grd+json") + ) + setattr( + cls, + "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml"), + ) + setattr(cls, "vnd.gentoo.ebuild", PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", PermissibleValue(text="vnd.gentoo.gpkg")) + setattr( + cls, "vnd.gentoo.manifest", PermissibleValue(text="vnd.gentoo.manifest") + ) + setattr(cls, "vnd.gentoo.xpak", PermissibleValue(text="vnd.gentoo.xpak")) + setattr( + cls, + "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml"), + ) + setattr( + cls, + "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue( + text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" + ), + ) + setattr( + cls, + "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)"), + ) + setattr(cls, "vnd.geogebra.file", PermissibleValue(text="vnd.geogebra.file")) + setattr( + cls, "vnd.geogebra.slides", PermissibleValue(text="vnd.geogebra.slides") + ) + setattr(cls, "vnd.geogebra.tool", PermissibleValue(text="vnd.geogebra.tool")) + setattr( + cls, "vnd.geometry-explorer", PermissibleValue(text="vnd.geometry-explorer") + ) + setattr(cls, "vnd.geonext", PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", PermissibleValue(text="vnd.gerber")) + setattr( + cls, + "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt"), + ) + setattr( + cls, + "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response"), + ) + setattr( + cls, "vnd.gmx - DEPRECATED", PermissibleValue(text="vnd.gmx - DEPRECATED") + ) + setattr( + cls, + "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json"), + ) + setattr( + cls, + "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json"), + ) + setattr( + cls, + "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml"), + ) + setattr( + cls, "vnd.google-earth.kmz", PermissibleValue(text="vnd.google-earth.kmz") + ) + setattr( + cls, "vnd.gov.sk.e-form+xml", PermissibleValue(text="vnd.gov.sk.e-form+xml") + ) + setattr( + cls, "vnd.gov.sk.e-form+zip", PermissibleValue(text="vnd.gov.sk.e-form+zip") + ) + setattr( + cls, + "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml"), + ) + setattr(cls, "vnd.gpxsee.map+xml", PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", PermissibleValue(text="vnd.groove-help")) + setattr( + cls, + "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message"), + ) + setattr( + cls, "vnd.groove-injector", PermissibleValue(text="vnd.groove-injector") + ) + setattr( + cls, + "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message"), + ) + setattr( + cls, + "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template"), + ) + setattr(cls, "vnd.groove-vcard", PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", PermissibleValue(text="vnd.hal+xml")) + setattr( + cls, + "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml"), + ) + setattr(cls, "vnd.hbci", PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", PermissibleValue(text="vnd.heroku+json")) + setattr( + cls, "vnd.hhe.lesson-player", PermissibleValue(text="vnd.hhe.lesson-player") + ) + setattr(cls, "vnd.hp-HPGL", PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", PermissibleValue(text="vnd.httphone")) + setattr( + cls, + "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data"), + ) + setattr( + cls, "vnd.hyper-item+json", PermissibleValue(text="vnd.hyper-item+json") + ) + setattr(cls, "vnd.hyper+json", PermissibleValue(text="vnd.hyper+json")) + setattr( + cls, "vnd.hyperdrive+json", PermissibleValue(text="vnd.hyperdrive+json") + ) + setattr( + cls, "vnd.hzn-3d-crossword", PermissibleValue(text="vnd.hzn-3d-crossword") + ) + setattr( + cls, + "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue( + text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" + ), + ) + setattr( + cls, + "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media"), + ) + setattr(cls, "vnd.ibm.MiniPay", PermissibleValue(text="vnd.ibm.MiniPay")) + setattr( + cls, + "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue( + text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" + ), + ) + setattr( + cls, + "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management"), + ) + setattr( + cls, + "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container"), + ) + setattr(cls, "vnd.iccprofile", PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", PermissibleValue(text="vnd.igloader")) + setattr( + cls, + "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip"), + ) + setattr( + cls, + "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip"), + ) + setattr( + cls, "vnd.immervision-ivp", PermissibleValue(text="vnd.immervision-ivp") + ) + setattr( + cls, "vnd.immervision-ivu", PermissibleValue(text="vnd.immervision-ivu") + ) + setattr(cls, "vnd.ims.imsccv1p1", PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr( + cls, + "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json"), + ) + setattr( + cls, + "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml"), + ) + setattr( + cls, "vnd.infotech.project", PermissibleValue(text="vnd.infotech.project") + ) + setattr( + cls, + "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml"), + ) + setattr( + cls, + "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue( + text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" + ), + ) + setattr( + cls, + "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification"), + ) + setattr(cls, "vnd.insors.igm", PermissibleValue(text="vnd.insors.igm")) + setattr( + cls, "vnd.intercon.formnet", PermissibleValue(text="vnd.intercon.formnet") + ) + setattr(cls, "vnd.intergeo", PermissibleValue(text="vnd.intergeo")) + setattr( + cls, + "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox"), + ) + setattr( + cls, "vnd.intertrust.nncp", PermissibleValue(text="vnd.intertrust.nncp") + ) + setattr(cls, "vnd.intu.qbo", PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", PermissibleValue(text="vnd.intu.qfx")) + setattr( + cls, "vnd.ipfs.ipns-record", PermissibleValue(text="vnd.ipfs.ipns-record") + ) + setattr(cls, "vnd.ipld.car", PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", PermissibleValue(text="vnd.ipld.raw")) + setattr( + cls, + "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml"), + ) + setattr( + cls, + "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile"), + ) + setattr( + cls, + "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml"), + ) + setattr(cls, "vnd.is-xpr", PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", PermissibleValue(text="vnd.jam")) + setattr( + cls, "vnd.iso11783-10+zip", PermissibleValue(text="vnd.iso11783-10+zip") + ) + setattr( + cls, + "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service"), + ) + setattr( + cls, + "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup"), + ) + setattr( + cls, + "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration"), + ) + setattr( + cls, + "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup"), + ) + setattr( + cls, + "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification"), + ) + setattr( + cls, + "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup"), + ) + setattr( + cls, + "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms"), + ) + setattr(cls, "vnd.jisp", PermissibleValue(text="vnd.jisp")) + setattr( + cls, + "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive"), + ) + setattr(cls, "vnd.jsk.isdn-ngn", PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", PermissibleValue(text="vnd.koan")) + setattr( + cls, "vnd.kodak-descriptor", PermissibleValue(text="vnd.kodak-descriptor") + ) + setattr(cls, "vnd.las", PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", PermissibleValue(text="vnd.leap+json")) + setattr( + cls, + "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml"), + ) + setattr( + cls, + "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip"), + ) + setattr(cls, "vnd.loom", PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", PermissibleValue(text="vnd.lotus-approach")) + setattr( + cls, "vnd.lotus-freelance", PermissibleValue(text="vnd.lotus-freelance") + ) + setattr(cls, "vnd.lotus-notes", PermissibleValue(text="vnd.lotus-notes")) + setattr( + cls, "vnd.lotus-organizer", PermissibleValue(text="vnd.lotus-organizer") + ) + setattr( + cls, "vnd.lotus-screencam", PermissibleValue(text="vnd.lotus-screencam") + ) + setattr(cls, "vnd.lotus-wordpro", PermissibleValue(text="vnd.lotus-wordpro")) + setattr( + cls, "vnd.macports.portpkg", PermissibleValue(text="vnd.macports.portpkg") + ) + setattr( + cls, + "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile"), + ) + setattr( + cls, + "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml"), + ) + setattr( + cls, "vnd.marlin.drm.mdcf", PermissibleValue(text="vnd.marlin.drm.mdcf") + ) + setattr(cls, "vnd.mason+json", PermissibleValue(text="vnd.mason+json")) + setattr( + cls, + "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip"), + ) + setattr( + cls, + "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db"), + ) + setattr(cls, "vnd.mcd", PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", PermissibleValue(text="vnd.medcalcdata")) + setattr( + cls, + "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey"), + ) + setattr( + cls, + "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr"), + ) + setattr( + cls, + "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot"), + ) + setattr(cls, "vnd.mermaid", PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", PermissibleValue(text="vnd.micrografx.igx")) + setattr( + cls, + "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable"), + ) + setattr( + cls, + "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache"), + ) + setattr(cls, "vnd.miele+json", PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", PermissibleValue(text="vnd.mif")) + setattr( + cls, + "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save"), + ) + setattr( + cls, + "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb"), + ) + setattr(cls, "vnd.Mobius.DAF", PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", PermissibleValue(text="vnd.modl")) + setattr( + cls, + "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application"), + ) + setattr( + cls, + "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate"), + ) + setattr( + cls, + "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem"), + ) + setattr(cls, "vnd.motorola.iprm", PermissibleValue(text="vnd.motorola.iprm")) + setattr( + cls, "vnd.mozilla.xul+xml", PermissibleValue(text="vnd.mozilla.xul+xml") + ) + setattr(cls, "vnd.ms-artgalry", PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", PermissibleValue(text="vnd.ms-asf")) + setattr( + cls, "vnd.ms-cab-compressed", PermissibleValue(text="vnd.ms-cab-compressed") + ) + setattr(cls, "vnd.ms-3mfdocument", PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", PermissibleValue(text="vnd.ms-excel")) + setattr( + cls, + "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-fontobject", PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", PermissibleValue(text="vnd.ms-lrm")) + setattr( + cls, + "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml"), + ) + setattr(cls, "vnd.ms-officetheme", PermissibleValue(text="vnd.ms-officetheme")) + setattr( + cls, + "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml"), + ) + setattr(cls, "vnd.ms-powerpoint", PermissibleValue(text="vnd.ms-powerpoint")) + setattr( + cls, + "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml"), + ) + setattr( + cls, + "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml"), + ) + setattr(cls, "vnd.ms-project", PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", PermissibleValue(text="vnd.ms-tnef")) + setattr( + cls, + "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing"), + ) + setattr( + cls, + "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob"), + ) + setattr( + cls, + "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing"), + ) + setattr( + cls, + "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob"), + ) + setattr( + cls, + "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req"), + ) + setattr( + cls, "vnd.ms-wmdrm.lic-resp", PermissibleValue(text="vnd.ms-wmdrm.lic-resp") + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req"), + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp"), + ) + setattr( + cls, + "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-works", PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", PermissibleValue(text="vnd.msign")) + setattr( + cls, "vnd.multiad.creator", PermissibleValue(text="vnd.multiad.creator") + ) + setattr( + cls, + "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif"), + ) + setattr(cls, "vnd.musician", PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", PermissibleValue(text="vnd.mynfc")) + setattr( + cls, + "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json"), + ) + setattr(cls, "vnd.ncd.control", PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", PermissibleValue(text="vnd.ncd.reference")) + setattr( + cls, "vnd.nearst.inv+json", PermissibleValue(text="vnd.nearst.inv+json") + ) + setattr(cls, "vnd.nebumind.line", PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", PermissibleValue(text="vnd.netfpx")) + setattr( + cls, "vnd.neurolanguage.nlu", PermissibleValue(text="vnd.neurolanguage.nlu") + ) + setattr(cls, "vnd.nimn", PermissibleValue(text="vnd.nimn")) + setattr( + cls, "vnd.nintendo.snes.rom", PermissibleValue(text="vnd.nintendo.snes.rom") + ) + setattr( + cls, + "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom"), + ) + setattr(cls, "vnd.nitf", PermissibleValue(text="vnd.nitf")) + setattr( + cls, + "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory"), + ) + setattr( + cls, "vnd.noblenet-sealer", PermissibleValue(text="vnd.noblenet-sealer") + ) + setattr(cls, "vnd.noblenet-web", PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", PermissibleValue(text="vnd.nokia.catalogs")) + setattr( + cls, "vnd.nokia.conml+wbxml", PermissibleValue(text="vnd.nokia.conml+wbxml") + ) + setattr( + cls, "vnd.nokia.conml+xml", PermissibleValue(text="vnd.nokia.conml+xml") + ) + setattr( + cls, + "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml"), + ) + setattr( + cls, + "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets"), + ) + setattr( + cls, + "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml"), + ) + setattr( + cls, + "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml"), + ) + setattr( + cls, + "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml"), + ) + setattr(cls, "vnd.nokia.ncd", PermissibleValue(text="vnd.nokia.ncd")) + setattr( + cls, + "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml"), + ) + setattr( + cls, "vnd.nokia.n-gage.data", PermissibleValue(text="vnd.nokia.n-gage.data") + ) + setattr( + cls, + "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE"), + ) + setattr( + cls, "vnd.nokia.pcd+wbxml", PermissibleValue(text="vnd.nokia.pcd+wbxml") + ) + setattr(cls, "vnd.nokia.pcd+xml", PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr( + cls, + "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset"), + ) + setattr( + cls, + "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets"), + ) + setattr(cls, "vnd.novadigm.EDM", PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", PermissibleValue(text="vnd.novadigm.EXT")) + setattr( + cls, + "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share"), + ) + setattr( + cls, + "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer"), + ) + setattr( + cls, + "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream"), + ) + setattr( + cls, + "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue( + text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" + ), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula"), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web"), + ) + setattr(cls, "vnd.obn", PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", PermissibleValue(text="vnd.ocf+cbor")) + setattr( + cls, + "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json"), + ) + setattr(cls, "vnd.oftn.l10n+json", PermissibleValue(text="vnd.oftn.l10n+json")) + setattr( + cls, + "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml"), + ) + setattr( + cls, + "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml"), + ) + setattr( + cls, + "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary"), + ) + setattr( + cls, "vnd.oipf.dae.svg+xml", PermissibleValue(text="vnd.oipf.dae.svg+xml") + ) + setattr( + cls, + "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml"), + ) + setattr( + cls, + "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml"), + ) + setattr(cls, "vnd.oipf.pae.gem", PermissibleValue(text="vnd.oipf.pae.gem")) + setattr( + cls, + "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml"), + ) + setattr( + cls, "vnd.oipf.spdlist+xml", PermissibleValue(text="vnd.oipf.spdlist+xml") + ) + setattr( + cls, + "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml"), + ) + setattr( + cls, + "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml"), + ) + setattr(cls, "vnd.olpc-sugar", PermissibleValue(text="vnd.olpc-sugar")) + setattr( + cls, + "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml"), + ) + setattr( + cls, "vnd.oma.bcast.imd+xml", PermissibleValue(text="vnd.oma.bcast.imd+xml") + ) + setattr(cls, "vnd.oma.bcast.ltkm", PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr( + cls, + "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger"), + ) + setattr( + cls, "vnd.oma.bcast.sgboot", PermissibleValue(text="vnd.oma.bcast.sgboot") + ) + setattr( + cls, + "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml"), + ) + setattr(cls, "vnd.oma.bcast.sgdu", PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr( + cls, + "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container"), + ) + setattr( + cls, + "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml"), + ) + setattr(cls, "vnd.oma.bcast.stkm", PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr( + cls, + "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml"), + ) + setattr( + cls, + "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml"), + ) + setattr( + cls, "vnd.oma.cab-pcc+xml", PermissibleValue(text="vnd.oma.cab-pcc+xml") + ) + setattr( + cls, + "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml"), + ) + setattr( + cls, + "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml"), + ) + setattr(cls, "vnd.oma.dcd", PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", PermissibleValue(text="vnd.oma.dd2+xml")) + setattr( + cls, "vnd.oma.drm.risd+xml", PermissibleValue(text="vnd.oma.drm.risd+xml") + ) + setattr( + cls, + "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml"), + ) + setattr(cls, "vnd.oma.lwm2m+cbor", PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", PermissibleValue(text="vnd.oma.pal+xml")) + setattr( + cls, + "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml"), + ) + setattr( + cls, + "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml"), + ) + setattr( + cls, + "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml"), + ) + setattr(cls, "vnd.oma.push", PermissibleValue(text="vnd.oma.push")) + setattr( + cls, + "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml"), + ) + setattr( + cls, + "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml"), + ) + setattr( + cls, "vnd.omads-email+xml", PermissibleValue(text="vnd.omads-email+xml") + ) + setattr(cls, "vnd.omads-file+xml", PermissibleValue(text="vnd.omads-file+xml")) + setattr( + cls, "vnd.omads-folder+xml", PermissibleValue(text="vnd.omads-folder+xml") + ) + setattr( + cls, "vnd.omaloc-supl-init", PermissibleValue(text="vnd.omaloc-supl-init") + ) + setattr( + cls, "vnd.oma-scws-config", PermissibleValue(text="vnd.oma-scws-config") + ) + setattr( + cls, + "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request"), + ) + setattr( + cls, + "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response"), + ) + setattr(cls, "vnd.onepager", PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", PermissibleValue(text="vnd.onvif.metadata")) + setattr( + cls, + "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary"), + ) + setattr( + cls, "vnd.openblox.game+xml", PermissibleValue(text="vnd.openblox.game+xml") + ) + setattr(cls, "vnd.openeye.oeb", PermissibleValue(text="vnd.openeye.oeb")) + setattr( + cls, + "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml"), + ) + setattr( + cls, + "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.custom-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.customXmlProperties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chart+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.extended-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tags+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.themeOverride+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue( + text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml"), + ) + setattr( + cls, + "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json"), + ) + setattr(cls, "vnd.orange.indata", PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", PermissibleValue(text="vnd.osa.netdeploy")) + setattr( + cls, + "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package"), + ) + setattr(cls, "vnd.osgi.bundle", PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", PermissibleValue(text="vnd.osgi.subsystem")) + setattr( + cls, "vnd.otps.ct-kip+xml", PermissibleValue(text="vnd.otps.ct-kip+xml") + ) + setattr( + cls, "vnd.oxli.countgraph", PermissibleValue(text="vnd.oxli.countgraph") + ) + setattr(cls, "vnd.pagerduty+json", PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", PermissibleValue(text="vnd.patentdive")) + setattr( + cls, "vnd.patientecommsdoc", PermissibleValue(text="vnd.patientecommsdoc") + ) + setattr(cls, "vnd.pawaafile", PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", PermissibleValue(text="vnd.pg.osasli")) + setattr( + cls, + "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence"), + ) + setattr(cls, "vnd.picsel", PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", PermissibleValue(text="vnd.pmi.widget")) + setattr( + cls, + "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml"), + ) + setattr(cls, "vnd.pocketlearn", PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", PermissibleValue(text="vnd.powerbuilder6")) + setattr( + cls, "vnd.powerbuilder6-s", PermissibleValue(text="vnd.powerbuilder6-s") + ) + setattr(cls, "vnd.powerbuilder7", PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", PermissibleValue(text="vnd.powerbuilder75")) + setattr( + cls, "vnd.powerbuilder75-s", PermissibleValue(text="vnd.powerbuilder75-s") + ) + setattr( + cls, "vnd.powerbuilder7-s", PermissibleValue(text="vnd.powerbuilder7-s") + ) + setattr(cls, "vnd.preminet", PermissibleValue(text="vnd.preminet")) + setattr( + cls, + "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box"), + ) + setattr( + cls, "vnd.proteus.magazine", PermissibleValue(text="vnd.proteus.magazine") + ) + setattr(cls, "vnd.psfs", PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", PermissibleValue(text="vnd.pt.mundusmundi")) + setattr( + cls, + "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree"), + ) + setattr(cls, "vnd.pvi.ptid1", PermissibleValue(text="vnd.pvi.ptid1")) + setattr( + cls, "vnd.pwg-multiplexed", PermissibleValue(text="vnd.pwg-multiplexed") + ) + setattr( + cls, + "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml"), + ) + setattr( + cls, + "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res"), + ) + setattr(cls, "vnd.quarantainenet", PermissibleValue(text="vnd.quarantainenet")) + setattr( + cls, "vnd.Quark.QuarkXPress", PermissibleValue(text="vnd.Quark.QuarkXPress") + ) + setattr( + cls, + "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument"), + ) + setattr( + cls, "vnd.radisys.moml+xml", PermissibleValue(text="vnd.radisys.moml+xml") + ) + setattr( + cls, + "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml"), + ) + setattr( + cls, "vnd.radisys.msml+xml", PermissibleValue(text="vnd.radisys.msml+xml") + ) + setattr(cls, "vnd.rainstor.data", PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", PermissibleValue(text="vnd.realvnc.bed")) + setattr( + cls, + "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml"), + ) + setattr( + cls, + "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml"), + ) + setattr(cls, "vnd.relpipe", PermissibleValue(text="vnd.relpipe")) + setattr( + cls, "vnd.RenLearn.rlprint", PermissibleValue(text="vnd.RenLearn.rlprint") + ) + setattr( + cls, "vnd.resilient.logic", PermissibleValue(text="vnd.resilient.logic") + ) + setattr(cls, "vnd.restful+json", PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", PermissibleValue(text="vnd.rig.cryptonote")) + setattr( + cls, + "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml"), + ) + setattr(cls, "vnd.rs-274x", PermissibleValue(text="vnd.rs-274x")) + setattr( + cls, "vnd.ruckus.download", PermissibleValue(text="vnd.ruckus.download") + ) + setattr(cls, "vnd.s3sms", PermissibleValue(text="vnd.s3sms")) + setattr( + cls, + "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track"), + ) + setattr(cls, "vnd.sar", PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", PermissibleValue(text="vnd.sealed.xls")) + setattr( + cls, + "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html"), + ) + setattr( + cls, + "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf"), + ) + setattr(cls, "vnd.seemail", PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", PermissibleValue(text="vnd.semf")) + setattr( + cls, "vnd.shade-save-file", PermissibleValue(text="vnd.shade-save-file") + ) + setattr( + cls, + "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata"), + ) + setattr( + cls, + "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate"), + ) + setattr( + cls, + "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange"), + ) + setattr( + cls, + "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package"), + ) + setattr( + cls, "vnd.shootproof+json", PermissibleValue(text="vnd.shootproof+json") + ) + setattr(cls, "vnd.shopkick+json", PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", PermissibleValue(text="vnd.sigrok.session")) + setattr( + cls, + "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper"), + ) + setattr(cls, "vnd.siren+json", PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", PermissibleValue(text="vnd.smart.teacher")) + setattr( + cls, + "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive"), + ) + setattr( + cls, + "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table"), + ) + setattr( + cls, + "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml"), + ) + setattr( + cls, + "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip"), + ) + setattr( + cls, "vnd.solent.sdkm+xml", PermissibleValue(text="vnd.solent.sdkm+xml") + ) + setattr(cls, "vnd.spotfire.dxp", PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", PermissibleValue(text="vnd.sss-ntf")) + setattr( + cls, "vnd.stepmania.package", PermissibleValue(text="vnd.stepmania.package") + ) + setattr( + cls, + "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart"), + ) + setattr(cls, "vnd.street-stream", PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", PermissibleValue(text="vnd.syft+json")) + setattr( + cls, + "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification"), + ) + setattr( + cls, "vnd.syncml.dmddf+xml", PermissibleValue(text="vnd.syncml.dmddf+xml") + ) + setattr( + cls, + "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml"), + ) + setattr( + cls, "vnd.syncml.dmtnds+xml", PermissibleValue(text="vnd.syncml.dmtnds+xml") + ) + setattr( + cls, + "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml"), + ) + setattr( + cls, "vnd.syncml.dm+wbxml", PermissibleValue(text="vnd.syncml.dm+wbxml") + ) + setattr(cls, "vnd.syncml.dm+xml", PermissibleValue(text="vnd.syncml.dm+xml")) + setattr( + cls, + "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification"), + ) + setattr(cls, "vnd.syncml+xml", PermissibleValue(text="vnd.syncml+xml")) + setattr( + cls, "vnd.tableschema+json", PermissibleValue(text="vnd.tableschema+json") + ) + setattr( + cls, + "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive"), + ) + setattr(cls, "vnd.tcpdump.pcap", PermissibleValue(text="vnd.tcpdump.pcap")) + setattr( + cls, + "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json"), + ) + setattr(cls, "vnd.tml", PermissibleValue(text="vnd.tml")) + setattr( + cls, + "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml"), + ) + setattr(cls, "vnd.tmobile-livetv", PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", PermissibleValue(text="vnd.truedoc")) + setattr( + cls, "vnd.ubisoft.webplayer", PermissibleValue(text="vnd.ubisoft.webplayer") + ) + setattr(cls, "vnd.ufdl", PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", PermissibleValue(text="vnd.uplanet.alert")) + setattr( + cls, + "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml"), + ) + setattr( + cls, "vnd.uplanet.cacheop", PermissibleValue(text="vnd.uplanet.cacheop") + ) + setattr( + cls, + "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml"), + ) + setattr( + cls, "vnd.uplanet.channel", PermissibleValue(text="vnd.uplanet.channel") + ) + setattr( + cls, + "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml"), + ) + setattr(cls, "vnd.uplanet.list", PermissibleValue(text="vnd.uplanet.list")) + setattr( + cls, "vnd.uplanet.listcmd", PermissibleValue(text="vnd.uplanet.listcmd") + ) + setattr( + cls, + "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml"), + ) + setattr(cls, "vnd.uri-map", PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", PermissibleValue(text="vnd.uplanet.signal")) + setattr( + cls, + "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material"), + ) + setattr(cls, "vnd.vcx", PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", PermissibleValue(text="vnd.vel+json")) + setattr( + cls, "vnd.verimatrix.vcas", PermissibleValue(text="vnd.verimatrix.vcas") + ) + setattr( + cls, + "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json"), + ) + setattr(cls, "vnd.veryant.thin", PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", PermissibleValue(text="vnd.ves.encrypted")) + setattr( + cls, + "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference"), + ) + setattr(cls, "vnd.visio", PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", PermissibleValue(text="vnd.visionary")) + setattr( + cls, + "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile"), + ) + setattr(cls, "vnd.vsf", PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", PermissibleValue(text="vnd.wfa.wsc")) + setattr( + cls, + "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing"), + ) + setattr(cls, "vnd.wmc", PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", PermissibleValue(text="vnd.wmf.bootstrap")) + setattr( + cls, + "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica"), + ) + setattr( + cls, + "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package"), + ) + setattr(cls, "vnd.wolfram.player", PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", PermissibleValue(text="vnd.wqd")) + setattr( + cls, + "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled"), + ) + setattr(cls, "vnd.wt.stf", PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr( + cls, "vnd.yamaha.hv-script", PermissibleValue(text="vnd.yamaha.hv-script") + ) + setattr( + cls, "vnd.yamaha.hv-voice", PermissibleValue(text="vnd.yamaha.hv-voice") + ) + setattr( + cls, + "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml"), + ) + setattr( + cls, + "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat"), + ) + setattr( + cls, + "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup"), + ) + setattr( + cls, "vnd.yamaha.smaf-audio", PermissibleValue(text="vnd.yamaha.smaf-audio") + ) + setattr( + cls, + "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase"), + ) + setattr( + cls, + "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn"), + ) + setattr( + cls, + "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap"), + ) + setattr(cls, "vnd.yaoweme", PermissibleValue(text="vnd.yaoweme")) + setattr( + cls, + "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu"), + ) + setattr( + cls, + "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue( + text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" + ), + ) + setattr(cls, "vnd.zul", PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", PermissibleValue(text="watcherinfo+xml")) + setattr( + cls, "webpush-options+json", PermissibleValue(text="webpush-options+json") + ) + setattr(cls, "whoispp-query", PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", PermissibleValue(text="x-pki-message")) + setattr( + cls, "x-www-form-urlencoded", PermissibleValue(text="x-www-form-urlencoded") + ) + setattr(cls, "x-x509-ca-cert", PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", PermissibleValue(text="x-x509-ca-ra-cert")) + setattr( + cls, "x-x509-next-ca-cert", PermissibleValue(text="x-x509-next-ca-cert") + ) + setattr(cls, "x400-bp", PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", PermissibleValue(text="xcap-ns+xml")) + setattr( + cls, + "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml"), + ) + setattr( + cls, + "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml"), + ) + setattr(cls, "xenc+xml", PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", PermissibleValue(text="yin+xml")) -class ProvisionTypes(EnumDefinitionImpl): +class ProvisionTypes(EnumDefinitionImpl): private = PermissibleValue( text="private", - description="A service, which is provided for one customer exclusively.") + description="A service, which is provided for one customer exclusively.", + ) public = PermissibleValue( text="public", - description="A service, which is used by several customers, simultaneously.") + description="A service, which is used by several customers, simultaneously.", + ) hybrid = PermissibleValue( text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""", + ) _defn = EnumDefinition( name="ProvisionTypes", ) -class TenantSeparation(EnumDefinitionImpl): - physical = PermissibleValue( - text="physical", - description="TBD") +class TenantSeparation(EnumDefinitionImpl): + physical = PermissibleValue(text="physical", description="TBD") _defn = EnumDefinition( name="TenantSeparation", @@ -8687,31 +9533,38 @@ class TenantSeparation(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) + setattr( + cls, + "hw-virtualized", + PermissibleValue(text="hw-virtualized", description="TBD"), + ) + setattr( + cls, + "sw-virtualized", + PermissibleValue(text="sw-virtualized", description="TBD"), + ) + setattr( + cls, + "os-virtualized", + PermissibleValue(text="os-virtualized", description="TBD"), + ) + setattr( + cls, + "os-hw-virtualized", + PermissibleValue(text="os-hw-virtualized", description="TBD"), + ) + setattr( + cls, + "hw-partitioned", + PermissibleValue(text="hw-partitioned", description="TBD"), + ) + class FirmType(EnumDefinitionImpl): """ Possible values for VM image's firmerequired hypervisor. """ + BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") other = PermissibleValue(text="other") @@ -8721,36 +9574,41 @@ class FirmType(EnumDefinitionImpl): description="Possible values for VM image's firmerequired hypervisor.", ) + class WatchDogActions(EnumDefinitionImpl): """ Possible values for VM image's watchdog actions. """ + disabled = PermissibleValue( text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") + description="No watchdog is enabled. No action will be performed if server hangs.", + ) reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") + text="reset", description="Restart of guest us forced if server hangs." + ) poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") + text="poweroff", description="Power of of guest is forced if server hangs." + ) pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") + text="pause", description="Pause of guest is forced, if server hangs." + ) none = PermissibleValue( text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") + description="Watchdog is enabled, but not action is defined and performed if server hangs.", + ) _defn = EnumDefinition( name="WatchDogActions", description="Possible values for VM image's watchdog actions.", ) -class RNGTypes(EnumDefinitionImpl): +class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random generator is based in electronic quantum effects.", + ) _defn = EnumDefinition( name="RNGTypes", @@ -8758,25 +9616,41 @@ class RNGTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Electrical noise", + setattr( + cls, + "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", + description="Hardware random generator is based on electronic noise.", + ), + ) + setattr( + cls, + "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", + description="Hardware random generator is based on chaos.", + ), + ) + setattr( + cls, + "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", + description="Hardware random generator is based in electronic free-running oscillators.", + ), + ) + setattr( + cls, + "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.", + ), + ) -class VMDiskType(EnumDefinitionImpl): +class VMDiskType(EnumDefinitionImpl): RAW = PermissibleValue(text="RAW") QCOW2 = PermissibleValue(text="QCOW2") VHD = PermissibleValue(text="VHD") @@ -8789,464 +9663,1407 @@ class VMDiskType(EnumDefinitionImpl): name="VMDiskType", ) + # Slots class slots: pass -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), - model_uri=GX.checkSum__checkSumValue, domain=None, range=str) - -slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), - model_uri=GX.signature__signatureValue, domain=None, range=str) - -slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), - model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) +slots.value = Slot( + uri=QUDT.value, + name="value", + curie=QUDT.curie("value"), + model_uri=GX.value, + domain=None, + range=float, +) + +slots.unit = Slot( + uri=QUDT.unit, + name="unit", + curie=QUDT.curie("unit"), + model_uri=GX.unit, + domain=None, + range=str, +) + +slots.address__countryCode = Slot( + uri=GX.countryCode, + name="address__countryCode", + curie=GX.curie("countryCode"), + model_uri=GX.address__countryCode, + domain=None, + range=str, +) + +slots.address__gps = Slot( + uri=GX.gps, + name="address__gps", + curie=GX.curie("gps"), + model_uri=GX.address__gps, + domain=None, + range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]], +) + +slots.address__streetAddress = Slot( + uri=VCARD["street-address"], + name="address__streetAddress", + curie=VCARD.curie("street-address"), + model_uri=GX.address__streetAddress, + domain=None, + range=Optional[str], +) + +slots.address__postalCode = Slot( + uri=VCARD["postal-code"], + name="address__postalCode", + curie=VCARD.curie("postal-code"), + model_uri=GX.address__postalCode, + domain=None, + range=Optional[str], +) + +slots.address__locality = Slot( + uri=VCARD.locality, + name="address__locality", + curie=VCARD.curie("locality"), + model_uri=GX.address__locality, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__latitude = Slot( + uri=GX.latitude, + name="gPSLocation__latitude", + curie=GX.curie("latitude"), + model_uri=GX.gPSLocation__latitude, + domain=None, + range=str, +) + +slots.gPSLocation__longitude = Slot( + uri=GX.longitude, + name="gPSLocation__longitude", + curie=GX.curie("longitude"), + model_uri=GX.gPSLocation__longitude, + domain=None, + range=str, +) + +slots.gPSLocation__altitude = Slot( + uri=GX.altitude, + name="gPSLocation__altitude", + curie=GX.curie("altitude"), + model_uri=GX.gPSLocation__altitude, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__crs = Slot( + uri=GX.crs, + name="gPSLocation__crs", + curie=GX.curie("crs"), + model_uri=GX.gPSLocation__crs, + domain=None, + range=Optional[str], + pattern=re.compile(r"^CRS"), +) + +slots.gPSUnit__degrees = Slot( + uri=GX.degrees, + name="gPSUnit__degrees", + curie=GX.curie("degrees"), + model_uri=GX.gPSUnit__degrees, + domain=None, + range=int, +) + +slots.gPSUnit__minutes = Slot( + uri=GX.minutes, + name="gPSUnit__minutes", + curie=GX.curie("minutes"), + model_uri=GX.gPSUnit__minutes, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__seconds = Slot( + uri=GX.seconds, + name="gPSUnit__seconds", + curie=GX.curie("seconds"), + model_uri=GX.gPSUnit__seconds, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__decimals = Slot( + uri=GX.decimals, + name="gPSUnit__decimals", + curie=GX.curie("decimals"), + model_uri=GX.gPSUnit__decimals, + domain=None, + range=Optional[float], +) + +slots.gaiaXEntity__name = Slot( + uri=GX.name, + name="gaiaXEntity__name", + curie=GX.curie("name"), + model_uri=GX.gaiaXEntity__name, + domain=None, + range=Optional[str], +) + +slots.gaiaXEntity__description = Slot( + uri=GX.description, + name="gaiaXEntity__description", + curie=GX.curie("description"), + model_uri=GX.gaiaXEntity__description, + domain=None, + range=Optional[str], +) + +slots.cPU__cpuArchitecture = Slot( + uri=GX.cpuArchitecture, + name="cPU__cpuArchitecture", + curie=GX.curie("cpuArchitecture"), + model_uri=GX.cPU__cpuArchitecture, + domain=None, + range=Optional[Union[str, "Architectures"]], +) + +slots.cPU__cpuFlag = Slot( + uri=GX.cpuFlag, + name="cPU__cpuFlag", + curie=GX.curie("cpuFlag"), + model_uri=GX.cPU__cpuFlag, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.cPU__smtEnabled = Slot( + uri=GX.smtEnabled, + name="cPU__smtEnabled", + curie=GX.curie("smtEnabled"), + model_uri=GX.cPU__smtEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.cPU__numberOfCores = Slot( + uri=GX.numberOfCores, + name="cPU__numberOfCores", + curie=GX.curie("numberOfCores"), + model_uri=GX.cPU__numberOfCores, + domain=None, + range=Optional[int], +) + +slots.cPU__numberOfThreads = Slot( + uri=GX.numberOfThreads, + name="cPU__numberOfThreads", + curie=GX.curie("numberOfThreads"), + model_uri=GX.cPU__numberOfThreads, + domain=None, + range=Optional[int], +) + +slots.cPU__baseFrequency = Slot( + uri=GX.baseFrequency, + name="cPU__baseFrequency", + curie=GX.curie("baseFrequency"), + model_uri=GX.cPU__baseFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__boostFrequency = Slot( + uri=GX.boostFrequency, + name="cPU__boostFrequency", + curie=GX.curie("boostFrequency"), + model_uri=GX.cPU__boostFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__lastLevelCacheSize = Slot( + uri=GX.lastLevelCacheSize, + name="cPU__lastLevelCacheSize", + curie=GX.curie("lastLevelCacheSize"), + model_uri=GX.cPU__lastLevelCacheSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.cPU__thermalDesignPower = Slot( + uri=GX.thermalDesignPower, + name="cPU__thermalDesignPower", + curie=GX.curie("thermalDesignPower"), + model_uri=GX.cPU__thermalDesignPower, + domain=None, + range=Optional[Union[dict, Power]], +) + +slots.encryption__cipher = Slot( + uri=GX.cipher, + name="encryption__cipher", + curie=GX.curie("cipher"), + model_uri=GX.encryption__cipher, + domain=None, + range=Union[str, "EncryptionAlgorithm"], +) + +slots.encryption__keyManagement = Slot( + uri=GX.keyManagement, + name="encryption__keyManagement", + curie=GX.curie("keyManagement"), + model_uri=GX.encryption__keyManagement, + domain=None, + range=Union[str, "KeyManagement"], +) + +slots.checkSum__checkSumCalculation = Slot( + uri=GX.checkSumCalculation, + name="checkSum__checkSumCalculation", + curie=GX.curie("checkSumCalculation"), + model_uri=GX.checkSum__checkSumCalculation, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.checkSum__checkSumValue = Slot( + uri=GX.checkSumValue, + name="checkSum__checkSumValue", + curie=GX.curie("checkSumValue"), + model_uri=GX.checkSum__checkSumValue, + domain=None, + range=str, +) + +slots.signature__signatureValue = Slot( + uri=GX.signatureValue, + name="signature__signatureValue", + curie=GX.curie("signatureValue"), + model_uri=GX.signature__signatureValue, + domain=None, + range=str, +) + +slots.signature__hashAlgorithm = Slot( + uri=GX.hashAlgorithm, + name="signature__hashAlgorithm", + curie=GX.curie("hashAlgorithm"), + model_uri=GX.signature__hashAlgorithm, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.signature__signatureAlgorithm = Slot( + uri=GX.signatureAlgorithm, + name="signature__signatureAlgorithm", + curie=GX.curie("signatureAlgorithm"), + model_uri=GX.signature__signatureAlgorithm, + domain=None, + range=Union[str, "SignatureAlgorithm"], +) + +slots.device__vendor = Slot( + uri=GX.vendor, + name="device__vendor", + curie=GX.curie("vendor"), + model_uri=GX.device__vendor, + domain=None, + range=Optional[str], +) + +slots.device__generation = Slot( + uri=GX.generation, + name="device__generation", + curie=GX.curie("generation"), + model_uri=GX.device__generation, + domain=None, + range=Optional[str], +) + +slots.device__defaultOversubscriptionRatio = Slot( + uri=GX.defaultOversubscriptionRatio, + name="device__defaultOversubscriptionRatio", + curie=GX.curie("defaultOversubscriptionRatio"), + model_uri=GX.device__defaultOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.device__supportedOversubscriptionRatio = Slot( + uri=GX.supportedOversubscriptionRatio, + name="device__supportedOversubscriptionRatio", + curie=GX.curie("supportedOversubscriptionRatio"), + model_uri=GX.device__supportedOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.disk__diskSize = Slot( + uri=GX.diskSize, + name="disk__diskSize", + curie=GX.curie("diskSize"), + model_uri=GX.disk__diskSize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.disk__diskType = Slot( + uri=GX.diskType, + name="disk__diskType", + curie=GX.curie("diskType"), + model_uri=GX.disk__diskType, + domain=None, + range=Optional[Union[str, "DiskTypes"]], +) + +slots.disk__diskBusType = Slot( + uri=GX.diskBusType, + name="disk__diskBusType", + curie=GX.curie("diskBusType"), + model_uri=GX.disk__diskBusType, + domain=None, + range=Optional[str], +) + +slots.endpoint__endpointURL = Slot( + uri=GX.endpointURL, + name="endpoint__endpointURL", + curie=GX.curie("endpointURL"), + model_uri=GX.endpoint__endpointURL, + domain=None, + range=Optional[Union[str, URI]], +) + +slots.endpoint__standardConformity = Slot( + uri=GX.standardConformity, + name="endpoint__standardConformity", + curie=GX.curie("standardConformity"), + model_uri=GX.endpoint__standardConformity, + domain=None, + range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]], +) + +slots.endpoint__formalDescription = Slot( + uri=GX.formalDescription, + name="endpoint__formalDescription", + curie=GX.curie("formalDescription"), + model_uri=GX.endpoint__formalDescription, + domain=None, + range=Optional[str], +) + +slots.gPU__gpuMemory = Slot( + uri=GX.gpuMemory, + name="gPU__gpuMemory", + curie=GX.curie("gpuMemory"), + model_uri=GX.gPU__gpuMemory, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.gPU__gpuInterconnection = Slot( + uri=GX.gpuInterconnection, + name="gPU__gpuInterconnection", + curie=GX.curie("gpuInterconnection"), + model_uri=GX.gPU__gpuInterconnection, + domain=None, + range=Optional[Union[str, "GPUInterconnetionTypes"]], +) + +slots.gPU__gpuProcessingUnits = Slot( + uri=GX.gpuProcessingUnits, + name="gPU__gpuProcessingUnits", + curie=GX.curie("gpuProcessingUnits"), + model_uri=GX.gPU__gpuProcessingUnits, + domain=None, + range=Optional[int], +) + +slots.gPU__gpuPassthrough = Slot( + uri=GX.gpuPassthrough, + name="gPU__gpuPassthrough", + curie=GX.curie("gpuPassthrough"), + model_uri=GX.gPU__gpuPassthrough, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__fileSize = Slot( + uri=GX.fileSize, + name="image__fileSize", + curie=GX.curie("fileSize"), + model_uri=GX.image__fileSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__operatingSystem = Slot( + uri=GX.operatingSystem, + name="image__operatingSystem", + curie=GX.curie("operatingSystem"), + model_uri=GX.image__operatingSystem, + domain=None, + range=Optional[Union[dict, OperatingSystem]], +) + +slots.image__cpuReq = Slot( + uri=GX.cpuReq, + name="image__cpuReq", + curie=GX.curie("cpuReq"), + model_uri=GX.image__cpuReq, + domain=None, + range=Optional[Union[dict, CPU]], +) + +slots.image__gpuReq = Slot( + uri=GX.gpuReq, + name="image__gpuReq", + curie=GX.curie("gpuReq"), + model_uri=GX.image__gpuReq, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.image__ramReq = Slot( + uri=GX.ramReq, + name="image__ramReq", + curie=GX.curie("ramReq"), + model_uri=GX.image__ramReq, + domain=None, + range=Optional[Union[dict, Memory]], +) + +slots.image__videoRamSize = Slot( + uri=GX.videoRamSize, + name="image__videoRamSize", + curie=GX.curie("videoRamSize"), + model_uri=GX.image__videoRamSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__rootDiskReq = Slot( + uri=GX.rootDiskReq, + name="image__rootDiskReq", + curie=GX.curie("rootDiskReq"), + model_uri=GX.image__rootDiskReq, + domain=None, + range=Optional[Union[dict, Disk]], +) + +slots.image__encryption = Slot( + uri=GX.encryption, + name="image__encryption", + curie=GX.curie("encryption"), + model_uri=GX.image__encryption, + domain=None, + range=Optional[Union[dict, Encryption]], +) + +slots.image__checkSum = Slot( + uri=GX.checkSum, + name="image__checkSum", + curie=GX.curie("checkSum"), + model_uri=GX.image__checkSum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.image__secureBoot = Slot( + uri=GX.secureBoot, + name="image__secureBoot", + curie=GX.curie("secureBoot"), + model_uri=GX.image__secureBoot, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__vPMU = Slot( + uri=GX.vPMU, + name="image__vPMU", + curie=GX.curie("vPMU"), + model_uri=GX.image__vPMU, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__multiQueues = Slot( + uri=GX.multiQueues, + name="image__multiQueues", + curie=GX.curie("multiQueues"), + model_uri=GX.image__multiQueues, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__updateStrategy = Slot( + uri=GX.updateStrategy, + name="image__updateStrategy", + curie=GX.curie("updateStrategy"), + model_uri=GX.image__updateStrategy, + domain=None, + range=Optional[Union[dict, UpdateStrategy]], +) + +slots.image__licenseIncluded = Slot( + uri=GX.licenseIncluded, + name="image__licenseIncluded", + curie=GX.curie("licenseIncluded"), + model_uri=GX.image__licenseIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__maintenance = Slot( + uri=GX.maintenance, + name="image__maintenance", + curie=GX.curie("maintenance"), + model_uri=GX.image__maintenance, + domain=None, + range=Optional[Union[dict, MaintenanceSubscription]], +) + +slots.maintenanceSubscription__subscriptionIncluded = Slot( + uri=GX.subscriptionIncluded, + name="maintenanceSubscription__subscriptionIncluded", + curie=GX.curie("subscriptionIncluded"), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__subscriptionRequired = Slot( + uri=GX.subscriptionRequired, + name="maintenanceSubscription__subscriptionRequired", + curie=GX.curie("subscriptionRequired"), + model_uri=GX.maintenanceSubscription__subscriptionRequired, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__maintainedUntil = Slot( + uri=GX.maintainedUntil, + name="maintenanceSubscription__maintainedUntil", + curie=GX.curie("maintainedUntil"), + model_uri=GX.maintenanceSubscription__maintainedUntil, + domain=None, + range=Optional[Union[str, XSDDate]], +) + +slots.updateStrategy__replaceFrequency = Slot( + uri=GX.replaceFrequency, + name="updateStrategy__replaceFrequency", + curie=GX.curie("replaceFrequency"), + model_uri=GX.updateStrategy__replaceFrequency, + domain=None, + range=Optional[Union[str, "UpdateFrequency"]], +) + +slots.updateStrategy__hotfixHours = Slot( + uri=GX.hotfixHours, + name="updateStrategy__hotfixHours", + curie=GX.curie("hotfixHours"), + model_uri=GX.updateStrategy__hotfixHours, + domain=None, + range=Optional[int], +) + +slots.updateStrategy__oldVersionsValidUntil = Slot( + uri=GX.oldVersionsValidUntil, + name="updateStrategy__oldVersionsValidUntil", + curie=GX.curie("oldVersionsValidUntil"), + model_uri=GX.updateStrategy__oldVersionsValidUntil, + domain=None, + range=Optional[str], +) + +slots.updateStrategy__providedUntil = Slot( + uri=GX.providedUntil, + name="updateStrategy__providedUntil", + curie=GX.curie("providedUntil"), + model_uri=GX.updateStrategy__providedUntil, + domain=None, + range=Optional[str], +) + +slots.latestN__value = Slot( + uri=GX.value, + name="latestN__value", + curie=GX.curie("value"), + model_uri=GX.latestN__value, + domain=None, + range=Optional[int], +) + +slots.issuer__issuerTermsAndConditions = Slot( + uri=GX.issuerTermsAndConditions, + name="issuer__issuerTermsAndConditions", + curie=GX.curie("issuerTermsAndConditions"), + model_uri=GX.issuer__issuerTermsAndConditions, + domain=None, + range=Union[str, "GaiaXTermsAndConditions"], +) + +slots.legalPerson__registrationNumber = Slot( + uri=GX.registrationNumber, + name="legalPerson__registrationNumber", + curie=GX.curie("registrationNumber"), + model_uri=GX.legalPerson__registrationNumber, + domain=None, + range=URIRef, +) + +slots.legalPerson__legalAddress = Slot( + uri=GX.legalAddress, + name="legalPerson__legalAddress", + curie=GX.curie("legalAddress"), + model_uri=GX.legalPerson__legalAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__headquartersAddress = Slot( + uri=GX.headquartersAddress, + name="legalPerson__headquartersAddress", + curie=GX.curie("headquartersAddress"), + model_uri=GX.legalPerson__headquartersAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__parentOrganizationOf = Slot( + uri=GX.parentOrganizationOf, + name="legalPerson__parentOrganizationOf", + curie=GX.curie("parentOrganizationOf"), + model_uri=GX.legalPerson__parentOrganizationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.legalPerson__subOrganisationOf = Slot( + uri=GX.subOrganisationOf, + name="legalPerson__subOrganisationOf", + curie=GX.curie("subOrganisationOf"), + model_uri=GX.legalPerson__subOrganisationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.localRegistrationNumber__local = Slot( + uri=GX.local, + name="localRegistrationNumber__local", + curie=GX.curie("local"), + model_uri=GX.localRegistrationNumber__local, + domain=None, + range=URIRef, +) + +slots.vatID__vatID = Slot( + uri=GX.vatID, + name="vatID__vatID", + curie=GX.curie("vatID"), + model_uri=GX.vatID__vatID, + domain=None, + range=URIRef, +) + +slots.leiCode__leiCode = Slot( + uri=SCHEMA.leiCode, + name="leiCode__leiCode", + curie=SCHEMA.curie("leiCode"), + model_uri=GX.leiCode__leiCode, + domain=None, + range=URIRef, +) + +slots.eORI__eori = Slot( + uri=GX.eori, + name="eORI__eori", + curie=GX.curie("eori"), + model_uri=GX.eORI__eori, + domain=None, + range=URIRef, +) + +slots.eUID__euid = Slot( + uri=GX.euid, + name="eUID__euid", + curie=GX.curie("euid"), + model_uri=GX.eUID__euid, + domain=None, + range=URIRef, +) + +slots.memory__memorySize = Slot( + uri=GX.memorySize, + name="memory__memorySize", + curie=GX.curie("memorySize"), + model_uri=GX.memory__memorySize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.memory__memoryClass = Slot( + uri=GX.memoryClass, + name="memory__memoryClass", + curie=GX.curie("memoryClass"), + model_uri=GX.memory__memoryClass, + domain=None, + range=Optional[Union[str, "MemoryClasses"]], +) + +slots.memory__memoryRank = Slot( + uri=GX.memoryRank, + name="memory__memoryRank", + curie=GX.curie("memoryRank"), + model_uri=GX.memory__memoryRank, + domain=None, + range=Optional[Union[str, "MemoryRanks"]], +) + +slots.memory__eccEnabled = Slot( + uri=GX.eccEnabled, + name="memory__eccEnabled", + curie=GX.curie("eccEnabled"), + model_uri=GX.memory__eccEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.memory__hardwareEncryption = Slot( + uri=GX.hardwareEncryption, + name="memory__hardwareEncryption", + curie=GX.curie("hardwareEncryption"), + model_uri=GX.memory__hardwareEncryption, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.pXEImage__pxeImageDiskFormat = Slot( + uri=GX.pxeImageDiskFormat, + name="pXEImage__pxeImageDiskFormat", + curie=GX.curie("pxeImageDiskFormat"), + model_uri=GX.pXEImage__pxeImageDiskFormat, + domain=None, + range=Optional[Union[str, "PXEDiskType"]], +) + +slots.resource__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="resource__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.resource__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.virtualResource__copyrightOwnedBy = Slot( + uri=GX.copyrightOwnedBy, + name="virtualResource__copyrightOwnedBy", + curie=GX.curie("copyrightOwnedBy"), + model_uri=GX.virtualResource__copyrightOwnedBy, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__license = Slot( + uri=GX.license, + name="virtualResource__license", + curie=GX.curie("license"), + model_uri=GX.virtualResource__license, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__resourcePolicy = Slot( + uri=GX.resourcePolicy, + name="virtualResource__resourcePolicy", + curie=GX.curie("resourcePolicy"), + model_uri=GX.virtualResource__resourcePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.physicalResource__maintainedBy = Slot( + uri=GX.maintainedBy, + name="physicalResource__maintainedBy", + curie=GX.curie("maintainedBy"), + model_uri=GX.physicalResource__maintainedBy, + domain=None, + range=Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ], +) + +slots.physicalResource__ownedBy = Slot( + uri=GX.ownedBy, + name="physicalResource__ownedBy", + curie=GX.curie("ownedBy"), + model_uri=GX.physicalResource__ownedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__manufacturedBy = Slot( + uri=GX.manufacturedBy, + name="physicalResource__manufacturedBy", + curie=GX.curie("manufacturedBy"), + model_uri=GX.physicalResource__manufacturedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__location = Slot( + uri=GX.location, + name="physicalResource__location", + curie=GX.curie("location"), + model_uri=GX.physicalResource__location, + domain=None, + range=Union[Union[dict, Address], List[Union[dict, Address]]], +) + +slots.softwareResource__checksum = Slot( + uri=GX.checksum, + name="softwareResource__checksum", + curie=GX.curie("checksum"), + model_uri=GX.softwareResource__checksum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.softwareResource__signature = Slot( + uri=GX.signature, + name="softwareResource__signature", + curie=GX.curie("signature"), + model_uri=GX.softwareResource__signature, + domain=None, + range=Optional[Union[dict, Signature]], +) + +slots.softwareResource__version = Slot( + uri=GX.version, + name="softwareResource__version", + curie=GX.curie("version"), + model_uri=GX.softwareResource__version, + domain=None, + range=Optional[str], +) + +slots.softwareResource__patchLevel = Slot( + uri=GX.patchLevel, + name="softwareResource__patchLevel", + curie=GX.curie("patchLevel"), + model_uri=GX.softwareResource__patchLevel, + domain=None, + range=Optional[str], +) + +slots.softwareResource__buildDate = Slot( + uri=GX.buildDate, + name="softwareResource__buildDate", + curie=GX.curie("buildDate"), + model_uri=GX.softwareResource__buildDate, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.operatingSystem__osDistribution = Slot( + uri=GX.osDistribution, + name="operatingSystem__osDistribution", + curie=GX.curie("osDistribution"), + model_uri=GX.operatingSystem__osDistribution, + domain=None, + range=Union[str, "OSDistribution"], +) + +slots.hypervisor__hypervisorType = Slot( + uri=GX.hypervisorType, + name="hypervisor__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.hypervisor__hypervisorType, + domain=None, + range=Union[str, "HypervisorType"], +) + +slots.serviceOffering__providedBy = Slot( + uri=GX.providedBy, + name="serviceOffering__providedBy", + curie=GX.curie("providedBy"), + model_uri=GX.serviceOffering__providedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.serviceOffering__dependsOn = Slot( + uri=GX.dependsOn, + name="serviceOffering__dependsOn", + curie=GX.curie("dependsOn"), + model_uri=GX.serviceOffering__dependsOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="serviceOffering__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.serviceOffering__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot( + uri=GX.serviceOfferingTermsAndConditions, + name="serviceOffering__serviceOfferingTermsAndConditions", + curie=GX.curie("serviceOfferingTermsAndConditions"), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, + domain=None, + range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]], +) + +slots.serviceOffering__servicePolicy = Slot( + uri=GX.servicePolicy, + name="serviceOffering__servicePolicy", + curie=GX.curie("servicePolicy"), + model_uri=GX.serviceOffering__servicePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.serviceOffering__dataProtectionRegime = Slot( + uri=GX.dataProtectionRegime, + name="serviceOffering__dataProtectionRegime", + curie=GX.curie("dataProtectionRegime"), + model_uri=GX.serviceOffering__dataProtectionRegime, + domain=None, + range=Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ], +) + +slots.serviceOffering__dataAccountExport = Slot( + uri=GX.dataAccountExport, + name="serviceOffering__dataAccountExport", + curie=GX.curie("dataAccountExport"), + model_uri=GX.serviceOffering__dataAccountExport, + domain=None, + range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]], +) + +slots.serviceOffering__keyword = Slot( + uri=GX.keyword, + name="serviceOffering__keyword", + curie=GX.curie("keyword"), + model_uri=GX.serviceOffering__keyword, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__provisionType = Slot( + uri=GX.provisionType, + name="serviceOffering__provisionType", + curie=GX.curie("provisionType"), + model_uri=GX.serviceOffering__provisionType, + domain=None, + range=Optional[Union[str, "ProvisionTypes"]], +) + +slots.serviceOffering__endpoint = Slot( + uri=GX.endpoint, + name="serviceOffering__endpoint", + curie=GX.curie("endpoint"), + model_uri=GX.serviceOffering__endpoint, + domain=None, + range=Optional[Union[dict, Endpoint]], +) + +slots.serviceOffering__hostedOn = Slot( + uri=GX.hostedOn, + name="serviceOffering__hostedOn", + curie=GX.curie("hostedOn"), + model_uri=GX.serviceOffering__hostedOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.computeServiceOffering__tenantSeparation = Slot( + uri=GX.tenantSeparation, + name="computeServiceOffering__tenantSeparation", + curie=GX.curie("tenantSeparation"), + model_uri=GX.computeServiceOffering__tenantSeparation, + domain=None, + range=Optional[Union[str, "TenantSeparation"]], +) + +slots.virtualMachineServiceOffering__codeArtifact = Slot( + uri=GX.codeArtifact, + name="virtualMachineServiceOffering__codeArtifact", + curie=GX.curie("codeArtifact"), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, + domain=None, + range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]], +) + +slots.virtualMachineServiceOffering__instantiationReq = Slot( + uri=GX.instantiationReq, + name="virtualMachineServiceOffering__instantiationReq", + curie=GX.curie("instantiationReq"), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, + domain=None, + range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]], +) + +slots.termsAndConditions__url = Slot( + uri=GX.url, + name="termsAndConditions__url", + curie=GX.curie("url"), + model_uri=GX.termsAndConditions__url, + domain=None, + range=Union[str, URI], +) + +slots.termsAndConditions__hash = Slot( + uri=GX.hash, + name="termsAndConditions__hash", + curie=GX.curie("hash"), + model_uri=GX.termsAndConditions__hash, + domain=None, + range=str, +) + +slots.dataAccountExport__requestType = Slot( + uri=GX.requestType, + name="dataAccountExport__requestType", + curie=GX.curie("requestType"), + model_uri=GX.dataAccountExport__requestType, + domain=None, + range=Union[str, "RequestTypes"], +) + +slots.dataAccountExport__accessType = Slot( + uri=GX.accessType, + name="dataAccountExport__accessType", + curie=GX.curie("accessType"), + model_uri=GX.dataAccountExport__accessType, + domain=None, + range=Union[str, "AccessTypes"], +) + +slots.dataAccountExport__formatType = Slot( + uri=GX.formatType, + name="dataAccountExport__formatType", + curie=GX.curie("formatType"), + model_uri=GX.dataAccountExport__formatType, + domain=None, + range=Union[str, "MIMETypes"], +) + +slots.standardConformity__title = Slot( + uri=GX.title, + name="standardConformity__title", + curie=GX.curie("title"), + model_uri=GX.standardConformity__title, + domain=None, + range=str, +) + +slots.standardConformity__standardReference = Slot( + uri=GX.standardReference, + name="standardConformity__standardReference", + curie=GX.curie("standardReference"), + model_uri=GX.standardConformity__standardReference, + domain=None, + range=Union[str, URI], +) + +slots.standardConformity__publisher = Slot( + uri=GX.publisher, + name="standardConformity__publisher", + curie=GX.curie("publisher"), + model_uri=GX.standardConformity__publisher, + domain=None, + range=Optional[str], +) + +slots.dataResource__producedBy = Slot( + uri=GX.producedBy, + name="dataResource__producedBy", + curie=GX.curie("producedBy"), + model_uri=GX.dataResource__producedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.dataResource__exposedThrough = Slot( + uri=GX.exposedThrough, + name="dataResource__exposedThrough", + curie=GX.curie("exposedThrough"), + model_uri=GX.dataResource__exposedThrough, + domain=None, + range=Union[ + Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]] + ], +) + +slots.dataResource__obsoleteDateTime = Slot( + uri=GX.obsoleteDateTime, + name="dataResource__obsoleteDateTime", + curie=GX.curie("obsoleteDateTime"), + model_uri=GX.dataResource__obsoleteDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__expirationDateTime = Slot( + uri=GX.expirationDateTime, + name="dataResource__expirationDateTime", + curie=GX.curie("expirationDateTime"), + model_uri=GX.dataResource__expirationDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__containsPII = Slot( + uri=GX.containsPII, + name="dataResource__containsPII", + curie=GX.curie("containsPII"), + model_uri=GX.dataResource__containsPII, + domain=None, + range=Union[bool, Bool], +) + +slots.dataResource__dataController = Slot( + uri=GX.dataController, + name="dataResource__dataController", + curie=GX.curie("dataController"), + model_uri=GX.dataResource__dataController, + domain=None, + range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]], +) + +slots.dataResource__consent = Slot( + uri=GX.consent, + name="dataResource__consent", + curie=GX.curie("consent"), + model_uri=GX.dataResource__consent, + domain=None, + range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]], +) + +slots.consent__legalBasis = Slot( + uri=GX.legalBasis, + name="consent__legalBasis", + curie=GX.curie("legalBasis"), + model_uri=GX.consent__legalBasis, + domain=None, + range=str, +) + +slots.consent__dataProtectionContactPoint = Slot( + uri=GX.dataProtectionContactPoint, + name="consent__dataProtectionContactPoint", + curie=GX.curie("dataProtectionContactPoint"), + model_uri=GX.consent__dataProtectionContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__purpose = Slot( + uri=GX.purpose, + name="consent__purpose", + curie=GX.curie("purpose"), + model_uri=GX.consent__purpose, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__consentWithdrawalContactPoint = Slot( + uri=GX.consentWithdrawalContactPoint, + name="consent__consentWithdrawalContactPoint", + curie=GX.curie("consentWithdrawalContactPoint"), + model_uri=GX.consent__consentWithdrawalContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.vMImage__vmImageDiskFormat = Slot( + uri=GX.vmImageDiskFormat, + name="vMImage__vmImageDiskFormat", + curie=GX.curie("vmImageDiskFormat"), + model_uri=GX.vMImage__vmImageDiskFormat, + domain=None, + range=Optional[Union[str, "VMDiskType"]], +) + +slots.vMImage__hypervisorType = Slot( + uri=GX.hypervisorType, + name="vMImage__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.vMImage__hypervisorType, + domain=None, + range=Optional[Union[str, "HypervisorType"]], +) + +slots.vMImage__firmwareType = Slot( + uri=GX.firmwareType, + name="vMImage__firmwareType", + curie=GX.curie("firmwareType"), + model_uri=GX.vMImage__firmwareType, + domain=None, + range=Optional[Union[str, "FirmType"]], +) + +slots.vMImage__hwRngTypeOfImage = Slot( + uri=GX.hwRngTypeOfImage, + name="vMImage__hwRngTypeOfImage", + curie=GX.curie("hwRngTypeOfImage"), + model_uri=GX.vMImage__hwRngTypeOfImage, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.vMImage__watchDogAction = Slot( + uri=GX.watchDogAction, + name="vMImage__watchDogAction", + curie=GX.curie("watchDogAction"), + model_uri=GX.vMImage__watchDogAction, + domain=None, + range=Optional[Union[str, "WatchDogActions"]], +) + +slots.serverFlavor__cpu = Slot( + uri=GX.cpu, + name="serverFlavor__cpu", + curie=GX.curie("cpu"), + model_uri=GX.serverFlavor__cpu, + domain=None, + range=Union[dict, CPU], +) + +slots.serverFlavor__ram = Slot( + uri=GX.ram, + name="serverFlavor__ram", + curie=GX.curie("ram"), + model_uri=GX.serverFlavor__ram, + domain=None, + range=Union[dict, Memory], +) + +slots.serverFlavor__gpu = Slot( + uri=GX.gpu, + name="serverFlavor__gpu", + curie=GX.curie("gpu"), + model_uri=GX.serverFlavor__gpu, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.serverFlavor__network = Slot( + uri=GX.network, + name="serverFlavor__network", + curie=GX.curie("network"), + model_uri=GX.serverFlavor__network, + domain=None, + range=Optional[str], +) + +slots.serverFlavor__bootVolume = Slot( + uri=GX.bootVolume, + name="serverFlavor__bootVolume", + curie=GX.curie("bootVolume"), + model_uri=GX.serverFlavor__bootVolume, + domain=None, + range=Union[dict, Disk], +) + +slots.serverFlavor__additionalVolume = Slot( + uri=GX.additionalVolume, + name="serverFlavor__additionalVolume", + curie=GX.curie("additionalVolume"), + model_uri=GX.serverFlavor__additionalVolume, + domain=None, + range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]], +) + +slots.serverFlavor__confidentialComputing = Slot( + uri=GX.confidentialComputing, + name="serverFlavor__confidentialComputing", + curie=GX.curie("confidentialComputing"), + model_uri=GX.serverFlavor__confidentialComputing, + domain=None, + range=Optional[Union[dict, ConfidentialComputing]], +) + +slots.serverFlavor__hypervisor = Slot( + uri=GX.hypervisor, + name="serverFlavor__hypervisor", + curie=GX.curie("hypervisor"), + model_uri=GX.serverFlavor__hypervisor, + domain=None, + range=Optional[Union[dict, SoftwareResource]], +) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot( + uri=GX.hardwareAssistedVirtualization, + name="serverFlavor__hardwareAssistedVirtualization", + curie=GX.curie("hardwareAssistedVirtualization"), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot( + uri=GX.hwRngTypeOfFlavor, + name="serverFlavor__hwRngTypeOfFlavor", + curie=GX.curie("hwRngTypeOfFlavor"), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.confidentialComputing__technology = Slot( + uri=GX.technology, + name="confidentialComputing__technology", + curie=GX.curie("technology"), + model_uri=GX.confidentialComputing__technology, + domain=None, + range=str, +) + +slots.confidentialComputing__attestationServiceURI = Slot( + uri=GX.attestationServiceURI, + name="confidentialComputing__attestationServiceURI", + curie=GX.curie("attestationServiceURI"), + model_uri=GX.confidentialComputing__attestationServiceURI, + domain=None, + range=Optional[Union[str, URI]], +) diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 1a740ae..199d599 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -2,26 +2,28 @@ Methods and classes needed/useful for JSON-LD serialization. """ import inspect - from datetime import date, datetime +from typing import List +from uuid import uuid4 -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots - -from linkml_runtime.utils.metamodelcore import URI +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from typing import List -from uuid import uuid4 +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python - classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials.""" + classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. + """ - def __init__(self, gx_object: YAMLRoot, gx_id:str=None): + def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct @@ -44,15 +46,14 @@ def get_json_ld_context() -> dict: @rtype: dict """ return { - "@context": - { - GX.prefix: GX, - QUDT.prefix: QUDT, - SCHEMA.prefix: SCHEMA, - VCARD.prefix: VCARD, - "xsd": "http://www.w3.org/2001/XMLSchema#", - "ex": "https://example.com/" - } + "@context": { + GX.prefix: GX, + QUDT.prefix: QUDT, + SCHEMA.prefix: SCHEMA, + VCARD.prefix: VCARD, + "xsd": "http://www.w3.org/2001/XMLSchema#", + "ex": "https://example.com/", + } } @@ -74,7 +75,7 @@ def to_json_ld(obj) -> dict: if isinstance(obj, JsonLdObject): # if JsonLdObject add id gx_object = obj.gx_object - json_ld['@id'] = "ex:" + obj.gx_id.replace(" ", "") + json_ld["@id"] = "ex:" + obj.gx_id.replace(" ", "") # call to_json_ld for gx_object json_ld.update(to_json_ld(gx_object)) return json_ld @@ -84,7 +85,7 @@ def to_json_ld(obj) -> dict: # json_ld['@type'] = get_types(obj.__class__) try: # set type of Gaia-X object if possible - json_ld['@type'] = obj.class_class_curie + json_ld["@type"] = obj.class_class_curie except AttributeError: pass for key, value in obj.__dict__.items(): @@ -109,29 +110,19 @@ def to_json_ld(obj) -> dict: return json_ld elif isinstance(obj, datetime): # Add type for datetime - return { - "@type": "xsd:dateTime", - "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} + return {"@type": "xsd:dateTime", "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} elif isinstance(obj, date): # add type for date - return { - "@type": "xsd:date", - "@value": obj} + return {"@type": "xsd:date", "@value": obj} elif isinstance(obj, float): # add type for float - return { - "@type": "xsd:float", - "@value": obj} + return {"@type": "xsd:float", "@value": obj} elif isinstance(obj, URI): # add type for URI - return { - "@type": "xsd:anyURI", - "@value": obj} + return {"@type": "xsd:anyURI", "@value": obj} elif isinstance(obj, bool): # add type for boolean - return { - "@type": "xsd:boolean", - "@value": obj} + return {"@type": "xsd:boolean", "@value": obj} else: return obj diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index d1ddb28..3b2e2db 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,16 +1,14 @@ -from generator.common.json_ld import JsonLdObject - -from generator.discovery.openstack.vm_images_discovery import VmDiscovery - -from linkml_runtime.utils.yamlutils import YAMLRoot +from typing import Dict, List from openstack.connection import Connection -from typing import Dict, List +from generator.common.json_ld import JsonLdObject +from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services." + def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn @@ -30,7 +28,3 @@ def discover_properties(self) -> List[JsonLdObject]: creds.extend(vm_dis.discover_vm_images()) return creds - - - - diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 968d2cf..2c710d6 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,36 +1,29 @@ +from datetime import datetime +from typing import Dict, List, Union + from linkml_runtime.utils.metamodelcore import URI +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +import generator.common.const as const from generator.common.expections import MissingMandatoryAttribute - +from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import CPU -from generator.common.gx_schema import Disk -from generator.common.gx_schema import DiskTypes -from generator.common.gx_schema import HypervisorType -from generator.common.gx_schema import Memory -from generator.common.gx_schema import MemorySize -from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX -from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import ( + CheckSum, + ChecksumAlgorithm, + Disk, + HypervisorType, + Memory, + MemorySize, + OperatingSystem, + Signature, + SignatureAlgorithm, + UpdateStrategy, +) from generator.common.gx_schema import VMImage as GX_Image - from generator.common.json_ld import JsonLdObject -from openstack.connection import Connection -from openstack.image.v2.image import Image as OS_Image - -import generator.common.const as const - -from typing import Dict, Union, List - -from datetime import datetime - -import yaml - def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -40,16 +33,23 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "x86-64" if os_image_arch == "aarch6": return "AArch-32" - if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + if os_image_arch in [ + "alpha", + "armv7l", + "lm32", + "openrisc", + "parisc", + "parisc64", + "unicore32", + ]: return "RISC-V" return CpuArch.other.text except AttributeError as e: raise MissingMandatoryAttribute(e.args) -class VmDiscovery(): - - #def __init__(self) -> None: +class VmDiscovery: + # def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) @@ -68,8 +68,8 @@ def discover_vm_images(self) -> List[JsonLdObject]: images = list() for image in self.conn.list_images(): images.append( - JsonLdObject( - self._convert_to_gx_image(image), gx_id=image.id)) + JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) + ) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -82,9 +82,11 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ # Initialize Gaia-X Image - gx_image = GX_Image(copyrightOwnedBy="TBA", - license="TBA", - resourcePolicy=const.DEFAULT_RESOURCE_POLICY) + gx_image = GX_Image( + copyrightOwnedBy="TBA", + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY, + ) # Discover optional attributes self._add_secure_boot(os_image, gx_image) @@ -135,7 +137,6 @@ def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) @@ -154,7 +155,9 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. try: - size = MemorySize(value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB) + size = MemorySize( + value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB + ) mem_req = Memory(memorySize=size) try: mem_req.hardwareEncryption = os_image.hw_mem_encryption @@ -166,207 +169,317 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: - size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + size = MemorySize( + value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB + ) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) except AttributeError as e: raise MissingMandatoryAttribute(e.args) - def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_operation_system_info( + self, os_image: OS_Image, gx_image: GX_Image + ) -> None: # Copyright owner and license not supported as Image properties, currently --> Default values from config are used if os_image.os_distro == "arch": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ARCH))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ARCH) + ), + ) elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CENTOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CENTOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CENTOS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CENTOS) + ), + ) elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_DEBIAN), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_DEBIAN))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_DEBIAN + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_DEBIAN) + ), + ) elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FEDORA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FEDORA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FEDORA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FEDORA) + ), + ) elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FREEBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FREEBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_FREEBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FREEBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FREEBSD) + ), + ) elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_GENTOO), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_GENTOO))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_GENTOO + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_GENTOO) + ), + ) elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRAKE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRAKE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRAKE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRAKE) + ), + ) elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRIVA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRIVA + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRIVA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRIVA) + ), + ) elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MES))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MES) + ), + ) elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MSDOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MSDOS) + ), + ) elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NETBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NETBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NETBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NETBSD) + ), + ) elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NOVELL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NOVELL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NOVELL + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NOVELL) + ), + ) elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPENBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPENBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPENBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPENBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPENBSD) + ), + ) elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_SOLARIS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SOLARIS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_SOLARIS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_SOLARIS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SOLARIS) + ), + ) elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPEN_SUSE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE) + ), + ) elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ROCKY))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ROCKY) + ), + ) elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_RHEL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_RHEL) + ), + ) elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SLED))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SLED) + ), + ) elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_UBUNTU), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_UBUNTU))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_UBUNTU + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_UBUNTU) + ), + ) elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_WINDOWS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_WINDOWS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_WINDOWS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_WINDOWS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_WINDOWS) + ), + ) elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CIRROS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CIRROS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CIRROS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CIRROS) + ), + ) elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_ALMALINUX), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_ALMALINUX + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_ALMALINUX + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ALMALINUX) + ), + ) else: - raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") + raise ValueError( + "Unsupported value for operating system distribution found: '" + + os_image.os_distro + + "'" + ) def _get_resource_policy_for_os(self, os: str) -> str: try: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ + const.CONFIG_RESOURCE_POLICY + ] except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ + const.CONFIG_COPYRIGHT + ] def _get_license_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ + const.CONFIG_LICENSE + ] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: - # check if comfig contains image's specific copright owner + # check if comfig contains image's specific copyright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -374,7 +487,9 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license - gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -382,18 +497,20 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy - gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() - for l in licenses: - if l.startswith("http"): - license_list.append(URI(l)) + for lic in licenses: + if lic.startswith("http"): + license_list.append(URI(lic)) else: - license_list.append(l) + license_list.append(lic) return license_list def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -432,7 +549,9 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return - gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) + gx_image.videoRamSize = MemorySize( + value=float(os_image.hw_video_ram), unit=const.UNIT_MB + ) except AttributeError: pass @@ -449,27 +568,35 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # collect mandatory attributes try: - os_image.updateStrategy.replaceFrequency = os_image.properties['replace_frequency'] - os_image.updateStrategy.oldVersionsValidUntil = os_image.properties['uuid_validity'] - os_image.updateStrategy.providedUntil = os_image.properties['provided_until'] + os_image.updateStrategy.replaceFrequency = os_image.properties[ + "replace_frequency" + ] + os_image.updateStrategy.oldVersionsValidUntil = os_image.properties[ + "uuid_validity" + ] + os_image.updateStrategy.providedUntil = os_image.properties[ + "provided_until" + ] except KeyError as e: raise MissingMandatoryAttribute(e.args) # collect optional attributes try: - os_image.updateStrategy.hotfixHours = os_image.properties['hotfix_hours'] + os_image.updateStrategy.hotfixHours = os_image.properties["hotfix_hours"] except KeyError: pass def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.description = os_image.properties[ - 'image_description'] + gx_image.description = os_image.properties["image_description"] except KeyError: pass try: - gx_image.description = gx_image.description + " Managed by " + os_image.properties[ - 'managed_by_VENDOR'] + gx_image.description = ( + gx_image.description + + " Managed by " + + os_image.properties["managed_by_VENDOR"] + ) except KeyError: pass @@ -483,25 +610,27 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") + gx_image.buildDate = datetime.strptime( + os_image.properties["image_build_date"], "%Y-%m-%d" + ) except KeyError: pass def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.licenseIncluded = os_image.properties['licenseIncluded'] + gx_image.licenseIncluded = os_image.properties["licenseIncluded"] except KeyError: pass def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.patchLevel = os_image.properties['patchlevel'] + gx_image.patchLevel = os_image.properties["patchlevel"] except KeyError: pass def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.version = os_image.properties['internal_version'] + gx_image.version = os_image.properties["internal_version"] except KeyError: pass @@ -514,33 +643,40 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _get_checksum_algo(self, algo: str) -> str: - if algo == 'sha512': - return 'sha-512' - if algo == 'sha224': - return 'sha-224' - if algo == 'sha256': - return 'sha-256' - if algo == 'sha384': - return 'sha-384' - if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + if algo == "sha512": + return "sha-512" + if algo == "sha224": + return "sha-224" + if algo == "sha256": + return "sha-256" + if algo == "sha384": + return "sha-384" + if algo in ["sha-3", "md5", "ripemd-160", "blake2", "blake3"]: return algo return ChecksumAlgorithm.other.text def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.maintenance = os_image.properties['maintained_until'] + gx_image.maintenance = os_image.properties["maintained_until"] except KeyError: pass def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + gx_image.file = MemorySize( + value=float(os_image.size * 1.073741824), unit=const.UNIT_GB + ) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.signature = Signature( signatureValue=os_image.img_signature, - hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), - signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) + hashAlgorithm=self._get_checksum_algo( + os_image.img_signature_hash_method + ), + signatureAlgorithm=self._get_signature_algo( + os_image.img_signature_key_type + ), + ) except AttributeError: pass @@ -564,11 +700,13 @@ def _get_signature_algo(self, algo: str) -> str: def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] + gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][ + os_image.name + ][const.CONFIG_AGGREGATION_OF] except KeyError: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass # not supported yet - #gx_image.hwRngTypeOfImage = "None" + # gx_image.hwRngTypeOfImage = "None" diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index 896b6d2..3c704c3 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,11 +1,7 @@ import json import os -from generator.common.json_ld import to_json_ld -from generator.common.json_ld import get_json_ld_context - -from generator.common.json_ld import JsonLdObject - +from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld from generator.wallet.wallet import WalletConnector @@ -21,13 +17,12 @@ def __init__(self, dir: str) -> None: def store_credential(self, credential: JsonLdObject) -> None: super().store_credential(credential) - with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + with open( + os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" + ) as json_file: props = get_json_ld_context() - props['@graph'] = [credential] + props["@graph"] = [credential] json.dump(props, json_file, indent=4, default=to_json_ld) - - - def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 8e5e43a..5c05a31 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,5 +1,4 @@ -from abc import ABC -from abc import abstractmethod +from abc import ABC, abstractmethod from generator.common.json_ld import JsonLdObject From 5b1074fba4a2100b1ef9521030fd6654397c1c15 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Tue, 16 Jan 2024 14:34:15 +0100 Subject: [PATCH 060/175] Create python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/python-app.yml diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 0000000..f3d4fca --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,39 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python application + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest From 67c8fc61fde109a2fad5251aae041b4747ac1783 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:46:40 +0100 Subject: [PATCH 061/175] Fix tests Signed-off-by: Anja Strunk --- generator/discovery/openstack/vm_images_discovery.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 2c710d6..55f122f 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -707,6 +707,4 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: - pass - # not supported yet - # gx_image.hwRngTypeOfImage = "None" + gx_image.hwRngTypeOfImage = "None" From 98878f24bff62710e82ed990223ee6463697acb1 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Tue, 16 Jan 2024 14:40:19 +0100 Subject: [PATCH 062/175] Update python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index f3d4fca..365f372 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -28,12 +28,12 @@ jobs: python -m pip install --upgrade pip pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + #- name: Lint with flake8 + # run: | + # # stop the build if there are Python syntax errors or undefined names + # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | pytest From 1e42b6c3aca8851796e6b1d10a275384b358525f Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 14:21:52 +0100 Subject: [PATCH 063/175] Fix unit tests Signed-off-by: Anja Strunk --- config/config.yaml | 28 ++++++++++++++-------------- tests/test_vm_image_discovery.py | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 9e9dc55..24f7ffe 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -121,17 +121,17 @@ default: resource policy: "abc" license: - https://www.abc.org -cloud resources: - own images: - AlmaLinux 8: - aggregation of: - - web:did:provider.de - copyright owner: - - "AlmaLinux OS Foundation" - - "ABC" - resource policy: "abc" - license: - - https://www.abc.org -wallets: - filesystem: - path: /etc/wallet/gx-credentials/ \ No newline at end of file +#cloud resources: +# own images: +# AlmaLinux 8: +# aggregation of: +# - web:did:provider.de +# copyright owner: +# - "AlmaLinux OS Foundation" +# - "ABC" +# resource policy: "abc" +# license: +# - https://www.abc.org +#wallets: +# filesystem: +# path: /etc/wallet/gx-credentials/ \ No newline at end of file diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index 8856972..cb257f1 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -205,7 +205,7 @@ def _get_os_images(): class VMImageDiscoveryTestcase(OpenstackTestcase): def setUp(self): - with open('../config/config.yaml', 'r') as config_file: + with open('config/config.yaml', 'r') as config_file: self.config = yaml.safe_load(config_file) self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) @@ -225,7 +225,7 @@ def test_json_ld(self): conforms, _, _ = validate(data_graph=json.dumps( _get_gx_images()[0], indent=4, default=to_json_ld), - shacl_graph="gaia-x.shacl.ttl", + shacl_graph="tests/gaia-x.shacl.ttl", data_graph_format="json-ld", shacl_graph_format="ttl" ) From cc02b9a5e25e127fccd5076a8a1d01c4a28398d6 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 14:39:54 +0100 Subject: [PATCH 064/175] Update requirements Signed-off-by: Anja Strunk --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index 080f932..91180a4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,5 @@ openstacksdk==1.1.* PyYAML==6.* click==8.1.7 pyshacl==0.25.0 +linkml==1.6.7 + From 97374bc282fd5a46f3e427725796687cd422d62d Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Wed, 17 Jan 2024 14:35:15 +0100 Subject: [PATCH 065/175] Update python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 365f372..1db7538 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -26,7 +26,8 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install flake8 pytest + # pip install flake8 pytest + pip install pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi #- name: Lint with flake8 # run: | @@ -36,4 +37,5 @@ jobs: # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | - pytest + ls + python -m pytest tests/ From 866dd1b5db0b54b6a99b98e862a86b2323f545e4 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 17:50:22 +0100 Subject: [PATCH 066/175] Update documentation Signed-off-by: Anja Strunk --- README.md | 107 +++++++--- README_old.md | 186 ++++++++++++++++++ generator/cli.py => cli.py | 45 +++-- config/config.yaml | 48 ++--- .../openstack/vm_images_discovery.py | 7 +- 5 files changed, 324 insertions(+), 69 deletions(-) create mode 100644 README_old.md rename generator/cli.py => cli.py (68%) diff --git a/README.md b/README.md index bcd7b9b..d9c0b36 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,16 @@ # gx-credential-generator -Tools for creating [Gaia-X Crecential](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), formally knwon as Self-Descriptions for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) -## OpenStack +## Introduction + +### OpenStack We want to collect discoverable information from an OpenStack cloud, assuming that we have access to it (as normal tenant user). -We start with the region list and then read the OpenStack catalog to collect -- OS_AUTH_URL (Keystone Endpoint) -- List of services (along with supported versions, min thr. max) -- Per service: extensions (cinderv3, nova) -- Flavors for compute incl. flavor details (SCS spec) -- AZs (for nova, cinderv3, neutron) -- UI (URL, type: horizon or custom) +We read the OpenStack catalog to collect +- public VM Images -This then should be output as JSON-LD (or YAML-LD) for the Gaia-X catalogue. +This then should be output as JSON-LD for the Gaia-X catalogue. References: - @@ -35,7 +32,7 @@ Notes from reviewing the SD attributes: latency distance? -## k8s +### k8s Same thing for k8s Collect information on a k8s cluster: @@ -44,7 +41,7 @@ Collect information on a k8s cluster: - Nodes information - Pods information -## K8s as-a-Service (KaaS) offering considerations +#### K8s as-a-Service (KaaS) offering considerations For typical k8s aaS offerings, every cluster is different, and we probably don't want to have a description for every single @@ -68,8 +65,8 @@ like the IaaS SD, the list of node images (osism minio), ... 1. Clone the repository into a location of your choice ```bash -git clone git@github.com:SovereignCloudStack/gx-self-description-generator.git -cd gx-self-description-generator +git clone git@github.com:SovereignCloudStack/gx-credential-generator.git +cd gx-credential-generator ``` 2. Install scripts dependencies (installing them into a Python [virtualenv](https://virtualenv.pypa.io/en/stable/) is recommended) @@ -79,34 +76,94 @@ pip install -r requirements.txt 3. Create `clouds.yaml` configuration file - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) - - Make sure the following keys exist in our `clouds.yaml` + - Make sure the following keys exist in our `clouds.yaml`. clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. - `auth.user_domain_name` - `auth.project_domain_name` - `region_name` + - GX Credential Generator requires access to OpenStack cluster as normal tenant user and K8s access + 4. Generate Gaia-X Credentials - - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + - To print OpenStack properties in JSON-LD as ONE credential + ```bash + python3 cli.py openstack + ``` + - To store OpenStack properties as credential in wallet + ```bash + python3 cli.py openstack --wallet + ``` + - To omit to print OpenStack properties on screen store OpenStack properties as credential in wallet ```bash - ./gx-sd-generator.py --gaia-x --os-cloud= --file= + python3 cli.py openstack --wallet --no-print ``` - - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option - - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard - - K8s (script assumes K8s access) + - To print K8s properties ... ```bash ./gx-sd-generator.py k8s ``` - -4. Start the gaiax-pipeline +5. Start the gaiax-pipeline (deprecated) - To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder + ``` + cd devops + docker-compose up -d + ``` + +## Gaia-X Compliance + +GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework) + +## Configuration + +GX Credential generator is configured by config.yaml. The configuration includes: + +- Default values for mandatory attributes +- Wallets + +### Mandatory Attributes +Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file, from section `default`. +Providers are able to change default values. In doing so, attribute values for **ALL** instances of impacted cloud resource are modified. + +#### CopyrightOwner, License and ResourcePolicy of VM images + +`copyrigthowner`, `license` and `resourcePolicy` are mandatory for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. Configuration file lists default values for `copyrightOwner`, `license` and `resourcePolicy` for operating systems, e.g. for Alpine Linux. + +```yaml +default: + operating system: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: "default: allow intent" + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 ``` -cd devops -docker-compose up -d + +By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM Image instance, individually. Therefore, the section `cloud resources/own images` exists. To set individual values for a specific VM Image add a new section, started by image's name, to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. + +```yaml +cloud resources: + own images: + AlmaLinux 8: + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org ``` -## Simple SelfDescription validator +### Mandatory Attributes + +Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file as well. + +#### AggregationOf of VM Images + + + + +### Wallets Generated SelfDescriptions could be validated against their schemas (shapes) by the + simple SD validator script. Visit the `sd` directory and try to validate your generated SD. Find the examples in `sd` directory and do the validation as follows: ```bash diff --git a/README_old.md b/README_old.md new file mode 100644 index 0000000..8767dfd --- /dev/null +++ b/README_old.md @@ -0,0 +1,186 @@ +# Depracted - see README.md for up-to-date information + + +# gx-credential-generator +Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) + +## OpenStack +We want to collect discoverable information from an OpenStack cloud, +assuming that we have access to it (as normal tenant user). + +We start with the region list and then read the OpenStack catalog to collect +- OS_AUTH_URL (Keystone Endpoint) +- List of services (along with supported versions, min thr. max) +- Per service: extensions (cinderv3, nova) +- Flavors for compute incl. flavor details (SCS spec) +- AZs (for nova, cinderv3, neutron) +- UI (URL, type: horizon or custom) + +This then should be output as JSON-LD (or YAML-LD) for the Gaia-X catalogue. + +References: +- +- +- +- +- + +Notes from reviewing the SD attributes: +* Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties + (generation, speed, insn set extensions, ...) +* NICs: Virtual NICs are almost unlimited, but there may be a limited amount of hardware-accelerated + NICs (using SR-IOV and multiqueue features) available -- these may need to be added to SCS flavor + naming. +* Other extension hardware like FPGAs need to be specified +* Tenant isolation needs a list of criteria. Virt OK? V(x)LANs OK? Shared storage cluster OK? ... +* Availability Zones: Provider needs to create transparency over what it means. Fire protection zones? + Power supply zones? Internet connectivity zones? Minimal and maximal physical distance? Network + latency distance? + + +## k8s +Same thing for k8s + +Collect information on a k8s cluster: +- Metadata +- API Version +- Nodes information +- Pods information + +## K8s as-a-Service (KaaS) offering considerations + +For typical k8s aaS offerings, every cluster is different, +and we probably don't want to have a description for every single +customer specific cluster. (Some providers may offer self-service, +so we would not want to push of a new SD into the G-X catalogue on +creation, changing or deletion of clusters.) Still it might be +helpful to have a SD on demand for an existing cluster to characterize +it, so users can use the SD to match it to app requirements. + +So the SD for a k8s aaS solution would list possible options and +ranges: What k8s versions are supported, what max number of workers, +flavors, etc.? What services are optionally delivered (and supported) +by the provider? + +For KaaS, the option space really needs to be described. +As of now, this can not be discovered, short of using external sources, +like the IaaS SD, the list of node images (osism minio), ... + + +## Quick Start Guide + +1. Clone the repository into a location of your choice +```bash +git clone git@github.com:SovereignCloudStack/gx-self-description-generator.git +cd gx-self-description-generator +``` + +2. Install scripts dependencies (installing them into a Python [virtualenv](https://virtualenv.pypa.io/en/stable/) is recommended) +```bash +pip install -r requirements.txt +``` + +3. Create `clouds.yaml` configuration file + - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) + - Make sure the following keys exist in our `clouds.yaml` + - `auth.user_domain_name` + - `auth.project_domain_name` + - `region_name` + +4. Generate Gaia-X Credentials + + - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + ```bash + ./gx-sd-generator.py --gaia-x --os-cloud= --file= + ``` + - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option + - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard + - K8s (script assumes K8s access) + ```bash + ./gx-sd-generator.py k8s + ``` + +4. Start the gaiax-pipeline +- To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder +``` +cd devops +docker-compose up -d +``` + +## Simple SelfDescription validator + +Generated SelfDescriptions could be validated against their schemas (shapes) by the +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: +```bash +./sd/validate.py sd/example.jsonld sd/example.ttl +``` + +### GX SelfDescription - Service Offering minimal example + +SD definition `sd/gx_service_offering_example.jsonld` should represent +a minimal GX Service Offering example that is valid against the latest GX shacl shapes `sd/gx_shapes_latest.ttl`. +The latest GX shacl shapes (at the time of Hackathon#6 23/05/3-4) are +used by the [GX wizard](https://wizard.lab.gaia-x.eu/), and they have been downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). + +Try to validate a minimal example against the latest GX shapes (feel free to remove some +required attribute and check validation result): +```bash +./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl +``` + +## Docker + +The docker environment creates a general and portable environment for the gx-sd-generator module. Before running the container, don't forget to mount your credentials for the correct path. OpenStack-related secret located under `~/.config/openstack` + +**Example codes:** + +Running the gx-sd-generator.py on an example cloud: +```docker +docker run -v ":/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + +Running the container in an interactive mode: +```docker +docker run -it -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) test bash +``` + +or you can use the following to create a temp location for the secrets: + +```shell +mkdir -p os_secret && cp secret1 /os_secret +docker run -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + +## Status (2023-05-04) +The current PoC code can discover OpenStack capabilities and produces +an entry for the services in the service catalogue, with name, +(micro)versions, availability zones and extensions (where supported). + +For the compute service, there is a flavor list (yet without some +of the details discoverable by SCS specs); for volumes, we +list the types, for loadbalancers, we have a flavor list as well. + +Thanks to the work in Hackathon #4, we have an option to export +JSON-LD (use option `--gaia-x` aka. `-g`) that can be signed and +successfully processed by the compilance service at +http://compliance.lab.gaia-x.eu/ +Signing and verifying can be combined using the Delta-DAO signer. +https://signer.demo.delta-dao.com/#signer + +From an OpenStack perspective, this still incomplete. +- We lack flavor details (though we need SCS specs to discover more) +- We lack a list of public images (along with image details) +- Neutron probably has a few things to detect. + +During Hackathon#6, the JSON-LD was updated match the current +shapes thanks to the work from dNation. A validator was added. + +Tecnalia contributed work to characterize K8s clusters in Hackathon#6 +as well as an Airflow automation pipeline. + +TODO: Create cmd line tool that does signing and interacting with +the compliance service, so we can set up CI testing. + +From a Gaia-X perspective, SCS generator is still incomplete, as it does not generate W3C Verifiable Credentials. A concept on how to make generator Gaia-X compliant and integrate it into Gaia-x Tool box, can be found [here](doc/xfsc.md). + diff --git a/generator/cli.py b/cli.py similarity index 68% rename from generator/cli.py rename to cli.py index b23a533..17de219 100644 --- a/generator/cli.py +++ b/cli.py @@ -22,18 +22,23 @@ def cli(): @click.command() @click.option( - "--print-json-ld", + "--wallet", is_flag=True, - help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", + help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", +) +@click.option( + "--no-print", + is_flag=True, + help="Use '--no-print' to omit json-ld print on screen.", ) @click.option( "--config", - default="../config/config.yaml", + default="config/config.yaml", help="Path to Configuration file for SCS GX Credential Generator.", ) @click.option("--timeout", default=12, help="Timeout for API calls in seconds") @click.argument("cloud") -def openstack(cloud, timeout, config, print_json_ld): +def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -56,15 +61,18 @@ def openstack(cloud, timeout, config, print_json_ld): with open(config, "r") as config_file: # init everything config_dict = yaml.safe_load(config_file) - wallets = init_wallets(config_dict) os_cloud = OsCloud(conn, config_dict) # run discovery creds = os_cloud.discover_properties() - # store creds in wallets and print them as overall JSON-LD - store_creds_in_wallet(wallets, creds) - if print_json_ld: + # store creds in wallets + if wallet: + wallets = init_wallets(config_dict) + store_creds_in_wallet(wallets, creds) + + # print on screen + if not no_print: props = json_ld.get_json_ld_context() props["@graph"] = creds print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @@ -78,20 +86,23 @@ def kubernetes(): def init_wallets(config: dict) -> List[WalletConnector]: wallets = list() - for wallet in config[const.CONFIG_WALLETS]: - if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append( - FileSystemWallet( - config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + try: + for wallet in config[const.CONFIG_WALLETS]: + if wallet == const.CONFIG_FILESYSTEM_WALLET: + wallets.append( + FileSystemWallet( + config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + ) ) - ) - elif wallet == const.CONFIG_XFSC_WALLET: - wallets.append(XFSCWallet()) + elif wallet == const.CONFIG_XFSC_WALLET: + wallets.append(XFSCWallet()) + except KeyError: + pass return wallets def store_creds_in_wallet( - wallets: List[WalletConnector], creds: List[JsonLdObject] + wallets: List[WalletConnector], creds: List[JsonLdObject] ) -> None: for w in wallets: for c in creds: diff --git a/config/config.yaml b/config/config.yaml index 24f7ffe..c62a569 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -2,123 +2,123 @@ default: operating system: Alpine Linux: copyright owner: "Alpine Linux" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 Arch Linux: copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://gitlab.archlinux.org/archlinux CentOS Linux: copyright owner: "The CentOS Project and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://github.com/CentOS/ Debian: copyright owner: "Ian Murdock and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.debian.org/legal/licenses/index.en.html Fedora: copyright owner: "Fedora-Project" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ FreeBSD: copyright owner: "The FreeBSD Project" - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.gentoo.org/glep/glep-0076.html Mandrakelinux: copyright owner: "Mandriva Linux" - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: copyright owner: "Micro Focus International" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://support.novell.com/techcenter/articles/ana19960702.html OpenBSD: copyright owner: "OpenBSD" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.openbsd.org/policy.html OpenSolaris: copyright owner: "Sun Microsystems" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html openSUSE: copyright owner: "openSUSE contributors & others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://en.opensuse.org/openSUSE:License Rocky Linux: copyright owner: "Rocky Enterprise Software Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://rockylinux.org/licensing Red Hat Enterprise Linux: copyright owner: "Red Hat, Inc." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server SUSE Linux Enterprise Desktop: copyright owner: "SUSE" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.suse.com/products/terms_and_conditions.pdf Ubuntu: copyright owner: "Canonical" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://ubuntu.com/legal/open-source-licences Microsoft Windows: copyright owner: "Microsoft Corporation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.microsoft.com/licensing CirrOS: copyright owner: "Canonical Ltd." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-2.0-only AlmaLinux: copyright owner: "Canonical Ltd." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://almalinux.org/p/the-almalinux-os-licensing-policy/ Debian 11: copyright owner: "AlmaLinux OS Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.abc.org #cloud resources: diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 55f122f..5252390 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -67,9 +67,10 @@ def discover_vm_images(self) -> List[JsonLdObject]: """ images = list() for image in self.conn.list_images(): - images.append( - JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) - ) + if image.visibility == 'public': + images.append( + JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) + ) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: From ec334115610a080d3cd84f332398c339dcf430dd Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 29 Feb 2024 11:33:18 +0100 Subject: [PATCH 067/175] Refactoring Signed-off-by: Anja Strunk --- README.md | 144 +- cli.py | 88 +- config/config.yaml | 2 +- doc/20230424-sd-schema.md | 5678 ----------------- .../discovery/openstack/opentack_discovery.py | 11 + .../openstack/vm_images_discovery.py | 28 +- generator/wallet/file_wallet.py | 28 - generator/wallet/wallet.py | 36 - generator/wallet/xfsc_wallet.py | 8 - requirements.txt | 2 +- sd/example.jsonld | 14 - sd/example.ttl | 40 - sd/gx_service_offering_example.jsonld | 65 - sd/gx_shapes_latest.ttl | 191 - sd/validate.py | 53 - 15 files changed, 175 insertions(+), 6213 deletions(-) delete mode 100644 doc/20230424-sd-schema.md delete mode 100644 generator/wallet/file_wallet.py delete mode 100644 generator/wallet/wallet.py delete mode 100644 generator/wallet/xfsc_wallet.py delete mode 100644 sd/example.jsonld delete mode 100644 sd/example.ttl delete mode 100644 sd/gx_service_offering_example.jsonld delete mode 100644 sd/gx_shapes_latest.ttl delete mode 100755 sd/validate.py diff --git a/README.md b/README.md index d9c0b36..6f9ac7d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # gx-credential-generator -Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +Tool for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Gaia-X Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) ## Introduction @@ -10,30 +10,11 @@ assuming that we have access to it (as normal tenant user). We read the OpenStack catalog to collect - public VM Images -This then should be output as JSON-LD for the Gaia-X catalogue. - -References: -- -- -- -- -- - -Notes from reviewing the SD attributes: -* Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties - (generation, speed, insn set extensions, ...) -* NICs: Virtual NICs are almost unlimited, but there may be a limited amount of hardware-accelerated - NICs (using SR-IOV and multiqueue features) available -- these may need to be added to SCS flavor - naming. -* Other extension hardware like FPGAs need to be specified -* Tenant isolation needs a list of criteria. Virt OK? V(x)LANs OK? Shared storage cluster OK? ... -* Availability Zones: Provider needs to create transparency over what it means. Fire protection zones? - Power supply zones? Internet connectivity zones? Minimal and maximal physical distance? Network - latency distance? - +This then should be output as GX compliant credential in JSON-LD for the Gaia-X catalogue. ### k8s -Same thing for k8s +We want to collect discoverable information from a k8s cloud, +assuming that we have access to it. Collect information on a k8s cluster: - Metadata @@ -46,19 +27,19 @@ Collect information on a k8s cluster: For typical k8s aaS offerings, every cluster is different, and we probably don't want to have a description for every single customer specific cluster. (Some providers may offer self-service, -so we would not want to push of a new SD into the G-X catalogue on +so we would not want to push of a new GX Credential into the GX catalogue on creation, changing or deletion of clusters.) Still it might be -helpful to have a SD on demand for an existing cluster to characterize -it, so users can use the SD to match it to app requirements. +helpful to have a GX Credential on demand for an existing cluster to characterize +it, so users can use the GX Credentials to match it to app requirements. -So the SD for a k8s aaS solution would list possible options and +So the GX Credential for a k8s aaS solution would list possible options and ranges: What k8s versions are supported, what max number of workers, flavors, etc.? What services are optionally delivered (and supported) by the provider? For KaaS, the option space really needs to be described. As of now, this can not be discovered, short of using external sources, -like the IaaS SD, the list of node images (osism minio), ... +like the IaaS GX Credential, the list of node images (osism minio), ... ## Quick Start Guide @@ -74,58 +55,82 @@ cd gx-credential-generator pip install -r requirements.txt ``` -3. Create `clouds.yaml` configuration file - - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) - - Make sure the following keys exist in our `clouds.yaml`. clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. + +### OpenStack + +a. Create `clouds.yaml` configuration file + - GX credential Generator requires access to OpenStack cluster as normal tenant user and has to be configured with these user credentials to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html). clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. + - Make sure the following keys exist in our `clouds.yaml`. - `auth.user_domain_name` - `auth.project_domain_name` - `region_name` - - GX Credential Generator requires access to OpenStack cluster as normal tenant user and K8s access - -4. Generate Gaia-X Credentials + +b. Generate Gaia-X Credentials - - To print OpenStack properties in JSON-LD as ONE credential - ```bash + - To print OpenStack properties in JSON-LD +```bash python3 cli.py openstack ``` - - To store OpenStack properties as credential in wallet +[//]: <> (- To store OpenStack properties as several credentials in wallet ```bash python3 cli.py openstack --wallet - ``` - - To omit to print OpenStack properties on screen store OpenStack properties as credential in wallet + ```) + +[//]: <> (- To omit to print OpenStack properties on screen and to store OpenStack properties as credential in wallet ```bash python3 cli.py openstack --wallet --no-print - ``` + ```) + +### K88 +Generate Gaia-X Credentials - To print K8s properties ... ```bash ./gx-sd-generator.py k8s ``` -5. Start the gaiax-pipeline (deprecated) +### Airflow Pipeline +Start the gaiax-pipeline (deprecated) - To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder ``` cd devops docker-compose up -d ``` -## Gaia-X Compliance +### Validation + +Generated GX Credentials could be validated against their schemas (shapes) by the +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: + + + +Try to validate a minimal example against the latest GX shapes (feel free to remove some +required attribute and check validation result): +```bash +./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl +``` + + +## Compliance -GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework) +GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). +GX Credential Generator **does not** create W3C complaint [Verifiable Credentials](https://www.w3.org/TR/vc-data-model/). ## Configuration -GX Credential generator is configured by config.yaml. The configuration includes: +GX Credential generator is configured by `config.yaml`. The configuration includes: -- Default values for mandatory attributes -- Wallets +- Mandatory: Default values for mandatory attributes +- Optional: Values for optional attributes +- Optional: Wallets ### Mandatory Attributes -Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file, from section `default`. +Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file in section `default`. Providers are able to change default values. In doing so, attribute values for **ALL** instances of impacted cloud resource are modified. #### CopyrightOwner, License and ResourcePolicy of VM images -`copyrigthowner`, `license` and `resourcePolicy` are mandatory for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. Configuration file lists default values for `copyrightOwner`, `license` and `resourcePolicy` for operating systems, e.g. for Alpine Linux. +`copyrigthowner`, `license` and `resourcePolicy` are mandatory attributes for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. The values for operating system are defined in section `operating system` with one section for each operating system. Operating systems are refered by name, e.g. for Alpine Linux. ```yaml default: @@ -137,7 +142,7 @@ default: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 ``` -By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM Image instance, individually. Therefore, the section `cloud resources/own images` exists. To set individual values for a specific VM Image add a new section, started by image's name, to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. +By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM image, individually. Therefore, the section `own images` in `cloud resources` exists. To set individual values for a specific VM image, add a new section, started by image's name (as defined in OpenStack cloud) to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. ```yaml cloud resources: @@ -151,37 +156,21 @@ cloud resources: - https://www.abc.org ``` -### Mandatory Attributes +### Optional Attributes -Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file as well. +Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file in section `cloud resources` as well. #### AggregationOf of VM Images +GX Credential schema allows to describe cloud resources, such VM images, in a fine granular manner, by using attribute `aggregationOf`. This attribute refers a list of GX credentials either as [DID](https://www.w3.org/TR/did-core/) or as file path relative to generators working directory. The latter is copied to cloud resource's credentials. For more details on GX credential schema and its attributes, please refer [Gaia-X Service Characteristics GitLab](https://gitlab.com/gaia-x/technical-committee/service-characteristics) +[//]: <> (### Wallets) +[//]: <> (Wallets are digital secure storages to store Verifiable Credentials, like GX credentials. GX generator stores generated GX credentials in all configured wallets. Wallets are configured in section `wallets`. The following wallets are supported:) +[//]: <> (- File System: + - Stores credentials on dedicated folder in disk. Use this wallet for testing purpose only. +) -### Wallets - -Generated SelfDescriptions could be validated against their schemas (shapes) by the - -simple SD validator script. Visit the `sd` directory and try to validate your -generated SD. Find the examples in `sd` directory and do the validation as follows: -```bash -./sd/validate.py sd/example.jsonld sd/example.ttl -``` - -### GX SelfDescription - Service Offering minimal example - -SD definition `sd/gx_service_offering_example.jsonld` should represent -a minimal GX Service Offering example that is valid against the latest GX shacl shapes `sd/gx_shapes_latest.ttl`. -The latest GX shacl shapes (at the time of Hackathon#6 23/05/3-4) are -used by the [GX wizard](https://wizard.lab.gaia-x.eu/), and they have been downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). - -Try to validate a minimal example against the latest GX shapes (feel free to remove some -required attribute and check validation result): -```bash -./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl -``` ## Docker @@ -206,6 +195,14 @@ mkdir -p os_secret && cp secret1 /os_secret docker run -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 ``` +Generated SelfDescriptions could be validated against their schemas (shapes) by the + +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: +```bash +./sd/validate.py sd/example.jsonld sd/example.ttl +``` + ## Status (2023-05-04) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, @@ -224,7 +221,6 @@ https://signer.demo.delta-dao.com/#signer From an OpenStack perspective, this still incomplete. - We lack flavor details (though we need SCS specs to discover more) -- We lack a list of public images (along with image details) - Neutron probably has a few things to detect. During Hackathon#6, the JSON-LD was updated match the current diff --git a/cli.py b/cli.py index 17de219..8b08cd5 100644 --- a/cli.py +++ b/cli.py @@ -1,5 +1,19 @@ +#!/usr/bin/env python3 + +"""Script to validate self-description in JSON-LD format + against its schema is turtle format. + +(c) Kurt Garloff , 5/2023 +(c) Roman Hros , 5/2023 +(c) Matej Feder , 5/2023 +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + import json import sys +import warnings + from typing import List import click @@ -8,12 +22,20 @@ import generator.common.const as const import generator.common.json_ld as json_ld + +from pyshacl import validate + from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud from generator.wallet.file_wallet import FileSystemWallet from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet +import rdflib + +SHAPES_FILE_FORMAT = "turtle" +DATA_FILE_FORMAT = "json-ld" + @click.group() def cli(): @@ -21,16 +43,16 @@ def cli(): @click.command() -@click.option( - "--wallet", - is_flag=True, - help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", -) -@click.option( - "--no-print", - is_flag=True, - help="Use '--no-print' to omit json-ld print on screen.", -) +#@click.option( +# "--wallet", +# is_flag=True, +# help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", +#) +#@click.option( +# "--no-print", +# is_flag=True, +# help="Use '--no-print' to omit json-ld print on screen.", +#) @click.option( "--config", default="config/config.yaml", @@ -38,7 +60,8 @@ def cli(): ) @click.option("--timeout", default=12, help="Timeout for API calls in seconds") @click.argument("cloud") -def openstack(cloud, timeout, config, no_print, wallet): +def openstack(cloud, timeout, config): +#def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -67,15 +90,18 @@ def openstack(cloud, timeout, config, no_print, wallet): creds = os_cloud.discover_properties() # store creds in wallets - if wallet: - wallets = init_wallets(config_dict) - store_creds_in_wallet(wallets, creds) + #if wallet: + # wallets = init_wallets(config_dict) + # store_creds_in_wallet(wallets, creds) # print on screen - if not no_print: - props = json_ld.get_json_ld_context() - props["@graph"] = creds - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + #if not no_print: + props = json_ld.get_json_ld_context() + props["@graph"] = creds + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + + #if not wallet and no_print: + # warnings.warn("--no-print is set, but not --wallet. Generated credential(s) will be stored/printed nowhere.") @click.command() @@ -109,8 +135,34 @@ def store_creds_in_wallet( w.store_credential(c) +def load_file(filepath, file_format=DATA_FILE_FORMAT): + """Load file in a given format""" + graph = rdflib.Graph() + graph.parse(filepath, format=file_format) + return graph + + +#@click.command() +#@click.argument("credential", help=f"Filepath of GX Credential to validate. Should have {DATA_FILE_FORMAT} format", ) +#@click.argument("shapes", +# help=f"Filepath of shacl schema to be used for validation. Should have {SHAPES_FILE_FORMAT} format", ) +#def validate(credential, shapes): +# """Validate SD in jsonld format against given schema in turtle format""" +# conforms, results_graph, results_text = validate( +# load_file(credential), +# shacl_graph=load_file(shapes, file_format=SHAPES_FILE_FORMAT), +# data_graph_format=DATA_FILE_FORMAT, +# shacl_graph_format=SHAPES_FILE_FORMAT, +# inference="rdfs", +# debug=False, +# serialize_report_graph=True, +# ) +# print(results_text) + + cli.add_command(openstack) cli.add_command(kubernetes) +#cli.add_command(validate) if __name__ == "__main__": cli() diff --git a/config/config.yaml b/config/config.yaml index c62a569..ea47ae1 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -91,7 +91,7 @@ default: resource policy: "default: allow intent" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server - SUSE Linux Enterprise Desktop: + SUSE Linux Enterprise Server: copyright owner: "SUSE" resource policy: "default: allow intent" license: diff --git a/doc/20230424-sd-schema.md b/doc/20230424-sd-schema.md deleted file mode 100644 index 2f7a654..0000000 --- a/doc/20230424-sd-schema.md +++ /dev/null @@ -1,5678 +0,0 @@ -# Self Description Model - -Version: 24/04/2023 - -## Outline - -- [gax-resource:NetworkingDevice](#gax-resource:networkingdevice) -- [gax-trust-framework:Attestation](#gax-trust-framework:attestation) -- [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) -- [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) -- [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) -- [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal) -- [gax-trust-framework:BigData](#gax-trust-framework:bigdata) -- [gax-trust-framework:BlockStorageOffering](#gax-trust-framework:blockstorageoffering) -- [gax-trust-framework:CPU](#gax-trust-framework:cpu) -- [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue) -- [gax-trust-framework:Certificates](#gax-trust-framework:certificates) -- [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) -- [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) -- [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) -- [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) -- [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) -- [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) -- [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) -- [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) -- [gax-trust-framework:ComplianceLabel](#gax-trust-framework:compliancelabel) -- [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) -- [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) -- [gax-trust-framework:Compute](#gax-trust-framework:compute) -- [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction) -- [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) -- [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) -- [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) -- [gax-trust-framework:Container](#gax-trust-framework:container) -- [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) -- [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) -- [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) -- [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) -- [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering) -- [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) -- [gax-trust-framework:DataResource](#gax-trust-framework:dataresource) -- [gax-trust-framework:Database](#gax-trust-framework:database) -- [gax-trust-framework:DigitalIdentityWallet](#gax-trust-framework:digitalidentitywallet) -- [gax-trust-framework:Disk](#gax-trust-framework:disk) -- [gax-trust-framework:Encryption](#gax-trust-framework:encryption) -- [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) -- [gax-trust-framework:FPGA](#gax-trust-framework:fpga) -- [gax-trust-framework:FileStorageOffering](#gax-trust-framework:filestorageoffering) -- [gax-trust-framework:GPU](#gax-trust-framework:gpu) -- [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) -- [gax-trust-framework:IdentityAccessManagementOffering](#gax-trust-framework:identityaccessmanagementoffering) -- [gax-trust-framework:IdentityFederation](#gax-trust-framework:identityfederation) -- [gax-trust-framework:IdentityProvider](#gax-trust-framework:identityprovider) -- [gax-trust-framework:Image](#gax-trust-framework:image) -- [gax-trust-framework:ImageRegistryOffering](#gax-trust-framework:imageregistryoffering) -- [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering) -- [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) -- [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) -- [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) -- [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier) -- [gax-trust-framework:Interoperability](#gax-trust-framework:interoperability) -- [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation) -- [gax-trust-framework:InteroperabilityAttestationType](#gax-trust-framework:interoperabilityattestationtype) -- [gax-trust-framework:LegalPerson](#gax-trust-framework:legalperson) -- [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity) -- [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) -- [gax-trust-framework:Location](#gax-trust-framework:location) -- [gax-trust-framework:Measure](#gax-trust-framework:measure) -- [gax-trust-framework:Memory](#gax-trust-framework:memory) -- [gax-trust-framework:Network](#gax-trust-framework:network) -- [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity) -- [gax-trust-framework:NetworkOffering](#gax-trust-framework:networkoffering) -- [gax-trust-framework:Node](#gax-trust-framework:node) -- [gax-trust-framework:ObjectStorageOffering](#gax-trust-framework:objectstorageoffering) -- [gax-trust-framework:Orchestration](#gax-trust-framework:orchestration) -- [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) -- [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) -- [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) -- [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver) -- [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering) -- [gax-trust-framework:Provider](#gax-trust-framework:provider) -- [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) -- [gax-trust-framework:Region](#gax-trust-framework:region) -- [gax-trust-framework:RegistrationNumber](#gax-trust-framework:registrationnumber) -- [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) -- [gax-trust-framework:Resource](#gax-trust-framework:resource) -- [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) -- [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint) -- [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) -- [gax-trust-framework:Signatur](#gax-trust-framework:signatur) -- [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) -- [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) -- [gax-trust-framework:Standard](#gax-trust-framework:standard) -- [gax-trust-framework:StorageOffering](#gax-trust-framework:storageoffering) -- [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) -- [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) -- [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) -- [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) -- [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) -- [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) -- [gax-trust-framework:VerifiableCredentialWallet](#gax-trust-framework:verifiablecredentialwallet) -- [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) -- [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) -- [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) -- [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) -- [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) -- [gax-trust-framework:Volume](#gax-trust-framework:volume) -- [gax-trust-framework:WalletOffering](#gax-trust-framework:walletoffering) -- [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) - - -
- - -## gax-resource:NetworkingDevice - -```mermaid -classDiagram - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount - - -``` - - **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| managementPort | xsd:string | 0 | unlimited | A dedicated port for management tasks. | no, yes | -| consolePort | xsd:string | 0 | unlimited | A dedicated port for console tasks. | no, yes | -| portCapacity_A | xsd:float
0 <= value | 0 | unlimited | The assigned capacity of ports. | 10GE, 100GE | -| portCapacity_A_Count | xsd:integer
1 <= value | 0 | unlimited | The assigned number of ports. | 10, 1 | -| redundantPowerSupply | xsd:string | 0 | unlimited | Availability of redundant power supply for the cases of emergency. | yes, no | -| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Ram size of the networking device | 2Gb | -| cpuCount | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Number of available CPUs. | 1 | -| type | xsd:string | 0 | unlimited | Type of networking device | switch, router, repeater | -| supportedProtocols | xsd:string | 0 | unlimited | List of supported protocols among used layers should be specified. | IP, IRP | -| networkAdress | xsd:float | 0 | unlimited | IP address of the netowrking device | 192.168.24.2/32 | - - -
- - -## gax-trust-framework:Attestation - -```mermaid -classDiagram - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -class gaxTrustFramework_InteroperabilityAttestation{ -interoperabilityAttestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation), [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| providedBy | gax-core:Participant | 1 | 1 | DID of participant providing this Attestation. | https://gaia-x.eu | -| attestationDate | xsd:date | 1 | 1 | Date of Attestation | | -| attestationType | xsd:string | 1 | 1 | Type of attestation: Positive or Negative (revocation) | Positive, Negative ( Revocation ) | - - -
- - -## gax-trust-framework:AutoscaledContainer - -```mermaid -classDiagram - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer - - -``` - - **Super classes**: [gax-trust-framework:Container](#gax-trust-framework:container) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:AutoscaledVirtualMachine - -```mermaid -classDiagram - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec - - -``` - - **Super classes**: [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| autoscaledVmServiceSpec | [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) | 1 | unlimited | Auto Scaling Group Specifications for this service offering | (a structured object of type gax-trust-framework:VMAutoScalingGroupSpec) | - - -
- - -## gax-trust-framework:AvailabilityZone - -```mermaid -classDiagram - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone - -gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | an availability zone is an aggregation of resources - physical and abstract - in a non-redundant setup often associated with a single datacenter room | (reference to Resources) | - - -
- - -## gax-trust-framework:BareMetal - -```mermaid -classDiagram - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal - -class gaxTrustFramework_PxeImage{ -format -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) | 1 | unlimited | all possible provided bare metal server images for this service offering | (a structured object of type gax-trust-framework:PXEImage) | -| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided bare metal server flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | - - -
- - -## gax-trust-framework:BigData - -```mermaid -classDiagram - -gaxTrustFramework_Platform <|-- gaxTrustFramework_BigData - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:BlockStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_BlockStorageOffering{ -volumeTypes -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_BlockStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| volumeTypes | xsd:string | 0 | 1 | List of volume types supported by this block storage | local-fast, remote-fast, remote-standard | - - -
- - -## gax-trust-framework:CPU - -```mermaid -classDiagram - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuArchitecture | xsd:string
value must be in: [x86, x86-64, RISC-V, Generic] | 0 | 1 | Basic CPU architecture. | x86, x86-64, RISC-V, Generic | -| cpuGeneration | xsd:string
value must be in: [Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2] | 0 | 1 | CPU instruction set generation. Determines basic feature set and migration compatibility. | Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2 | -| cpuFlag | xsd:string | 0 | unlimited | CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h . | fpu, vme, de, pse, sse, sse2, ht, vmx, smx, sse4_1, sse4_2, avx, 3dnowprefetch, ibrs_enhanced, ept_ad, sgx, sgx_lc, md_clear, arch_capabilities, ... | -| smtIsEnabled | xsd:boolean | 0 | 1 | Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default False. | true, false | -| numberOfSockets | xsd:integer | 0 | 1 | Number of CPU Sockets | 1, 2, 4 | -| numberOfCores | xsd:integer
1 <= value | 0 | 1 | Number of Cores of the CPU | 4, 6, 8, 12, 24 | -| numberOfThreads | xsd:integer
1 <= value | 0 | 1 | Number of Threads of the CPU | 8, 12, 24 | -| baseFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Frequency of the CPU | A structure object of type measure, e.g. measure:value=3.0 and measure:unit=GHz | -| boostFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Boost frequency of the CPU | A structure object of type measure, e.g. measure:value=4.0 and measure:unit=GHz | -| lastLevelCacheSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Last Level Cache size of the CPU | A structure object of type measure, e.g. measure:value=38 and measure:unit=MB | -| socket | xsd:string | 0 | 1 | Socket the CPU fits into. | FCLGA3647 | -| tdp | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | CPU Thermal Design Power - ref : https://en.wikipedia.org/wiki/Thermal_design_power | A structure object of type measure, e.g. measure:value=100 and measure:unit=W | -| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default maximum number of workloads scheduled on this CPU simultaneously | 1.0 | -| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available scheduler settings for the numer of simultaneously scheduled workloads on this CPU | 1.0 | - - -
- - -## gax-trust-framework:Catalogue - -```mermaid -classDiagram - -class gaxTrustFramework_Catalogue{ -getVerifiableCredentialsIDs -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| getVerifiableCredentialsIDs | xsd:string | 1 | unlimited | A route used to synchronize catalogues and retrieve the list of Verifiable Credentials (issuer, id). | | - - -
- - -## gax-trust-framework:Certificates - -```mermaid -classDiagram - -class gaxTrustFramework_Certificates{ -certificateName -certificateType -descriptionOfTestScope -certificateAuthority -certificateDocument -expirationDate -regularAudits -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| certificateName | xsd:string | 1 | 1 | Relevant certificate for the service | ISO XYZ | -| certificateType | xsd:string | 1 | 1 | Type of the certificates | BSI IT-Grundschutz, ISO 27001, Trust in Cloud | -| descriptionOfTestScope | xsd:string | 1 | 1 | Description of the scope of testing for this service | Freetext | -| certificateAuthority | xsd:string | 1 | 1 | Certificate authority for this service or its certificate | TÜV Süd | -| certificateDocument | xsd:string | 1 | 1 | Document that contains a certificate copy | certificates.pdf | -| expirationDate | xsd:date | 1 | 1 | Date on which the certificate expires | 2122-12-21 | -| regularAudits | xsd:boolean | 1 | 1 | Is the certificate regularly audited? | true, false | - - -
- - -## gax-trust-framework:CheckSum - -```mermaid -classDiagram - -class gaxTrustFramework_CheckSum{ -checksum -checksumAlgorithm -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| checksum | xsd:string | 1 | 1 | Value of check sum | 5d68f20237c7c01c067b577ee5e490d1 | -| checksumAlgorithm | xsd:string
value must be in: [md5, sha-1, ripemd-160, sha-2, sha-3, blake2, blake3, other] | 1 | 1 | Defines algorithm for generating check sum | md5 | - - -
- - -## gax-trust-framework:CodeArtifact - -```mermaid -classDiagram - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) - - **Sub classes**: [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode), [gax-trust-framework:Image](#gax-trust-framework:image) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 1 | 1 | Name identifying the code artifact | Image 1, Function_2 | - - -
- - -## gax-trust-framework:ComplianceAssessmentBody - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxCore_Participant <|-- gaxTrustFramework_ComplianceAssessmentBody - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential - -gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody - -gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| canCertifyThirdPartyComplianceCertificationScheme | [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) | 1 | unlimited | IDs of the Third Party Compliance Certification Scheme this Compliance Assessment Body can certify. | did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#1, did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#2 | -| hasThirdPartyComplianceCertificateClaim | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | unlimited | IDs of Certificate claims issued by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#1, did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#2 | -| hasThirdPartyComplianceCredential | [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) | 1 | unlimited | IDs of the Certificate claims VC certified by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceVC/sha256#1, did:web:compliance.gaia-x.eu/complianceVC/sha256#2 | - - -
- - -## gax-trust-framework:ComplianceCertificateClaim - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceCertificationScheme | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 0 | 1 | ID of the Compliance Certification Scheme (self-description) involved in the certification | https://company-a.com/self-descriptions/compliance-cert-scheme-iso27001.jsonld | -| hasServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | 1 | ID of the Service Offering (self-description) certified for the compliance | https://company-a.com/self-descriptions/service-offering-iaas.jsonld | - - -
- - -## gax-trust-framework:ComplianceCertificateCredential - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -cred_VerifiableCredential <|-- gaxTrustFramework_ComplianceCertificateCredential - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential - - -``` - - **Super classes**: [cred:VerifiableCredential](#cred:verifiablecredential) - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| credentialSubject | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 1 | 1 | ID of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the ID is the ID of the third party | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ComplianceCertificationScheme - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme - -gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceReference | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | 1 | ID of Compliance Reference (self-description) to be certified by any means defined in the Certification Scheme | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | -| grantsComplianceCriteriaCombination | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | 1 | ID of Compliance Criterion Combination granted by the scheme in case of certification | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | - - -
- - -## gax-trust-framework:ComplianceCriteriaCombination - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -class gaxTrustFramework_ComplianceCriterion{ -hasName -hasDescription -hasLevel -} - -gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination - -class gaxTrustFramework_ComplianceLabel{ -hasName -hasDescription -hasLevel -hasRequiredCriteriaCombinations -} - -gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X criteria combination | Gaia-X Criteria Combination #1 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language | Gaia-X | -| requiredOrGrantedCriteria | [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) | 1 | unlimited | List of Required Criteria to be granted for the label or list of granted Criteria by the compliance. All the Criteria have to be granted (logic AND) | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | - - -
- - -## gax-trust-framework:ComplianceCriterion - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCriterion{ -hasName -hasDescription -hasLevel -} - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Criterion | Gaia-X C1/L1 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Criterion as defined in TF document | Gaia-X | -| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Label level. The level ordering is done by alphanumeric order. | 1, 2, 3 | - - -
- - -## gax-trust-framework:ComplianceLabel - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceLabel{ -hasName -hasDescription -hasLevel -hasRequiredCriteriaCombinations -} - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Label | Gaia-X GDPR Trusted Label | -| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Label as defined in TF document | Gaia-X | -| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Gaia-X Label Level as defined in TF document | 1, 2, 3 | -| hasRequiredCriteriaCombinations | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | unlimited | List of Criteria Combinations. If one of these Combinations is valid the Label is Granted | 1, 2, 3 | - - -
- - -## gax-trust-framework:ComplianceReference - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -class gaxTrustFramework_ComplianceReferenceManager{ -hasComplianceReferences -} - -gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference - -gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasReferenceUrl | xsd:anyURI | 1 | 1 | URI to reference the content of the compliance reference in a single PDF file | https://www.iso.org/iso-27001.pdf | -| hasSha256 | xsd:string | 1 | 1 | SHA256 of PDF document referenced by hasReferenceUrl. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | -| hasComplianceReferenceTitle | xsd:string | 1 | 1 | Name of the Compliance Reference | ISO 27001 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language | Information security management system standards. | -| hasComplianceReferenceManager | [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) | 1 | 1 | ID of Participant (self-description) in charge of managing this Compliance Reference | https://company-a.com/self-descriptions/compliance-ref-manager.jsonld | -| hasVersion | xsd:string | 0 | 1 | versioning according to [semver](https://semver.org/). | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| cRValidFrom | xsd:dateTime | 0 | 1 | Indicates the first date when the compliance reference goes into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| cRValidUntil | xsd:dateTime | 0 | 1 | Indicates the last date when the compliance reference is no more into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| hasComplianceCertificationSchemes | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 1 | unlimited | List of schemes that grants certification. This list is managed by a reference manager. | did:web:compliance.cispe.org/coc/gdpr/thirdparty#1 | - - -
- - -## gax-trust-framework:ComplianceReferenceManager - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceReferenceManager{ -hasComplianceReferences -} - -gaxCore_Participant <|-- gaxTrustFramework_ComplianceReferenceManager - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences - -gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceReferences | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | unlimited | Unordered list of Ids of ComplianceReferences (self-description) managed by this ComplianceReferenceManager | https://company-a.com/self-descriptions/comp-ref1.jsonld | - - -
- - -## gax-trust-framework:Compute - -```mermaid -classDiagram - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_Container - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal), [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction), [gax-trust-framework:Container](#gax-trust-framework:container), [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) | 1 | unlimited | Compute Service Code Artifacts | (a structured object of type gax-trust-framework:CodeArtifact) | -| instantiationReq | [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) | 1 | unlimited | Set of technical Requirements / conditions to instantiate this service offering | (a structured object of type gax-trust-framework:InstantiationRequirements) | -| tenantSeparation | xsd:string | 0 | 1 | How compute resources of different tenants are separated. Default value = hw-virtualized | hw-virtualized, sw-virtualized, os-virtualized, os-hw-virtualized, hw-partitioned, physical | - - -
- - -## gax-trust-framework:ComputeFunction - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| code | [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionCode) | -| trigger | [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionTrigger) | - - -
- - -## gax-trust-framework:ComputeFunctionCode - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code - - -``` - - **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| file | xsd:anyURI | 1 | 1 | URL referring to function code file | https://storage.endpoint/image-file | - - -
- - -## gax-trust-framework:ComputeFunctionTrigger - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| URL | xsd:anyURI | 1 | 1 | URI / URL used to trigger this compute function | https://compute.function.endpoint | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether function is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether function has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:Connectivity - -```mermaid -classDiagram - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_Connectivity - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity - -class gaxTrustFramework_NetworkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity - -class gaxTrustFramework_PhysicalConnectivity{ -CircuitType -InterfaceType -SourceAccessPoint -DestinationAccessPoint -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity), [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity), [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| InstantiationRequirements | xsd:string | 0 | 1 | | | - - -
- - -## gax-trust-framework:Container - -```mermaid -classDiagram - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_Container - -gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer - -class gaxTrustFramework_ContainerImage{ -baseOS -format -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| image | [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) | 1 | unlimited | set of all possible provided container images for this service offering | (a structured object of type gax-trust-framework:ContainerImage) | -| resourceLimits | [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) | 1 | unlimited | set of all possible container resource limits for this service offering | (a structured object of type gax-trust-framework:ContainerQuota) | - - -
- - -## gax-trust-framework:ContainerImage - -```mermaid -classDiagram - -class gaxTrustFramework_ContainerImage{ -baseOS -format -} - -gaxTrustFramework_WorkloadArtifact <|-- gaxTrustFramework_ContainerImage - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image - - -``` - - **Super classes**: [gax-trust-framework:WorkloadArtifact](#gax-trust-framework:workloadartifact) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| baseOS | xsd:string | 1 | 1 | container image base operating system | linux, windows | -| format | xsd:string | 1 | 1 | container image format | docker v1, docker v2, oci, lxc | - - -
- - -## gax-trust-framework:ContainerResourceLimits - -```mermaid -classDiagram - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | 1 | CPU requirements | (a structured object of type gax-trust-framework:CPU) | -| numberOfCoresLimit | xsd:integer | 0 | 1 | limit to the number of cores used by container | 2 | -| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory requirements | (a structured object of type gax-trust-framework:Memory) | -| memoryLimit | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory limit | (a structured object of type gax-trust-framework:Memory) | -| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | 1 | number of GPUs | (a structured object of type gax-trust-framework:GPU) | -| gpuLimit | xsd:integer | 0 | 1 | GPU number limit | 1, 2 | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether container is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential container has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:DataAccountExport - -```mermaid -classDiagram - -class gaxTrustFramework_DataAccountExport{ -requestType -accessType -formatType -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| requestType | xsd:string | 1 | 1 | the mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter. | API, email, webform, unregisteredLetter | -| accessType | xsd:string | 1 | 1 | type of data support: digital, physical. | digital, physical | -| formatType | xsd:string | 1 | 1 | type of Media Types (formerly known as MIME types) as defined by the IANA. | application/gzip, text/csv | - - -
- - -## gax-trust-framework:DataCenter - -```mermaid -classDiagram - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf - -class gaxTrustFramework_Region{ -aggregationOf -} - -gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) | 1 | unlimited | a data center is an aggregation of availability zones | (reference to availability zone) | - - -
- - -## gax-trust-framework:DataConnectorOffering - -```mermaid -classDiagram - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| physicalResource | [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) | 1 | unlimited | a list of resource with information of where the data is located | https://gaia-x.eu | -| virtualResource | [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) | 1 | unlimited | a list of resource with information of who owns the data. | https://gaia-x.eu | -| policies | xsd:anyURI | 1 | unlimited | a list of policy expressed using a DSL used by the data connector policy engine leveraging Gaia-X Self-descriptions as both data inputs and policy inputs | https://gaia-x.eu | -| type | xsd:string | 0 | unlimited | Type of the data asset, which helps discovery. Preferably a controlled vocabulary entry referenced by URI | dataset, container | -| creationTime | xsd:dateTimeStamp | 0 | unlimited | Timestamp the service has been created. | 2021-07-17T00:31:30Z | -| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | - - -
- - -## gax-trust-framework:DataExport - -```mermaid -classDiagram - -class gaxTrustFramework_DataExport{ -unlimitedAccessToCustomerData -description -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| unlimitedAccessToCustomerData | xsd:string
value must be in: [No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered] | 1 | 1 | Can the user access unlimited and at any time the customer data? | No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered | -| description | xsd:string | 1 | 1 | Description of procedures for data repatriation and supported file formats? | Freetext | - - -
- - -## gax-trust-framework:DataResource - -```mermaid -classDiagram - -class gaxTrustFramework_DataResource{ -producedBy -exposedThrough -obsoleteDateTime -expirationDateTime -containsPII -legalBasis -} - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| producedBy | gax-core:Participant | 1 | 1 | A resolvable link to the participant self-description legally enabling the data usage. | (a reference to gax-core:Participant object) | -| exposedThrough | gax-core:Participant | 1 | unlimited | A resolvable link to the data exchange component that exposes the data resource. | | -| obsoleteDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is obsolete. | 2022-10-26T21:32:52 | -| expirationDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is expired and shall be deleted. | 2022-10-26T21:32:52 | -| containsPII | xsd:boolean | 1 | 1 | Boolean determined by Participant owning the Data Resource. | True | -| legalBasis | xsd:string | 0 | 1 | NOTE: Mandatory if containsPII is true. One of the reasons as detailed in the identified Personal Data Protection Regimes, such as [GDPR2018]. Potential Legal Bases can be [article 6], article 7, (https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1) or article 9. It shall be expressed as a string matching 6.1.[a-f], 6.1.4, 7 or 9.2.[a-j]. (Note: this list is not final, as GDPR and Member State Law may provide for additional legal basis. Those will be implemented as options in future iterations.) | https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1 | - - -
- - -## gax-trust-framework:Database - -```mermaid -classDiagram - -gaxTrustFramework_Platform <|-- gaxTrustFramework_Database - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:DigitalIdentityWallet - -```mermaid -classDiagram - -gaxTrustFramework_Wallet <|-- gaxTrustFramework_DigitalIdentityWallet - - -``` - - **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Disk - -```mermaid -classDiagram - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | The size of that hard drive. | 1600 GB | -| type | xsd:string | 0 | 1 | The type of that hard drive. | local SSD, local HDD, shared network storage, high-perf NVMe | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of disk ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | -| keyManagement | xsd:string | 1 | unlimited | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "bring-your-own-key": : Keys created by user and stored in key manager of cloud. "hold-your-own-key": Key created by user and kept by user | managed, bring-your-own-key, hold-your-own-key | - - -
- - -## gax-trust-framework:Encryption - -```mermaid -classDiagram - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| encryptionAlgorithm | xsd:string
value must be in: [none, rsa] | 1 | 1 | Supported algorithm used to encrypt. | none, rsa | -| keyManagement | xsd:string
value must be in: [managed, byok, hyok] | 1 | 1 | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "byok": bring-your-own-key: Keys created by user and stored in key manager of cloud. "hyok" hold-your-own-key Key created by user and kept by user | managed, byok, hyok | - - -
- - -## gax-trust-framework:Endpoint - -```mermaid -classDiagram - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| endPointURL | xsd:anyURI | 0 | unlimited | The URL of the endpoint where it can be accessed | https://gaia-x.eu/ | -| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | -| endpointDescription | xsd:anyURI | 0 | unlimited | The Description (e.g. openAPI Description) of the endpoint | https://gaia-x.eu/ | - - -
- - -## gax-trust-framework:FPGA - -```mermaid -classDiagram - -class gaxTrustFramework_FPGA{ -type -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string | 0 | 1 | FPGA generation. | Agilex, Stratix | - - -
- - -## gax-trust-framework:FileStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_FileStorageOffering{ -fileSystem -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_FileStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| fileSystem | xsd:string
value must be in: [FAT32, NTFS, exFAT] | 0 | 1 | File system of storage service. | FAT32, NTFS, exFAT | - - -
- - -## gax-trust-framework:GPU - -```mermaid -classDiagram - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| gpuGeneration | xsd:string | 0 | 1 | GPU generation. | Fermi, Kepler, Gen9 | -| memory | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | Memory of the GPU | a structure object of type Memory | -| connection | xsd:string | 0 | 1 | Interconnection of the GPU | PCIe Gen4: 64GB/s | - - -
- - -## gax-trust-framework:HardwareSpec - -```mermaid -classDiagram - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk - -class gaxTrustFramework_FPGA{ -type -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:CPU](#gax-trust-framework:cpu), [gax-trust-framework:Disk](#gax-trust-framework:disk), [gax-trust-framework:FPGA](#gax-trust-framework:fpga), [gax-trust-framework:GPU](#gax-trust-framework:gpu), [gax-trust-framework:Memory](#gax-trust-framework:memory), [gax-trust-framework:Network](#gax-trust-framework:network) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | 1 | Procuct name of the hardware resource. | Xeon Platinum 8280 | -| vendor | xsd:string
value must be in: [intel, AMD, NVIDEA, others] | 0 | 1 | Vendor of this hardware. | intel, AMD, NVIDEA, others | - - -
- - -## gax-trust-framework:IdentityAccessManagementOffering - -```mermaid -classDiagram - -class gaxTrustFramework_IdentityAccessManagementOffering{ -disableUserAccountDaysInactive -passwordExpiresDays -authKind -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_IdentityAccessManagementOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| disableUserAccountDaysInactive | xsd:integer
1 <= value | 0 | 1 | Days of account inactivity before a user account is disabled. | | -| passwordExpiresDays | xsd:integer
1 <= value | 0 | 1 | Days until a user must renew their password. This attribute is only allowed with authKind=credentials. | | -| authKind | xsd:string
value must be in: [credentials, ssl-cert] | 0 | 1 | Indicate, which kind of authentication is used. "credentials": Authentication with username and password. "ssl-cert": Authentication with X.509 certificates. | credentials, ssl-cert | - - -
- - -## gax-trust-framework:IdentityFederation - -```mermaid -classDiagram - -gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityFederation - - -``` - - **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:IdentityProvider - -```mermaid -classDiagram - -gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityProvider - - -``` - - **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Image - -```mermaid -classDiagram - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image - -class gaxTrustFramework_PxeImage{ -format -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage - -class gaxTrustFramework_VmImage{ -format -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage - -class gaxTrustFramework_CheckSum{ -checksum -checksumAlgorithm -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Signatur{ -signatur -signatureAlgo -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image - - -``` - - **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - **Sub classes**: [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage), [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| diskFormat | xsd:string | 0 | 1 | Disk format. Default RAW | RAW | -| checkSum | [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) | 0 | 1 | Details on checksum of this image. | (a strucctured object of type gax-trust-framework:Checksum) | -| version | xsd:string | 0 | 1 | Version of this image. | 8 | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements for this image | (a structure object of type CPU) | -| fileSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | file size of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | -| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | size in RAM of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of image ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | -| signature | [gax-trust-framework:Signatur](#gax-trust-framework:signatur) | 0 | 1 | Details of image signatur. | (a strucctured object of type gax-trust-framework:Signatur) | - - -
- - -## gax-trust-framework:ImageRegistryOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_ImageRegistryOffering - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| image | [gax-trust-framework:Image](#gax-trust-framework:image) | 0 | 1 | Images available in this image registry. | (a structured object of type gax-resource:Software) | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details on encryption capabilities of this image registry. | (a structured object of type gax-core:Encryption) | -| privateImagesAllowed | xsd:boolean | 0 | 1 | Default: "true". "true" means that the image registry supports upload of private user images. | true, false | - - -
- - -## gax-trust-framework:InfrastructureOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:InstantiatedVirtualResource - -```mermaid -classDiagram - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource - -class gaxTrustFramework_VirtualNode{ -type -} - -gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_ServiceAccessPoint{ -name -host -protocol -version -port -openAPI -} - -gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| maintainedBy | gax-core:Participant | 1 | unlimited | a list of participants maintaining the resource in operational condition. | https://gaia-x.eu | -| hostedOn | gax-core:Resource | 1 | 1 | a resource where the instance of this virtual resource is being executed on. | https://gaia-x.eu | -| instanceOf | gax-core:Resource | 1 | 1 | A virtual resource (normally a software resource) this process is an instance of. | https://gaia-x.eu | -| tenantOwnedBy | gax-core:Participant | 1 | unlimited | A list of participant with contractual relation with the resource. | https://gaia-x.eu | -| serviceAccessPoint | [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint)
value must be in: [PD-SAP, PLME-SAP] | 1 | unlimited | a list of Service Access Point which can be an endpoint as a mean to access and interact with the resource | PD-SAP, PLME-SAP | - - -
- - -## gax-trust-framework:InstantiationRequirements - -```mermaid -classDiagram - -gaxCore_Configuration <|-- gaxTrustFramework_InstantiationRequirements - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq - - -``` - - **Super classes**: [gax-core:Configuration](#gax-core:configuration) - - **Sub classes**: [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger), [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits), [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor), [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Interconnection - -```mermaid -classDiagram - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag - - -``` - - **Super classes**: [gax-trust-framework:Network](#gax-trust-framework:network) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| location | vcard:Address | 0 | unlimited | A vcard:Address Object containing the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format with at least the both ends of the connection. | (a reference to vcard:Address object) | -| interface.type | xsd:string | 0 | unlimited | a type of physical interface | Copper cable, 5G | -| connectionPointA | xsd:string | 0 | unlimited | The ID of the source of the connection. | a MAC address, IP address | -| connectionPointZ | xsd:string | 0 | unlimited | The ID of the destination of the connection. | a MAC address, IP address | -| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual bandwidth defined in the service level agreement (SLA). Bandwidth is usually measured in dimension of bits per second. | 500 Gbps | -| latency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual latency defined in the SLA. If not specified, then best effort is assumed. Latency is usually measured in dimension of time. | 10 seconds | -| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual availability of connection defined in the SLA agreement. If not specified, then best effort is assumed. Availability is measured in the pseudo-unit "percent". | 99 percent | -| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | -| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual jitterdefined in the SLA. If not specified, then best effort is assumed. Jitter is measured in dimension of time. | 0.01 miliseconds | -| targetPercentile | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual percentile in the SLA. Usually referred to the nubmer of frames the SLA metrics such as availability, latency and jitter can bbe guaranteed. | 97.5%, 99% | -| connectionType | xsd:string | 0 | unlimited | the supported types of connection, preferably specified as a controlled vocabulary entry | ethernet unicast, multicast, broadcast support | -| vlanType | xsd:string | 0 | unlimited | the chosen types of vlan types | qinq, dot1q | -| vlanTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | -| vlanEtherType | xsd:string | 0 | unlimited | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | -| connectedNetwork_A | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side A | 200, 714 | -| connectedNetwork_Z | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side Z | 200, 714 | -| prefixSet_A | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side A | 176.46.32.0/24 | -| prefixSet_Z | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side Z | 192.46.52.0/24 | - - -
- - -## gax-trust-framework:InterconnectionPointIdentifier - -```mermaid -classDiagram - -class gaxTrustFramework_InterconnectionPointIdentifier{ -dataCenterName -dataCenterFloor -DataCenterRackNumber -dataCenterPatchPanel -dataCenterPortNumber -macAddress -IPAddress -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| dataCenterName | xsd:string | 0 | 1 | the name or Id of datacenter where the service can be accessed | Equinix FR2 - Frankfurt, North, Datacenter Leipzig Lindenau (RZW) , Equinix AM1/AM2 - Amsterdam, Luttenbergweg | -| dataCenterFloor | xsd:string | 0 | 1 | the floor number of datacenter where the service can be accessed | 0G, 1st , 2nd | -| DataCenterRackNumber | xsd:string | 0 | 1 | the Id of datacenter rack number where the service can be accessed | 0FM102 | -| dataCenterPatchPanel | xsd:string | 0 | 1 | the Id of datacenter patch panel where the service can be accessed | PP102 | -| dataCenterPortNumber | xsd:string | 0 | 1 | the port number on the patch panel where the service can be accessed | 14, 16, 25 | -| macAddress | xsd:string | 0 | 1 | the mac address required for L2 connectivity setup | 00:00:5e:00:53:af | -| IPAddress | xsd:string | 0 | 1 | the IP address required for L3 connectivity setup | 18.125.10.15 | - - -
- - -## gax-trust-framework:Interoperability - -```mermaid -classDiagram - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -class gaxTrustFramework_TechnicalStandards{ -adminstrationApiStandards -virtualizationStandards -serviceStackStandards -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards - -class gaxTrustFramework_DataExport{ -unlimitedAccessToCustomerData -description -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport - -class gaxTrustFramework_TechnicalIntegration{ -standardizedAP -description -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration - -class gaxTrustFramework_RequirementsServiceUsage{ -technicalRequirements -organizationalRequirements -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| technicalStandards | [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) | 1 | 1 | Information about technical standards the service stack is based on. | (a structured object of type TechnicalStandards) | -| dataExport | [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) | 1 | 1 | Representation of procedures of data access of customer data and data feedback. | (a structured object of type DataExport) | -| technicalIntegration | [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) | 1 | 1 | Description of procedures of technical integration of service in the available IT-landscape of the user? | (a structured type of type Integration) | -| requirementsServiceUsage | [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) | 1 | 1 | Description for the technical and organizational prerequisites to use the service the user has to fulfill. | (a structured object of type RequirementsServiceUsage) | - - -
- - -## gax-trust-framework:InteroperabilityAttestation - -```mermaid -classDiagram - -class gaxTrustFramework_InteroperabilityAttestation{ -interoperabilityAttestationType -} - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation - - -``` - - **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Technical and Functional | - - -
- - -## gax-trust-framework:InteroperabilityAttestationType - -```mermaid -classDiagram - -class gaxTrustFramework_InteroperabilityAttestationType{ -interoperabilityAttestationType -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string
value must be in: [Service Interoperability Attestation, Resource Interoperability Attestation] | 1 | 1 | Interoperability Attestation Types | Service Interoperability Attestation | - - -
- - -## gax-trust-framework:LegalPerson - -```mermaid -classDiagram - -class gaxTrustFramework_LegalPerson{ -legalName -legalForm -description -registrationNumber -legalAddress -headquarterAddress -leiCode -parentOrganization -subOrganization -} - -gaxCore_Participant <|-- gaxTrustFramework_LegalPerson - -http_//www.w3.org/ns/org#Organization <|-- gaxTrustFramework_LegalPerson - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant), [http://www.w3.org/ns/org#Organization](#http://www.w3.org/ns/org#organization) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| legalName | xsd:string | 0 | 1 | Legally binding name | ACME L.L.C | -| legalForm | xsd:string
value must be in: [LLC, Corporation, Limited partnership (LP), Nonprofit corporation, Gesellschaft mit beschränkter Haftung (GmbH), Aktiengesellschaft (AG), Einzelunternehmen, Gesellschaft bürgerlichen Rechts (GbR), Offene Handelsgesellschaft (OHG), Kommanditgesellschaft (KG), Unternehmergesellschaft (haftungsbeschränkt), Sole Trader, Unincorporated Association, Partnership, Limited Partnership, Trust, Limited Company, Limited Liability Partnership (LLP), Community Interest Company (CIC), Charitable Incorporated Organisation (CIO), Co-operative Society (Co-op), Community Benefit Society (BenCom), other] | 0 | 1 | Legal form | L.L.C, GmbH | -| description | xsd:string | 0 | 1 | Textual description of this organization. | A company making everything | -| registrationNumber | xsd:string | 1 | 1 | Country’s registration number which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode. | DEU1234.HRB12345 | -| legalAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | -| headquarterAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | -| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | M07J9MTYHFCSVRBV2631 | -| parentOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant that this entity is a subOrganization of, if any. | https://gaia-x.eu | -| subOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant with an legal mandate on this entity, e.g., as a subsidiary. | https://gaia-x.eu | - - -
- - -## gax-trust-framework:LinkConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | FR:VLANID:56 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | MUC:VLANID:24 | -| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual bandwidth defined in the service level agreement (SLA) | 1 Gbit/s, 10 Gbit/s, 100 Gbit/s, 400 Gbit/s | -| RoundTripTimeRTT | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual latency defined in the SLA. | 1 ms, 10 ms, 1 s | -| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual availability of connection defined in the SLA agreement. Availability is measured in the pseudo-unit "percent". | 99.9999 %, 99.9 %, 99.99 % | -| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | -| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual jitter defined in the SLA. If not specified, then best effort is assumed. | 0.01 ms, 0.002 ms | -| ProtocolType | xsd:string | 0 | 1 | Link protocol type | Ethrnet, ARP, PPP, VLAN | -| VLANType | xsd:string | 0 | 1 | the chosen types of vlan types | qinq, dot1q | -| VLANTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | -| VLANEtherType | xsd:string | 0 | 1 | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | - - -
- - -## gax-trust-framework:LocatedServiceOffering - -```mermaid -classDiagram - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential - -gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| isImplementationOf | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Id of the Service Offering referenced by this located service | did:web:example.com/serviceOffering/sha256 | -| isHostedOn | [gax-trust-framework:Location](#gax-trust-framework:location) | 1 | 1 | Id of the Location where this located service is hosted on | did:web:example.com/location/sha256 | -| hasComplianceCertificateClaim | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 0 | unlimited | Ids of the compliance reference claims claimed by the provider for the located service | did:web:example.com/location/sha256 | -| hasComplianceCertificateCredential | [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) | 0 | unlimited | Ids of the compliance reference claim claimed by the provider for the located service | did:web:example.com/location/sha256 | - - -
- - -## gax-trust-framework:Location - -```mermaid -classDiagram - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasProvider | [gax-trust-framework:Provider](#gax-trust-framework:provider) | 1 | 1 | Id of the participant who operates the Location Unit that implements the Service Offering | did:web:example.com/location/sha256 | -| canHostServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | List of references of Service Offering that may be hosted on this location | did:web:example.com/serviceOffering/sha256-1, did:web:example.com/serviceOffering/sha256-2 | -| hasAdministrativeLocation | xsd:string | 1 | 1 | ISO 3166-2 5 digit string for location | FR-39, DE-BE | -| hasLocatedServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | unlimited | Ids of Located Service Offerings on this location | did:web:example.com/locatedServiceOffering/sha256 | - - -
- - -## gax-trust-framework:Measure - -```mermaid -classDiagram - -class gaxTrustFramework_Measure{ -value -unit -} - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic - -class gaxTrustFramework_Volume{ -size -type -} - -gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| value | xsd:float | 1 | 1 | The value of this measurement. | 100 | -| unit | xsd:string | 1 | 1 | The unit of this measurement | Gbps, Euro | - - -
- - -## gax-trust-framework:Memory - -```mermaid -classDiagram - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | -| memclass | xsd:string | 0 | 1 | Memory class | DDR4, DDR5, GDDR5, GDDR6 | -| rank | xsd:string | 0 | 1 | DIMM Type | 1R RDIMM, 2R RDIMM, 4R LRDIMM, 8R LRDIMM | -| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default overbooking ratio on this memory | 1.0 | -| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available overbooking ratios on this memory | 1.0 | - - -
- - -## gax-trust-framework:Network - -```mermaid -classDiagram - -class gaxTrustFramework_Network{ -nicPortReq -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| nicPortReq | xsd:string | 0 | 1 | placeholder for networking | | - - -
- - -## gax-trust-framework:NetworkConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_NetworkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Global:IANA:18.125.20.15/32 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination and references a network | Global:IANA:18.125.10.15/24 | - - -
- - -## gax-trust-framework:NetworkOffering - -```mermaid -classDiagram - -class gaxTrustFramework_NetworkOffering{ -serviceType -publicIpAddressProvisioning -ipVersion -tenantSeparation -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_NetworkOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | -| publicIpAddressProvisioning | xsd:string
value must be in: [floating, fixed, provider-network] | 0 | 1 | Defines how public IP address are provided. Floating: floating ips are supported . | floating, fixed, provider-network | -| ipVersion | xsd:string
value must be in: [ipV6, IPv4] | 0 | 1 | Version of IP address supported. IPv4: only ipV4 addresses are supported. IPv6: both version iIPV4 and IPv6 are supported. | IPV6, IPv4 | -| tenantSeparation | xsd:string
value must be in: [virtual, physical] | 0 | 1 | Default: virtual. How networks of different tenants are separated. | virtual, physical | - - -
- - -## gax-trust-framework:Node - -```mermaid -classDiagram - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_PhysicalServer{ -supportedManagementProtocols -managementInterface -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer - -class gaxTrustFramework_VirtualNode{ -type -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode), [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver), [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpu | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | unlimited | Description of CPU(s) of this node | a structured object of type cpu, e.g. CPU:numberOfCores=4, CPU:frequency:value=3.0 and CPU:frequency:measure:unit=GHz | -| gpu | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Description of GPU(s) of this node. | a structured object of type gpu, e.g. GPU:memoryType=DDR6, GPU:memorySize:value=24 and GPU:memorySize:value:unit=GB | -| ramsize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Size of RAM of this node | a structured object of type measure, e.g. measure:value=950 and measure:unit=GB | -| disk | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Description of disk(s) of this nodes | a structured object of type harddrive, e.g. harddrive:productid=6CX68AV, and harddrive:name=Xeon Platinum 8280,and harddrive:manufacture=NVIDA; harddrive:size:value=1000, harddrive:size:unit=GB, and harddrive:type=SSD | -| nic | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Description of network interface card(s) of this node | a structured object of type measure, e.g. measure:value=10 and measure:unit=GBase-T | - - -
- - -## gax-trust-framework:ObjectStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ObjectStorageOffering{ -fileSystem -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_ObjectStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| fileSystem | xsd:string
value must be in: [FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS] | 0 | 1 | File system of storage services provides. | FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS | - - -
- - -## gax-trust-framework:Orchestration - -```mermaid -classDiagram - -class gaxTrustFramework_Orchestration{ -type -} - -gaxTrustFramework_Platform <|-- gaxTrustFramework_Orchestration - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string
value must be in: [Docker Swarm, Apache Mesos, Kubernetes] | 0 | 1 | Type of this Orchestration Service Offering, such as kubernetes. | Docker Swarm, Apache Mesos, Kubernetes | - - -
- - -## gax-trust-framework:PhysicalConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalConnectivity{ -CircuitType -InterfaceType -SourceAccessPoint -DestinationAccessPoint -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| CircuitType | xsd:string | 0 | 1 | type of access medium: wired medium access or wireless medium access | single mode fibre or copper cable, laser, mobile network or satellite | -| InterfaceType | xsd:string | 0 | 1 | for the chosen circuit type, one should know the interface type in case the interoperability is required | optical cable interface SR | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Physical:DE:EQIX:FR2:0G:0FM102:PP102:14 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | Physical:DE:DE-CIX:FR4:1G:0FM102:PP102:24 | - - -
- - -## gax-trust-framework:PhysicalNode - -```mermaid -classDiagram - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:PhysicalResource - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: [gax-resource:NetworkingDevice](#gax-resource:networkingdevice), [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter), [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| maintainedBy | gax-core:Participant | 1 | unlimited | Participant maintaining the resource in operational condition and thus have physical access to it. | https://gaia-x.eu | -| ownedBy | gax-core:Participant | 0 | unlimited | Participant owning the resource. | https://gaia-x.eu | -| manufacturedBy | gax-core:Participant | 0 | unlimited | Participant manufacturing the resource. | https://gaia-x.eu | -| locationAddress | vcard:Address | 1 | unlimited | A vcard:Address object that contains the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format. | | -| locationGPS | xsd:string | 0 | unlimited | A list of physical GPS in ISO 6709:2008/Cor 1:2009 format. | Atlantic Ocean +00-025/ | - - -
- - -## gax-trust-framework:PhysicalServer - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalServer{ -supportedManagementProtocols -managementInterface -} - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer - -gaxTrustFramework_PhyscialResource <|-- gaxTrustFramework_PhysicalServer - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhyscialResource](#gax-trust-framework:physcialresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| supportedManagementProtocols | xsd:string | 1 | unlimited | List of supported Management Protocols, including version number | IPMI, Redfish, OpenBMC, iLo, iDrac | -| managementInterface | xsd:anyURI | 1 | unlimited | Interface used for management (NIC, Device,...) | (a structured object defining NetworkAccessPoint) | - - -
- - -## gax-trust-framework:PlatformOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Provider - -```mermaid -classDiagram - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxCore_Participant <|-- gaxTrustFramework_Provider - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering - -gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasLocations | [gax-trust-framework:Location](#gax-trust-framework:location) | 0 | unlimited | Ids of available Locations for this provider | did:web:provider.com/location#1, did:web:provider.com/location#2 | -| hasServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 0 | unlimited | Ids of the ServiceOffering managed by this provider. | did:web:provider.com/serviceoffering#1, did:web:provider.com/serviceoffering#2 | - - -
- - -## gax-trust-framework:PxeImage - -```mermaid -classDiagram - -class gaxTrustFramework_PxeImage{ -format -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| format | xsd:string | 1 | 1 | PXE image format for a bare-metal server | iso, winpe | - - -
- - -## gax-trust-framework:Region - -```mermaid -classDiagram - -class gaxTrustFramework_Region{ -aggregationOf -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_Region - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) | 1 | unlimited | a region is an aggregation of data centers | (reference to data center) | - - -
- - -## gax-trust-framework:RegistrationNumber - -```mermaid -classDiagram - -class gaxTrustFramework_RegistrationNumber{ -local -EUID -EORI -vatID -leiCode -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| local | xsd:string | 0 | 1 | The state issued company number. | HRA 12345, 123456789 | -| EUID | xsd:string | 0 | 1 | The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal. | DEB1234.HRB123123, FR1234.123456789 | -| EORI | xsd:string | 0 | 1 | The Economic Operators Registration and Identification number (EORI). | DE123456789101112, FR123456789101112 | -| vatID | xsd:string | 0 | 1 | The VAT identification number. | 5133081508159, 3201012312340 | -| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | 39120001LYGX6JEVCV44, 5299009D9BIL4D4UHT93 | - - -
- - -## gax-trust-framework:RequirementsServiceUsage - -```mermaid -classDiagram - -class gaxTrustFramework_RequirementsServiceUsage{ -technicalRequirements -organizationalRequirements -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| technicalRequirements | xsd:string | 1 | 1 | Description for the technical requirements to use the service | Freetext | -| organizationalRequirements | xsd:string | 1 | 1 | Description for the organizational requirements to use the service | Freetext | - - -
- - -## gax-trust-framework:Resource - -```mermaid -classDiagram - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxCore_Resource <|-- gaxTrustFramework_Resource - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone - -class gaxTrustFramework_InterconnectionPointIdentifier{ -dataCenterName -dataCenterFloor -DataCenterRackNumber -dataCenterPatchPanel -dataCenterPortNumber -macAddress -IPAddress -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource - -class gaxTrustFramework_Region{ -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_Region - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource - -gaxTrustFramework_Resource --> "0..*" gaxTrustFramework_Resource: aggregationOf - -gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf - - -``` - - **Super classes**: [gax-core:Resource](#gax-core:resource) - - **Sub classes**: [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone), [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource), [gax-trust-framework:Region](#gax-trust-framework:region), [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | 1 | Name of resource. | Example Resource | -| description | xsd:string | 0 | 1 | A more detailed description of resource. | Example Resource placed somewhere in Europe | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Resources related to the resource and that can exist independently of it. | (a reference to gax-trust-framework:Resource object) | - - -
- - -## gax-trust-framework:ServerFlavor - -```mermaid -classDiagram - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements | (a structured object of type CPU) | -| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 1 | 1 | Server memory requirements | (a structured object of type Memory) | -| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Server memory requirements | (a structured object of type GPU) | -| networkReq | [gax-trust-framework:Network](#gax-trust-framework:network) | 1 | unlimited | Networking requirements | (a structured object of type Network) | -| bootVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 1 | 1 | Boot volume requirement | (a structured object of type Disk) | -| additionalVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Additional volume requirements | (a structured object of type Disk) | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether server is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential server has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:ServiceAccessPoint - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceAccessPoint{ -name -host -protocol -version -port -openAPI -} - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | unlimited | Name of the access point | accesspointABC | -| host | xsd:string | 0 | unlimited | Host of the access point | | -| protocol | xsd:string | 0 | unlimited | Protocol of the access point | TCP, UDP | -| version | xsd:string | 0 | unlimited | Version of the access point | 1.2 | -| port | xsd:string | 0 | unlimited | Port of the access point | 8888 | -| openAPI | xsd:string | 0 | unlimited | URL of the OpenAPI documentation | https://gaia-x.eu/openAPIdoc | - - -
- - -## gax-trust-framework:ServiceOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxCore_ServiceOffering <|-- gaxTrustFramework_ServiceOffering - -class gaxTrustFramework_Catalogue{ -getVerifiableCredentialsIDs -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering - -class gaxTrustFramework_TermsAndConditions{ -content -hash -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions - -class gaxTrustFramework_DataAccountExport{ -requestType -accessType -formatType -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService - - -``` - - **Super classes**: [gax-core:ServiceOffering](#gax-core:serviceoffering) - - **Sub classes**: [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue), [gax-trust-framework:Compute](#gax-trust-framework:compute), [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering), [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering), [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering), [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 1 | 1 | human readable name of the service offering | GenericServiceName | -| termsAndConditions | [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) | 1 | unlimited | a resolvable link to the Terms and Conditions applying to that service. | https://gaia-x.eu | -| policy | xsd:string | 1 | unlimited | a list of policy expressed using a DSL (e.g., Rego or ODRL) | | -| dataProtectionRegime | xsd:string | 0 | unlimited | a list of data protection regime from the list available below | GDPR2016, LGPD2019 | -| dataAccountExport | [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) | 1 | unlimited | a list of methods to export data out of the service | | -| description | xsd:string | 0 | 1 | A description in natural language | An ML service for training, deploying and improving image classifiers. | -| keyword | xsd:string | 0 | unlimited | Keywords that describe / tag the service. | ML, Classification | -| provisionType | xsd:string | 0 | 1 | Provision type of the service | Hybrid, gax:PrivateProvisioning | -| endpoint | [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) | 0 | unlimited | Endpoint through which the Service Offering can be accessed | (reference to endpoint) | -| providedBy | gax-core:Participant | 1 | 1 | Id of Participant (self-descrription) providing this service offering. | https://gaia-x.eu | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Id of Resource (self-descrription) related to the service and that can exist independently of it. | https://gaia-x.eu | -| dependsOn | xsd:anyURI | 0 | unlimited | a resolvable link to the service offering self-description related to the service and that can exist independently of it. | https://gaia-x.eu | -| ServiceOfferingLocations | xsd:string | 0 | unlimited | Provision type of the service | Hybrid, gax:PrivateProvisioning | - - -
- - -## gax-trust-framework:Signatur - -```mermaid -classDiagram - -class gaxTrustFramework_Signatur{ -signatur -signatureAlgo -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| signatur | xsd:string | 1 | 1 | Value of Signture | 5d68f20237c7c01c067b577ee5e490d1 | -| signatureAlgo | xsd:string
value must be in: [dsa, ecdsa, rsa, other] | 1 | 1 | Defines algorithm used check signature | ecdsa | - - -
- - -## gax-trust-framework:SoftwareOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:SoftwareResource - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Standard - -```mermaid -classDiagram - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| title | xsd:string | 1 | 1 | Name of the standard. | ISO10303-242:2014 | -| standardReference | xsd:anyURI | 1 | unlimited | Provides a link to schemas or details about applied standards. | https://www.iso.org/standard | -| publisher | xsd:string | 0 | 1 | Publisher of the standard. | International Organization for Standardization | - - -
- - -## gax-trust-framework:StorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_StorageOffering{ -serviceType -encryptionMethod -snapshotSupported -backupsSupported -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_StorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | -| encryptionMethod | xsd:string
value must be in: [None, managed, byok, hyok] | 0 | 1 | Default: None. Define encryption method of storage service. None: means no encryption art all. managed: Virtual storage is encrypted by key managed provider. byok: Virtual storage | None, managed, byok, hyok | -| snapshotSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports snapshots. | True, False | -| backupsSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports backus. | True, False | - - -
- - -## gax-trust-framework:TechnicalIntegration - -```mermaid -classDiagram - -class gaxTrustFramework_TechnicalIntegration{ -standardizedAP -description -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| standardizedAP | xsd:string
value must be in: [No statement, No APIS are offered, Documented APIs, Standardized APIs] | 1 | 1 | Is there a standardized API to integrate the service into the customers IT-landscape? | No statement, No APIS are offered, Documented APIs, Standardized APIs | -| description | xsd:string | 1 | 1 | Description of the offered APIs to integrate the services | Freetext | - - -
- - -## gax-trust-framework:TechnicalStandards - -```mermaid -classDiagram - -class gaxTrustFramework_TechnicalStandards{ -adminstrationApiStandards -virtualizationStandards -serviceStackStandards -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| adminstrationApiStandards | xsd:string
value must be in: [No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs] | 1 | 1 | Is the administration of service possible with standard API? | No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs | -| virtualizationStandards | xsd:string
value must be in: [No statement, Proprietary, Open format, Standardized format] | 1 | 1 | Does the service use standardized formats for virtual machines and containers? | No statement, Proprietary, Open format, Standardized format | -| serviceStackStandards | xsd:string | 1 | 1 | Description of the standard, the service stack is built on. | Freetext | - - -
- - -## gax-trust-framework:TermsAndConditions - -```mermaid -classDiagram - -class gaxTrustFramework_TermsAndConditions{ -content -hash -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| content | xsd:anyURI | 1 | 1 | a resolvable link to document | https://gaia-x.eu | -| hash | xsd:string | 1 | 1 | sha256 hash of the above document. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificateClaim - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceAssessmentBody | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | 1 | Id of the Participant (self-description) endorsed having a Compliance Assessment Body role that claims the compliance | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificateCredential - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| credentialSubject | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | 1 | Id of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the id is the id of the third party | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificationScheme - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceAssessmentBodies | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | unlimited | Unordered list of IDs of ComplianceAssessmentBody (participant) endorsed having a Compliance Assessment Body role by the Compliance Reference. This unordered list is managed and validated by the Compliance Reference Manager | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:VerifiableCredentialWallet - -```mermaid -classDiagram - -class gaxTrustFramework_VerifiableCredentialWallet{ -verifiableCredentialExportFormat -privateKeyExportFormat -} - -gaxTrustFramework_Wallet <|-- gaxTrustFramework_VerifiableCredentialWallet - - -``` - - **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| verifiableCredentialExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export verifiable credentials. | https://gaia-x.eu | -| privateKeyExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export private keys. | https://gaia-x.eu | - - -
- - -## gax-trust-framework:VirtualMachine - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine - -class gaxTrustFramework_VmImage{ -format -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) | 1 | unlimited | all possible provided virtual machine images for this service offering | (a structured object of type gax-trust-framework:VMImage) | -| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided virtual machine flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | - - -
- - -## gax-trust-framework:VirtualNode - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualNode{ -type -} - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string
value must be in: [virtual machine, container] | 0 | unlimited | Type of virtual node | virtual machine, container | - - -
- - -## gax-trust-framework:VirtualResource - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource - -class gaxTrustFramework_DataResource{ -producedBy -exposedThrough -obsoleteDateTime -expirationDateTime -containsPII -legalBasis -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: [gax-trust-framework:DataResource](#gax-trust-framework:dataresource), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource), [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| copyrightOwnedBy | foaf:Agent | 1 | unlimited | The copyright owner(s), given as a Gaia-X Participant or as some other agent, possibly also a person outside of Gaia-X. A copyright owner is a person or organization, that has the right to exploit the resource. Copyright owner does not necessary refer to the author of the resource, who is a natural person and may differ from copyright owner. A simple name string can be referenced as a blank node whose foaf:name attribute has that string value. | https://gaia-x.eu | -| license | xsd:string | 1 | unlimited | A list of SPDX license identifiers or URL to license document | https://gaia-x.eu | -| policy | xsd:string | 1 | unlimited | A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …) | https://gaia-x.eu | - - -
- - -## gax-trust-framework:VmAutoscalingGroupSpec - -```mermaid -classDiagram - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| minInstantiatedVM | xsd:integer | 0 | 1 | Minimim number of VM instances in the ASG | 2, 8 | -| loadMetric | xsd:string | 0 | 1 | Load Metric type - can be of various types | cpu load, memory load, IO load, cost | -| loadMetricTarget | xsd:integer | 0 | 1 | Per VM instance Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be between Min and Max | 2, 8 | -| loadMetricTargetMin | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be < Max | 2, 8 | -| loadMetricTargetMax | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be > Min | 2, 8 | -| asgScalingPlan | xsd:string | 0 | 1 | Autoscaling Policy | scale by one instance, scale by two instances, My Custom Scaling Plan | - - -
- - -## gax-trust-framework:VmImage - -```mermaid -classDiagram - -class gaxTrustFramework_VmImage{ -format -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| format | xsd:string | 1 | 1 | Format of this virtual machine image. | qcow2, vhd, vhdx, vmdk, vdi, iso, ovf, ova | - - -
- - -## gax-trust-framework:Volume - -```mermaid -classDiagram - -class gaxTrustFramework_Volume{ -size -type -} - -gaxTrustFramework_StorageResource <|-- gaxTrustFramework_Volume - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size - - -``` - - **Super classes**: [gax-trust-framework:StorageResource](#gax-trust-framework:storageresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | -| type | xsd:string | 0 | 1 | storage volume type | small, medium, large | - - -
- - -## gax-trust-framework:WalletOffering - -```mermaid -classDiagram - -gaxTrustFramework_Software <|-- gaxTrustFramework_WalletOffering - - -``` - - **Super classes**: [gax-trust-framework:Software](#gax-trust-framework:software) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:serviceInteroperabilityAttestation - -```mermaid -classDiagram - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService - - -``` - - **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Functional and technical | -| serviceInteroperabilityAttestationType | xsd:string
value must be in: [Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider] | 1 | 1 | Type of Service Interoperability Attestation | Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider | -| composedService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Composed Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceComplianceService.json | -| componentService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | Component Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceManagedPostgreSQLOVH.json | - - diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 3b2e2db..93c0ef4 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,3 +1,14 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# openstack_discoverypy +"""Script to generate GX Credentials in JSON-LD. + +(c) Kurt Garloff , 5/2023 +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + from typing import Dict, List from openstack.connection import Connection diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 5252390..77d2f3c 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,3 +1,13 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# vm_images_discovery.py +"""Script to discovery VM images properties. + +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + from datetime import datetime from typing import Dict, List, Union @@ -6,7 +16,7 @@ from openstack.image.v2.image import Image as OS_Image import generator.common.const as const -from generator.common.expections import MissingMandatoryAttribute +#from generator.common.expections import MissingMandatoryAttribute from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import ( @@ -45,7 +55,8 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "RISC-V" return CpuArch.other.text except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + return CpuArch.other.text class VmDiscovery: @@ -166,7 +177,9 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass gx_image.ramReq = mem_req except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + pass + #raise MissingMandatoryAttribute(e.args) + def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: @@ -175,7 +188,8 @@ def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: ) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + pass def _add_operation_system_info( self, os_image: OS_Image, gx_image: GX_Image @@ -579,7 +593,8 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: "provided_until" ] except KeyError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + pass # collect optional attributes try: @@ -692,7 +707,8 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: else: gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + gx_image.hypervisorType = HypervisorType.other.text + #raise MissingMandatoryAttribute(e.args) def _get_signature_algo(self, algo: str) -> str: if algo.startswith("SHA-"): diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py deleted file mode 100644 index 3c704c3..0000000 --- a/generator/wallet/file_wallet.py +++ /dev/null @@ -1,28 +0,0 @@ -import json -import os - -from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld -from generator.wallet.wallet import WalletConnector - - -class FileSystemWallet(WalletConnector, object): - """ - Abstraction for filesystem acting as a wallet. - """ - - def __init__(self, dir: str) -> None: - super().__init__() - self.dir = dir - - def store_credential(self, credential: JsonLdObject) -> None: - super().store_credential(credential) - - with open( - os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" - ) as json_file: - props = get_json_ld_context() - props["@graph"] = [credential] - json.dump(props, json_file, indent=4, default=to_json_ld) - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py deleted file mode 100644 index 5c05a31..0000000 --- a/generator/wallet/wallet.py +++ /dev/null @@ -1,36 +0,0 @@ -from abc import ABC, abstractmethod - -from generator.common.json_ld import JsonLdObject - - -class WalletConnector(ABC): - """ - Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector - wraps API calls for different kind of wallets. - """ - - @abstractmethod - def store_credential(self, credential: JsonLdObject) -> None: - """ - Stores given CREDENTIAL in this wallet. - @param credential: credential to be stored in JSON-LD - @type JsonLdObject - @return: None - """ - pass - - @abstractmethod - def get_provider_cred_did(self, service_offering: str) -> str: - """Returns DID of provider of given service offering. - - Parameters - ---------- - service_offering : str - DID of service offering - - Returns - ------- - str - DID of service offering's provider - """ - return "" diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py deleted file mode 100644 index 489c619..0000000 --- a/generator/wallet/xfsc_wallet.py +++ /dev/null @@ -1,8 +0,0 @@ -from generator.wallet.wallet import WalletConnector - - -class XFSCWallet(WalletConnector): - """ - Abstraction XFSC wallet, called Organization Credential Manager. - See https://projects.eclipse.org/projects/technology.xfsc - """ diff --git a/requirements.txt b/requirements.txt index 91180a4..e140269 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,4 @@ PyYAML==6.* click==8.1.7 pyshacl==0.25.0 linkml==1.6.7 - +rdflib==7.0.0 diff --git a/sd/example.jsonld b/sd/example.jsonld deleted file mode 100644 index d52b7b4..0000000 --- a/sd/example.jsonld +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@context": { "@vocab": "http://schema.org/" }, - "@id": "http://example.org/ns#Bob", - "@type": "Person", - "givenName": "Robert", - "familyName": "Junior", - "birthDate": "1961-07-07", - "deathDate": "1968-09-10", - "address": { - "@id": "http://example.org/ns#BobsAddress", - "streetAddress": "1600 Amphitheatre Pkway", - "postalCode": 10404 - } -} diff --git a/sd/example.ttl b/sd/example.ttl deleted file mode 100644 index 879c5d8..0000000 --- a/sd/example.ttl +++ /dev/null @@ -1,40 +0,0 @@ -@prefix dash: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix sh: . -@prefix xsd: . -schema:PersonShape - a sh:NodeShape ; - sh:targetClass schema:Person ; - sh:property [ - sh:path schema:givenName ; - sh:datatype xsd:string ; - sh:name "given name" ; - ] ; - sh:property [ - sh:path schema:birthDate ; - sh:lessThan schema:deathDate ; - sh:maxCount 1 ; - ] ; - sh:property [ - sh:path schema:gender ; - sh:in ( "female" "male" ) ; - ] ; - sh:property [ - sh:path schema:address ; - sh:node schema:AddressShape ; - ] . -schema:AddressShape - a sh:NodeShape ; - sh:closed true ; - sh:property [ - sh:path schema:streetAddress ; - sh:datatype xsd:string ; - ] ; - sh:property [ - sh:path schema:postalCode ; - sh:or ( [ sh:datatype xsd:string ] [ sh:datatype xsd:integer ] ) ; - sh:minInclusive 10000 ; - sh:maxInclusive 99999 ; - ] . diff --git a/sd/gx_service_offering_example.jsonld b/sd/gx_service_offering_example.jsonld deleted file mode 100644 index d981645..0000000 --- a/sd/gx_service_offering_example.jsonld +++ /dev/null @@ -1,65 +0,0 @@ -{ - "@context": { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "gx": "https://https://registry.lab.gaia-x.eu//v1$/gx#", - "ex": "http://example.org/" - }, - "@id": "ex:Compute", - "@type": "gx:ServiceOffering", - "gx:providedBy": { - "@id": "did:example:123", - "@type": "gx:LegalParticipant", - "gx:legalAddress": { - "@type": "gx:legalAddress", - "gx:countrySubdivisionCode": { - "@value": "DE-BE", - "@type": "xsd:string" - } - }, - "gx:headquarterAddress": { - "@type": "gx:legalAddress", - "gx:countrySubdivisionCode": { - "@value": "DE-BE", - "@type": "xsd:string" - } - }, - "gx:legalRegistrationNumber": { - "@type": "gx:legalRegistrationNumber", - "gx:leiCode": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:vatID": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:EORI": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:EUID": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:taxID": { - "@value": "123", - "@type": "xsd:string" - } - } - }, - "gx:policy": "IaaS", - "gx:termsAndConditions": { - "@type": "gx:SOTermsAndConditions", - "gx:URL": { - "@value": "https://www.acme.com/compute/tac", - "@type": "xsd:string" - }, - "gx:hash": "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" - }, - "gx:dataAccountExport": { - "@type": "gx:dataAccountExport", - "gx:requestType": "API", - "gx:accessType": "digital", - "gx:formatType": "application/json" - } -} diff --git a/sd/gx_shapes_latest.ttl b/sd/gx_shapes_latest.ttl deleted file mode 100644 index ca350b2..0000000 --- a/sd/gx_shapes_latest.ttl +++ /dev/null @@ -1,191 +0,0 @@ -@prefix gx: . -@prefix rdfs: . -@prefix rdf: . -@prefix sh: . -@prefix xsd: . - -gx:ParticipantShape a sh:NodeShape ; - sh:targetClass gx:Participant, gx:LegalParticipant ; - sh:nodeKind sh:IRI . - -# TODO: simplify with https://github.com/zazuko/rdf-validate-shacl/issues/41#issuecomment-745803630 - -gx:LegalParticipantShape a sh:NodeShape ; - sh:targetClass gx:LegalParticipant ; - sh:property [ - sh:path gx:legalRegistrationNumber ; - sh:node gx:legalRegistrationNumberShape ; - sh:minCount 1 ; - ], [ - sh:path gx:parentOrganization ; - sh:node gx:LegalParticipantShape ; - ], [ - sh:path gx:subOrganization ; - sh:node gx:LegalParticipantShape ; - ], [ - sh:path gx:headquarterAddress ; - sh:minCount 1 ; - sh:node gx:PostalAddressShape ; - ], [ - sh:path gx:legalAddress ; - sh:minCount 1 ; - sh:node gx:PostalAddressShape ; - ] . - -gx:legalRegistrationNumberShape a sh:NodeShape ; - sh:targetClass gx:legalRegistrationNumber ; - sh:message "At least one of taxID, vatID, EUID, EORI or leiCode must be defined." ; - sh:property [ - sh:path gx:taxID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:EUID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:EORI ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:vatID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:leiCode ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:or ( - [ - sh:path gx:taxID ; - sh:minCount 1 ; - ] - [ - sh:path gx:EUID ; - sh:minCount 1 ; - ] - [ - sh:path gx:EORI ; - sh:minCount 1 ; - ] - [ - sh:path gx:vatID ; - sh:minCount 1 ; - ] - [ - sh:path gx:leiCode ; - sh:minCount 1 ; - ] - ) . - -gx:PostalAddressShape a sh:NodeShape ; - sh:targetClass gx:headquarterAddress, gx:legalAddress ; - sh:property [ - sh:path gx:countrySubdivisionCode ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:pattern "^[a-zA-Z]{2}-(?:[a-zA-Z]{1,3}|[0-9]{1,3})$" ; - sh:flags "i" ; - sh:message "an ISO 3166-2 format value is expected." ; - ] . - -gx:GaiaXTermsAndConditionsShape a sh:NodeShape ; - sh:targetClass gx:GaiaXTermsAndConditions; - sh:property [ - sh:path gx:termsAndConditions ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:hasValue '''The PARTICIPANT signing the Self-Description agrees as follows: -- to update its descriptions about any changes, be it technical, organizational, or legal - especially but not limited to contractual in regards to the indicated attributes present in the descriptions. - -The keypair used to sign Verifiable Credentials will be revoked where Gaia-X Association becomes aware of any inaccurate statements in regards to the claims which result in a non-compliance with the Trust Framework and policy rules defined in the Policy Rules and Labelling Document (PRLD).''' ; - ] . - -gx:DataAccountExportShape - a sh:NodeShape ; - sh:targetClass gx:dataAccountExport ; - sh:property [ sh:path gx:requestType ; - sh:datatype xsd:string ; - sh:name "Request type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ] ; - sh:property [ sh:path gx:accessType ; - sh:datatype xsd:string ; - sh:name "Access type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:description "type of data support: digital, physical." ; - sh:in ( "digital" "physical" ) ] ; - sh:property [ sh:path gx:formatType ; - sh:datatype xsd:string ; - sh:name "Format type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:pattern "^\\w+/[-+.\\w]+$" ; - sh:flags "i" ; - sh:message "type of Media Types (formerly known as MIME types) as defined by the IANA." ; ] . - -gx:SOTermsAndConditionsShape - a sh:NodeShape ; - sh:targetClass gx:SOTermsAndConditions ; - sh:property [ sh:path gx:URL ; - sh:name "URL" ; - sh:description "a resolvable link to document" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:hash ; - sh:name "hash" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:description "sha256 hash of the above document." ; - sh:datatype xsd:string ] . - -gx:ServiceOfferingShape - a sh:NodeShape ; - sh:targetClass gx:ServiceOffering ; - sh:property [ sh:path gx:providedBy ; - sh:name "provided by" ; - sh:description "a resolvable link to the participant self-description providing the service." ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:node gx:LegalParticipantShape ] ; # TODO add alternativePath to support all type of Participant - sh:property [ sh:path gx:aggregationOf ; - sh:name "aggregation of" ; - sh:description - "a resolvable link to the resources self-description related to the service and that can exist independently of it." ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dependsOn ; - sh:name "depends on" ; - sh:description - "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; - sh:datatype gx:ServiceOffering ] ; - sh:property [ sh:path gx:termsAndConditions ; - sh:name "terms & conditions" ; - sh:minCount 1 ; - sh:description - "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; - sh:node gx:SOTermsAndConditionsShape ] ; - sh:property [ sh:path gx:policy ; - sh:name "policy" ; - sh:minCount 1 ; - sh:description - "a list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …)." ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dataProtectionRegime ; - sh:name "data protection regime" ; - sh:description "a list of data protection regime" ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:message "Refer to https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/service_and_subclasses/#service-offering Personal Data Protection Regimes" ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dataAccountExport ; - sh:name "data account export" ; - sh:minCount 1 ; - sh:description "list of methods to export data from your user’s account out of the service" ; - sh:node gx:DataAccountExportShape ; ] . diff --git a/sd/validate.py b/sd/validate.py deleted file mode 100755 index f505be5..0000000 --- a/sd/validate.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python3 - -"""Script to validate self-description in JSON-LD format - against its schema is turtle format. - -(c) Roman Hros , 5/2023 -(c) Matej Feder , 5/2023 -SPDX-License-Identifier: EPL-2.0 -""" - -from pyshacl import validate -from argparse import ArgumentParser -import rdflib - -SHAPES_FILE_FORMAT = "turtle" -DATA_FILE_FORMAT = "json-ld" - - -def load_file(filepath, file_format=DATA_FILE_FORMAT): - """Load file in a given format""" - graph = rdflib.Graph() - graph.parse(filepath, format=file_format) - return graph - - -def validate_sd(sd, schema): - """Validate SD in jsonld format against given schema in turtle format""" - conforms, results_graph, results_text = validate( - load_file(sd), - shacl_graph=load_file(schema, file_format=SHAPES_FILE_FORMAT), - data_graph_format=DATA_FILE_FORMAT, - shacl_graph_format=SHAPES_FILE_FORMAT, - inference="rdfs", - debug=False, - serialize_report_graph=True, - ) - print(results_text) - - -parser = ArgumentParser(description="Simple SD validator for development purposes") -parser.add_argument( - "sd", - help=f"Filepath of SelfDescription to validate. Should have {DATA_FILE_FORMAT} format", -) -parser.add_argument( - "schema", - help=f"Filepath of shacl schema to be used for validation. Should have {SHAPES_FILE_FORMAT} format", -) - - -if __name__ == "__main__": - args = vars(parser.parse_args()) - validate_sd(**args) From 74c18fec00319810fd29e6b79328e75b23775760 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Mon, 20 Jun 2022 15:35:39 +0200 Subject: [PATCH 068/175] Rename CPU attrs according to Gaia-X specs. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index 93daaf7..f7ddd54 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -23,20 +23,22 @@ conn = None ofile = '/dev/stdout' -# These should be moved to a helper file, +# These classes reflect the Gaia-X view on physical infra +# They should be moved to a helper file, # to be used by OpenStack and also k8s discovery +# They are currently unused -class cpu: +class CPU: def __init__(self): # Gaia-X attrs - self.cores = 0 - self.threads = 0 - self.freq = 0 - self.boostFreq = 0 - self.cache = 0 + self.numberOfCores = 0 + self.numberOfThreads = 0 + self.frequency = 0 + self.boostFrequency = 0 + self.cacheSize = 0 # This would not be interesting typically - self.socketType = "" - # Virt. attrs + self.allowedSocket = "" + # Virt. attrs -- not in GaX self.dedicatedCore = false self.dedicatedThread = false self.limitOversubscr = false @@ -92,7 +94,7 @@ def get_openstack_flavors(): numberOfvCPUs = flv_id['vcpus'], ramSize = dict(Value = flv_id['ram']/1024, Unit='GiB') ) - # Only add diskSize if non-null + # Only add diskSize if non-zero flv_disk = flv_id['disk'] if flv_disk: data["diskSize"] = dict(Value = flv_disk, Unit='GB') From e5580f74f2f19b4ef6deea7250bff1ba4c69507c Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Mon, 20 Jun 2022 15:41:53 +0200 Subject: [PATCH 069/175] Move Gaia-X CPU class out to separate file. Not currently used anyway. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gax-cpu.py | 31 +++++++++++++++++++++++++++++++ openstack-discovery.py | 30 +++--------------------------- 2 files changed, 34 insertions(+), 27 deletions(-) create mode 100644 gax-cpu.py diff --git a/gax-cpu.py b/gax-cpu.py new file mode 100644 index 0000000..02d7b1b --- /dev/null +++ b/gax-cpu.py @@ -0,0 +1,31 @@ +#!/usr/bin/python3 +# +# gax-cpu.py +# +# These classes reflect the Gaia-X view on physical infra +# +# (c) Kurt Garloff , 3/2022 - 6/2022 +# SPDX-License-Identifier: EPL-2.0 + + +class CPU: + def __init__(self): + # Gaia-X attrs + self.numberOfCores = 0 + self.numberOfThreads = 0 + self.frequency = 0 + self.boostFrequency = 0 + self.cacheSize = 0 + # This would not be interesting typically + self.allowedSocket = "" + # Virt. attrs -- not in GaX + self.dedicatedCore = false + self.dedicatedThread = false + self.limitOversubscr = false + +class MEM: + def __init__(self): + self.memGB = 0 + self.ECC = true + + diff --git a/openstack-discovery.py b/openstack-discovery.py index f7ddd54..060b11d 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -23,31 +23,6 @@ conn = None ofile = '/dev/stdout' -# These classes reflect the Gaia-X view on physical infra -# They should be moved to a helper file, -# to be used by OpenStack and also k8s discovery -# They are currently unused - -class CPU: - def __init__(self): - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = false - self.dedicatedThread = false - self.limitOversubscr = false - -class mem: - def __init__(self): - self.memGB = 0 - self.ECC = true - class osService: def __init__(self, dct): self.id = dct["id"] @@ -82,8 +57,9 @@ def usage(err = 1): def get_openstack_flavors(): """Use OpenStack conn (global var conn) to get flavor list from compute service. - Note: This does not use/populate objects of cpu and mem class yet, - but rather just stores a local list and outputs it. + Note: We should have a proper abstraction of flavor properties, + store them and generate appropriate data structures for YAML output. + Currently we just store a local list and outputs it. This will be fixed, once we use the SCS flavor parser.""" flvs = list() From af0c40f17fdc32ef662c513e2cbf39e8c704deb9 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Mon, 20 Jun 2022 16:36:29 +0200 Subject: [PATCH 070/175] Store flavor data in approrpiate data structure. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 62 ++++++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index 060b11d..efdb70d 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -39,12 +39,21 @@ def __str__(self): def __repr__(self): return str(self) +class osCompute: + def __init__(self): + self.flavors = [] + class osCloud: def __init__(self): self.regions = [] self.services = [] + self.compute = osCompute() def __str__(self): - return "#Regions: %s\n#Services\n%s" % (self.regions, self.services) + strg = "#Regions: %s\n#Services\n#%s" % (self.regions, self.services) + if self.compute.flavors: + yout = dict(compute = dict(flavor = self.compute.flavors)) + strg += '\n' + yaml.dump(yout, default_flow_style=False) + return strg def usage(err = 1): @@ -53,36 +62,42 @@ def usage(err = 1): print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) sys.exit(err) +class osFlavor: + def __init__(self, flv): + self.name = flv['name'] + # Note: cpuType, cpuGeneration, diskType are MR34 ideas, + # slightly different from and less comprehensive than + # the abstraction in SCS flavor spec. Convert later. + self.cpuType = "" + self.cpuGeneration = "" + self.numberOfvCPUs = flv['vcpus'] + self.ramSize = flv['ram'] # MiB + self.diskSize = flv['disk'] # GB + self.diskType = "" + + def toyaml(self): + ydct = dict(name = self.name, + numberOfvCPUs = self.numberOfvCPUs, + ramSize = dict(Value = self.ramSize/1024, Unit = 'GiB') + ) + if self.diskSize: + ydct['diskSize'] = dict(Value = self.diskSize, Unit = 'GB') + # TODO: cpuType, cpuGen, diskType output + return ydct + def get_openstack_flavors(): """Use OpenStack conn (global var conn) to get flavor list from - compute service. - Note: We should have a proper abstraction of flavor properties, - store them and generate appropriate data structures for YAML output. - Currently we just store a local list and outputs it. - This will be fixed, once we use the SCS flavor parser.""" + compute service. Populate flavor list.""" flvs = list() for flv_id in conn.compute.flavors(id): + flvs.append(osFlavor(flv_id).toyaml()) - data = dict ( - name = flv_id['name'], - numberOfvCPUs = flv_id['vcpus'], - ramSize = dict(Value = flv_id['ram']/1024, Unit='GiB') - ) - # Only add diskSize if non-zero - flv_disk = flv_id['disk'] - if flv_disk: - data["diskSize"] = dict(Value = flv_disk, Unit='GB') - flvs.append(data) # TODO: # (a) parse extra specs if any # (b) parse SCS flavor names - - yout = dict(compute = dict(flavor = flvs)) - with open(ofile, 'a') as outfile: - yaml.dump(yout, outfile, default_flow_style=False) - + return flvs def main(argv): global cloud, conn @@ -109,8 +124,9 @@ def main(argv): for svc in conn.service_catalog: mycloud.services.append(osService(svc)) #print(conn) - print(mycloud) - get_openstack_flavors() + mycloud.compute.flavors = get_openstack_flavors() + print(mycloud, file = open(ofile, 'a')) + if __name__ == "__main__": From e075948c685e876678c8873c37f3fde93eba7062 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Mon, 20 Jun 2022 16:55:49 +0200 Subject: [PATCH 071/175] Move discovery to initiatlization (c'tor). Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gax-cpu.py | 2 +- openstack-discovery.py | 52 +++++++++++++++++++++--------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/gax-cpu.py b/gax-cpu.py index 02d7b1b..7298dd7 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -1,7 +1,7 @@ #!/usr/bin/python3 # # gax-cpu.py -# +# # These classes reflect the Gaia-X view on physical infra # # (c) Kurt Garloff , 3/2022 - 6/2022 diff --git a/openstack-discovery.py b/openstack-discovery.py index efdb70d..def2915 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -40,14 +40,34 @@ def __repr__(self): return str(self) class osCompute: - def __init__(self): - self.flavors = [] + def __init__(self, conn): + self.conn = conn + self.flavors = self.get_openstack_flavors() + + def get_openstack_flavors(self): + """Use OpenStack conn (global var conn) to get flavor list from + compute service. Populate flavor list.""" + flvs = list() + for flv_id in self.conn.compute.flavors(id): + flvs.append(osFlavor(flv_id).toyaml()) + # TODO: + # (a) parse extra specs if any + # (b) parse SCS flavor names + self.flavors = flvs + return flvs + class osCloud: - def __init__(self): - self.regions = [] + def __init__(self, conn): + self.conn = conn + self.regions = list(conn.identity.regions()) self.services = [] - self.compute = osCompute() + #self.services = list(conn.identity.services()) + #self.services = conn.list_services() + for svc in conn.service_catalog: + self.services.append(osService(svc)) + self.compute = osCompute(conn) + #print(conn) def __str__(self): strg = "#Regions: %s\n#Services\n#%s" % (self.regions, self.services) if self.compute.flavors: @@ -86,19 +106,6 @@ def toyaml(self): return ydct -def get_openstack_flavors(): - """Use OpenStack conn (global var conn) to get flavor list from - compute service. Populate flavor list.""" - - flvs = list() - for flv_id in conn.compute.flavors(id): - flvs.append(osFlavor(flv_id).toyaml()) - - # TODO: - # (a) parse extra specs if any - # (b) parse SCS flavor names - return flvs - def main(argv): global cloud, conn global ofile @@ -117,14 +124,7 @@ def main(argv): if args: usage(1) conn = openstack.connect(cloud=cloud) - mycloud = osCloud() - mycloud.regions = list(conn.identity.regions()) - #mycloud.services = list(conn.identity.services()) - #mycloud.services = conn.list_services() - for svc in conn.service_catalog: - mycloud.services.append(osService(svc)) - #print(conn) - mycloud.compute.flavors = get_openstack_flavors() + mycloud = osCloud(conn) print(mycloud, file = open(ofile, 'a')) From 85fa814213055cae693e5dc64886e20761aceaf1 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 21 Jun 2022 17:50:48 +0200 Subject: [PATCH 072/175] Option to output --gaia-x/--json. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 33 ++++++++++++++++++++++++++------- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index def2915..f086c99 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -13,7 +13,7 @@ import sys, os, getopt import openstack -import yaml +import yaml, json # Global variables if "OS_CLOUD" in os.environ: @@ -21,7 +21,9 @@ else: cloud = "" conn = None +outjson = False ofile = '/dev/stdout' +indent = " " class osService: def __init__(self, dct): @@ -69,15 +71,26 @@ def __init__(self, conn): self.compute = osCompute(conn) #print(conn) def __str__(self): - strg = "#Regions: %s\n#Services\n#%s" % (self.regions, self.services) + strg = "" + if not outjson: + strg = "#Regions: %s\n#Services\n#%s" % (self.regions, self.services) if self.compute.flavors: - yout = dict(compute = dict(flavor = self.compute.flavors)) - strg += '\n' + yaml.dump(yout, default_flow_style=False) + if not outjson: + yout = dict(compute = dict(flavor = self.compute.flavors)) + strg += '\n' + yaml.dump(yout, default_flow_style=False) + else: + jout = dict(compute = dict(flavor = self.compute.flavors)) + strg += '\n' + json.dumps(jout, indent = indent) + return strg def usage(err = 1): print("Usage: openstack-discovery.py [options]", file=sys.stderr) + print("Options: -g/--gaia-x: output Gaia-X JSON-LD instead of YAML (YAML is default)") + print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") + print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") + print(" -c CLOUD/--os-cloud=CLOUD: use OpenStack cloud CLOUD (default: $OS_CLOUD)") if not cloud: print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) sys.exit(err) @@ -107,10 +120,10 @@ def toyaml(self): def main(argv): - global cloud, conn + global cloud, conn, outjson, indent global ofile try: - opts, args = getopt.gnu_getopt(argv[1:], "c:f:h", ("os-cloud=", "file", "help")) + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgj", ("os-cloud=", "file", "help", "gaia-x", "json")) except getopt.GetoptError as exc: usage(1) for opt in opts: @@ -120,9 +133,15 @@ def main(argv): cloud = opt[1] elif opt[0] == "-f" or opt[0] == "--file": ofile = opt[1] - + elif opt[0] == "-g" or opt[0] == "--gaia-x": + outjson = True + elif opt[0] == "-j" or opt[0] == "--json": + outjson = True + indent = None if args: usage(1) + if not cloud: + print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) conn = openstack.connect(cloud=cloud) mycloud = osCloud(conn) print(mycloud, file = open(ofile, 'a')) From 977c0d16926812cb0511af638073c6a0d41b64ac Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 21 Jun 2022 21:11:03 +0200 Subject: [PATCH 073/175] We now generate an SD that passed compliance svc. Generate a JSON-LD file that can be signed and submitted to the compliance service. References: https://signer.demo.delta-dao.com/#signer https://compliance.lab.gaia-x.eu/ Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx_context.py | 20 +++++++++++++++ openstack-discovery.py | 58 +++++++++++++++++++++++++++++++++++++++--- 2 files changed, 74 insertions(+), 4 deletions(-) create mode 100644 gx_context.py diff --git a/gx_context.py b/gx_context.py new file mode 100644 index 0000000..cb3ee09 --- /dev/null +++ b/gx_context.py @@ -0,0 +1,20 @@ +#!/usr/bin/python3 +# +# gx-context.py +# +gxcontext = { "@context": [ + "http://www.w3.org/ns/shacl#", + "http://www.w3.org/2001/XMLSchema#", + "http://w3id.org/gaia-x/resource#", + "http://w3id.org/gaia-x/participant#", + "http://w3id.org/gaia-x/service-offering#" + ] +} + +gxtype = { "@type": [ + "VerifiableCredential", + "ServiceOfferingExperimental" + ] +} + + diff --git a/openstack-discovery.py b/openstack-discovery.py index f086c99..a2a04f4 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -24,6 +24,9 @@ outjson = False ofile = '/dev/stdout' indent = " " +uriprefix = "https://scs.community/sd/" +gxid = "test" +svcname = "SCS Test" class osService: def __init__(self, dct): @@ -58,6 +61,52 @@ def get_openstack_flavors(self): self.flavors = flvs return flvs +def valtype(val, tp = 'xsd:string'): + return { '@value': val, '@type': tp } + +def appenddicts(d1, *kwd): + d = d1 + for k in kwd: + d.update(k) + return d + +def getdocsha512(url): + import requests, hashlib + r = requests.get(url) + r.raise_for_status() + #r.raw.decode_content = True + h = hashlib.sha512(r.content) # .text would be better for HTML + return h.hexdigest() + + +def gxjsonld(cld): + import gx_context + gxsvo = "gx-service-offering:" + jout = gx_context.gxcontext + jout.update(gx_context.gxtype) + myid = uriprefix+"gxserviceIaaSOfferingOpenStack-"+gxid+".json" + jout["@id"] = myid + provby = valtype(uriprefix+"participant.json") + name = valtype("OpenStack IaaS Service " + svcname) + #svcmodel = valtype("pay per use") + webadr = valtype(uriprefix, 'xsd:anyURI') + termsdoc = uriprefix+"terms.pdf" + # calc sha512 + termssha = getdocsha512(termsdoc) + tandc = { gxsvo+"url": valtype(uriprefix+"terms.pdf"), + gxsvo+"hash": valtype(termssha) } + #TODO: dependsOn + #TODO: aggregationOf + jout["credentialSubject"] = { + "id": myid, + gxsvo+"providedBy": provby, + gxsvo+"name": name, + gxsvo+"webAddress": webadr, + gxsvo+"TermsAndConditions": tandc, + gxsvo+"OpenStackService": { gxsvo+"compute": { gxsvo+"flavor": cld.compute.flavors }} + } + return jout + class osCloud: def __init__(self, conn): @@ -73,14 +122,15 @@ def __init__(self, conn): def __str__(self): strg = "" if not outjson: - strg = "#Regions: %s\n#Services\n#%s" % (self.regions, self.services) + strg = "#Regions: %s\n#Services\n#%s\n" % (self.regions, self.services) if self.compute.flavors: if not outjson: yout = dict(compute = dict(flavor = self.compute.flavors)) - strg += '\n' + yaml.dump(yout, default_flow_style=False) + strg += yaml.dump(yout, default_flow_style=False) else: - jout = dict(compute = dict(flavor = self.compute.flavors)) - strg += '\n' + json.dumps(jout, indent = indent) + #jout = dict(compute = dict(flavor = self.compute.flavors)) + jout = gxjsonld(self) + strg += json.dumps(jout, indent = indent) return strg From 62bb4cee75e4e98402cccd0ad4a3ab5b3c6ca3ed Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 21 Jun 2022 21:33:25 +0200 Subject: [PATCH 074/175] Download and hash terms.pdf. ID with version. Make uriprefix tweakable, same for service name and ID. Download URI/terms.pdf and calc sha512. Generated ID gets a version number (unix time) attached. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index a2a04f4..66a2fc0 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -48,6 +48,7 @@ class osCompute: def __init__(self, conn): self.conn = conn self.flavors = self.get_openstack_flavors() + self.ep = self.conn.compute.get_endpoint() def get_openstack_flavors(self): """Use OpenStack conn (global var conn) to get flavor list from @@ -80,11 +81,11 @@ def getdocsha512(url): def gxjsonld(cld): - import gx_context + import gx_context, time gxsvo = "gx-service-offering:" jout = gx_context.gxcontext jout.update(gx_context.gxtype) - myid = uriprefix+"gxserviceIaaSOfferingOpenStack-"+gxid+".json" + myid = uriprefix+"gxserviceIaaSOfferingOpenStack-"+gxid+"-%i.json" % time.time() jout["@id"] = myid provby = valtype(uriprefix+"participant.json") name = valtype("OpenStack IaaS Service " + svcname) @@ -103,8 +104,12 @@ def gxjsonld(cld): gxsvo+"name": name, gxsvo+"webAddress": webadr, gxsvo+"TermsAndConditions": tandc, - gxsvo+"OpenStackService": { gxsvo+"compute": { gxsvo+"flavor": cld.compute.flavors }} + gxsvo+"OpenStackService": { gxsvo+"compute": { + gxsvo+"endpoint": valtype(cld.compute.ep, "xsd:anyURI"), + gxsvo+"flavor": cld.compute.flavors + } } + } return jout @@ -125,7 +130,7 @@ def __str__(self): strg = "#Regions: %s\n#Services\n#%s\n" % (self.regions, self.services) if self.compute.flavors: if not outjson: - yout = dict(compute = dict(flavor = self.compute.flavors)) + yout = dict(compute = dict(endpoint = self.compute.ep, flavor = self.compute.flavors)) strg += yaml.dump(yout, default_flow_style=False) else: #jout = dict(compute = dict(flavor = self.compute.flavors)) @@ -141,6 +146,10 @@ def usage(err = 1): print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") print(" -c CLOUD/--os-cloud=CLOUD: use OpenStack cloud CLOUD (default: $OS_CLOUD)") + print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") + print(" -u URI/--uri=URI: use URI prefix. URI/particpant.json and URI/terms.pdf needed") + print(" -n NAME/--name=NAME: use name in self description") + print(" -i ID/--gxid=ID: use ID in self description") if not cloud: print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) sys.exit(err) @@ -171,9 +180,11 @@ def toyaml(self): def main(argv): global cloud, conn, outjson, indent + global uriprefix, gxid, svcname global ofile try: - opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgj", ("os-cloud=", "file", "help", "gaia-x", "json")) + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgju:n:i:", \ + ("os-cloud=", "file=", "help", "gaia-x", "json", "uri=", "name=", "id=")) except getopt.GetoptError as exc: usage(1) for opt in opts: @@ -183,6 +194,12 @@ def main(argv): cloud = opt[1] elif opt[0] == "-f" or opt[0] == "--file": ofile = opt[1] + elif opt[0] == "-u" or opt[0] == "--uri": + uriprefix = opt[1] + elif opt[0] == "-n" or opt[0] == "--name": + svcname = opt[1] + elif opt[0] == "-i" or opt[0] == "--id": + gxid = opt[1] elif opt[0] == "-g" or opt[0] == "--gaia-x": outjson = True elif opt[0] == "-j" or opt[0] == "--json": From 2924fdd90d456ee14a228f15e0230a88c94765b6 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Wed, 22 Jun 2022 09:57:25 +0200 Subject: [PATCH 075/175] Update README file with 2022-06-21 status. We made some progress in the Gaia-X Hackathon-4. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- README.md | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fb4a06b..0bb0e31 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ We start with the region list and then read the OpenStack catalog to collect - OS_AUTH_URL (Keystone Endpoint) - List of services (along with supported versions, min thr. max) - Per service: extensions (cinderv3, nova) +- Flavors for compute incl. flavor details (SCS spec) - AZs (for nova, cinderv3, neutron) - UI (URL, type: horizon or custom) @@ -23,7 +24,7 @@ References: Notes from reviewing the SD attributes: * Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties - (generation, speed, insn set externsions, ...) + (generation, speed, insn set extensions, ...) * NICs: Virtual NICs are almost unlimited, but there may be a limited amount of hardware-accelerated NICs (using SR-IOV and multiqueue features) available -- these may need to be added to SCS flavor naming. @@ -54,3 +55,28 @@ So the SD for a k8s aaS solution would list possible options and ranges: What k8s versions are supported, what max number of workers, flavors, etc.? What services are optionally delivered (and supported) by the provider? + +For KaaS, the option space really needs to be described. +As of now, this can not be discovered, short of using external sources, +like the IaaS SD, the list of node images (osism minio), ... + +## Status (2022-06-21) +The current PoC code can discover OpenStack capabilities and produces +an entry for the compute service with endpoint URL and a flavor list. + +Thanks to the work in Hackathon #4, we have an option to export +JSON-LD (use option `--gaia-x` aka. `-g`) that can be signed and +successfully processed by the compilance service at +http://compliance.lab.gaia-x.eu/ +Signing and verifying can be combined using the Delta-DAO signer. +https://signer.demo.delta-dao.com/#signer + +From an OpenStack perspective, this is very incomplete. +- We lack flavor details (though we need SCS specs to discover more) +- We lack other aspects from the compute service (such as API + version and microversions and supported extensions). +- We lack the service catalog and all other services. + +TODO: Create cmd line tool that does signing and interacting with +the compliance service, so we can set up CI testing. + From 2fa18a4b0d664a8bc4de2d8077e2a97f42ce62ed Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Thu, 23 Jun 2022 14:36:45 +0200 Subject: [PATCH 076/175] Add auth_url, versions/microversions and extensions. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index 66a2fc0..b83c40a 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -45,10 +45,18 @@ def __repr__(self): return str(self) class osCompute: - def __init__(self, conn): + def __init__(self, conn, region="RegionOne"): self.conn = conn self.flavors = self.get_openstack_flavors() - self.ep = self.conn.compute.get_endpoint() + self.ep = conn.compute.get_endpoint() + self.version = conn.compute.version + self.versdata = conn.compute.get_all_version_data()[region]["public"]["compute"] + self.versinfo = list(map(lambda x: {'version': x.version, 'url': x.url, + 'status': x.status, 'min_microversion': x.min_microversion, + 'max_microversion': x.max_microversion}, + self.versdata)) + + self.extensions = list(map(lambda x: x.name, conn.compute.extensions())) def get_openstack_flavors(self): """Use OpenStack conn (global var conn) to get flavor list from @@ -104,9 +112,12 @@ def gxjsonld(cld): gxsvo+"name": name, gxsvo+"webAddress": webadr, gxsvo+"TermsAndConditions": tandc, - gxsvo+"OpenStackService": { gxsvo+"compute": { - gxsvo+"endpoint": valtype(cld.compute.ep, "xsd:anyURI"), - gxsvo+"flavor": cld.compute.flavors + gxsvo+"OpenStackService": { gxsvo+"auth_url": valtype(cld.auth["auth_url"], "xsd:anyURI"), + gxsvo+"compute": { + gxsvo+"endpoint": valtype(cld.compute.ep, "xsd:anyURI"), + gxsvo+"extension": cld.compute.extensions, + gxsvo+"version": cld.compute.versinfo, + gxsvo+"flavor": cld.compute.flavors } } } @@ -116,13 +127,14 @@ def gxjsonld(cld): class osCloud: def __init__(self, conn): self.conn = conn + self.auth = conn.auth self.regions = list(conn.identity.regions()) self.services = [] #self.services = list(conn.identity.services()) #self.services = conn.list_services() for svc in conn.service_catalog: self.services.append(osService(svc)) - self.compute = osCompute(conn) + self.compute = osCompute(conn, self.regions[0].id) #print(conn) def __str__(self): strg = "" @@ -130,7 +142,12 @@ def __str__(self): strg = "#Regions: %s\n#Services\n#%s\n" % (self.regions, self.services) if self.compute.flavors: if not outjson: - yout = dict(compute = dict(endpoint = self.compute.ep, flavor = self.compute.flavors)) + yout = dict(auth = dict(auth_url = self.auth["auth_url"]), + compute = dict(endpoint = self.compute.ep, + #version = self.compute.version, + version = self.compute.versinfo, + extension = self.compute.extensions, + flavor = self.compute.flavors)) strg += yaml.dump(yout, default_flow_style=False) else: #jout = dict(compute = dict(flavor = self.compute.flavors)) From d31ca50c057bb765a30439a050c9aa0e997dc971 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 24 Jun 2022 11:13:31 +0200 Subject: [PATCH 077/175] Report compute availability zones. Also for the version list, leave out min_microversion and max_microversion if these values are null. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index b83c40a..b734a2d 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -52,10 +52,12 @@ def __init__(self, conn, region="RegionOne"): self.version = conn.compute.version self.versdata = conn.compute.get_all_version_data()[region]["public"]["compute"] self.versinfo = list(map(lambda x: {'version': x.version, 'url': x.url, - 'status': x.status, 'min_microversion': x.min_microversion, + 'status': x.status, + 'min_microversion': x.min_microversion, 'max_microversion': x.max_microversion}, - self.versdata)) - + filter(lambda x: x.max_microversion, self.versdata))) + self.versinfo.extend(list(map(lambda x: {'version': x.version, 'url': x.url, 'status': x.status}, + filter(lambda x: not x.max_microversion, self.versdata)))) self.extensions = list(map(lambda x: x.name, conn.compute.extensions())) def get_openstack_flavors(self): @@ -113,10 +115,14 @@ def gxjsonld(cld): gxsvo+"webAddress": webadr, gxsvo+"TermsAndConditions": tandc, gxsvo+"OpenStackService": { gxsvo+"auth_url": valtype(cld.auth["auth_url"], "xsd:anyURI"), + #gxsvo+"user_domain_name": valtype(cld.auth["user_domain_name"]), gxsvo+"compute": { gxsvo+"endpoint": valtype(cld.compute.ep, "xsd:anyURI"), gxsvo+"extension": cld.compute.extensions, gxsvo+"version": cld.compute.versinfo, + gxsvo+"availability_zone": list(map(lambda x: x.name, + filter(lambda x: x.state['available'] == True, + cld.conn.compute.availability_zones()))), gxsvo+"flavor": cld.compute.flavors } } @@ -143,10 +149,14 @@ def __str__(self): if self.compute.flavors: if not outjson: yout = dict(auth = dict(auth_url = self.auth["auth_url"]), + #user_domain_name = self.auth["user_domain_name"], compute = dict(endpoint = self.compute.ep, #version = self.compute.version, version = self.compute.versinfo, extension = self.compute.extensions, + availability_zones = list(map(lambda x: x.name, + filter(lambda x: x.state['available'] == True, + conn.compute.availability_zones()))), flavor = self.compute.flavors)) strg += yaml.dump(yout, default_flow_style=False) else: From 5e1a3fc7caba56a88f773bce5f1392d1d2b2ce9b Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 24 Jun 2022 17:44:42 +0200 Subject: [PATCH 078/175] Output all services from service catalog. We have implemented a generic mechanism to dump some interesing info from the OpenStack service catalog if we have support from the SDK. osVolume, osCompute and osLoadBalancer are specializations for it. - Compute does collect the flavor list - Volume needs manual retrieval of extension list and AZs and does also have storage types - LoadBalancer also has a flavor list Also, we can output AZs from the network service and we outpu regions for the cloud. This is a fairly comprehensive list now, but of course work remains: - Probably some networking features to be detected and listed - Flavor details (acc to existing and future SCS specs) - Image data (incl SCS metadata info) Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 304 +++++++++++++++++++++++++++++------------ 1 file changed, 216 insertions(+), 88 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index b734a2d..d4362c5 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -28,7 +28,37 @@ gxid = "test" svcname = "SCS Test" -class osService: +def valtype(val, tp = 'xsd:string'): + "Wrapper to return dict pairs with @value and @type as needed in JSON-LD" + return { '@value': val, '@type': tp } + +def appenddicts(d1, *kwd): + "Return dict d1 with items from kwd added" + d = d1 + for k in kwd: + d.update(k) + return d + + +def versinfo(connprox, stype, region = "RegionOne"): + "Get list of supported versions and microversions from OS service" + vdata = connprox.get_all_version_data()[region]["public"] + for keys in vdata: + versdata = vdata[keys] + if keys == stype: + break + vinfo = list(map(lambda x: {'version': x.version, 'url': x.url, + 'status': x.status, + 'min_microversion': x.min_microversion, + 'max_microversion': x.max_microversion}, + filter(lambda x: x.max_microversion, versdata))) + vinfo.extend(list(map(lambda x: {'version': x.version, 'url': x.url, 'status': x.status}, + filter(lambda x: not x.max_microversion, versdata)))) + return vinfo + + +class osServiceCat: + "OpenStack service catalog" def __init__(self, dct): self.id = dct["id"] # interface: we only look at public @@ -44,44 +74,154 @@ def __str__(self): def __repr__(self): return str(self) -class osCompute: - def __init__(self, conn, region="RegionOne"): - self.conn = conn +class osService: + "A generic openStack service, with a proxy connection object from SDK" + def __init__(self, conn, stype, name, region = "RegionOne", quiet = True): + self.fulltype = stype + if stype[-2] == 'v' and stype[-1].isnumeric(): + stype = stype[:-2] + stype = stype.replace('-', '_') + self.stype = stype + try: + self.conn = conn.__getattribute__(stype) + self.conn.service_name = name + except AttributeError as e: + self.conn = None + if not quiet: + print("No service proxy of type %s in SDK.\n%s" % (stype, e)) + return + try: + self.ep = self.conn.get_endpoint().replace(conn.auth["project_id"], "${OS_PROJECT_ID}") + except Exception as e: + if stype == "identity": + self.ep = conn.auth["auth_url"] + else: + if self.conn: + raise e + self.versdata = versinfo(self.conn, self.fulltype, region) + try: + #self.extensions = list(map(lambda x: x.name, self.conn.extensions())) + self.extensions = list(map(lambda x: x.alias, self.conn.extensions())) + except Exception as e: + self.extensions = None + if not quiet: + print("WARNING: Service %s does not support getting extensions.\n%s" % (self.fulltype, e)) + try: + self.azs = list(filter(lambda x: x.state['available'] == True, self.conn.availability_zones())) + except: + self.azs = None + try: + self.azs = list(filter(lambda x: x.state == 'available', self.conn.availability_zones())) + except Exception as e: + if not quiet: + print("WARNING: Service %s does not support getting AZs.\n%s" % (self.fulltype, e)) + + def __repr__(self): + dct = { self.stype: { "name": self.conn.service_name, + "endpoint": self.ep, + "versions": self.versdata + } + } + if self.extensions: + dct[self.stype]["extensions"] = self.extensions + if self.azs: + dct[self.stype]["availability_zones"] = list(map(lambda x: x.name, self.azs)) + return dct + +class osFlavor: + "Abstraction for flavors" + def __init__(self, flv): + self.name = flv['name'] + # Note: cpuType, cpuGeneration, diskType are MR34 ideas, + # slightly different from and less comprehensive than + # the abstraction in SCS flavor spec. Convert later. + self.cpuType = "" + self.cpuGeneration = "" + self.numberOfvCPUs = flv['vcpus'] + self.ramSize = flv['ram'] # MiB + self.diskSize = flv['disk'] # GB + self.diskType = "" + + def __repr__(self): + ydct = dict(name = self.name, + numberOfvCPUs = self.numberOfvCPUs, + ramSize = dict(Value = self.ramSize/1024, Unit = 'GiB') + ) + if self.diskSize: + ydct['diskSize'] = dict(Value = self.diskSize, Unit = 'GB') + # TODO: cpuType, cpuGen, diskType output + return ydct + +class osCompute(osService): + svcID = ("compute", "computev2", "compute_legacy") + #def __init__(self, conn, region="RegionOne"): + def __init__(self, conn, stype, name, region="RegionOne"): + super().__init__(conn, stype, name, region, False) self.flavors = self.get_openstack_flavors() - self.ep = conn.compute.get_endpoint() - self.version = conn.compute.version - self.versdata = conn.compute.get_all_version_data()[region]["public"]["compute"] - self.versinfo = list(map(lambda x: {'version': x.version, 'url': x.url, - 'status': x.status, - 'min_microversion': x.min_microversion, - 'max_microversion': x.max_microversion}, - filter(lambda x: x.max_microversion, self.versdata))) - self.versinfo.extend(list(map(lambda x: {'version': x.version, 'url': x.url, 'status': x.status}, - filter(lambda x: not x.max_microversion, self.versdata)))) - self.extensions = list(map(lambda x: x.name, conn.compute.extensions())) + def __repr__(self): + dct = super().__repr__() + dct[self.stype]["flavors"] = self.flavors + return dct def get_openstack_flavors(self): """Use OpenStack conn (global var conn) to get flavor list from compute service. Populate flavor list.""" flvs = list() - for flv_id in self.conn.compute.flavors(id): - flvs.append(osFlavor(flv_id).toyaml()) + for flv_id in self.conn.flavors(id): + flvs.append(osFlavor(flv_id).__repr__()) # TODO: # (a) parse extra specs if any # (b) parse SCS flavor names self.flavors = flvs return flvs -def valtype(val, tp = 'xsd:string'): - return { '@value': val, '@type': tp } +class azInfo: + "Convert zoneXxx dict into class with Xxx attributes for availability zones" + def __init__(self, dct): + for key in dct: + if key[:4] == "zone": + newkey = key[4].lower() + key[5:] + else: + newkey = key + self.__setattr__(newkey, dct[key]) -def appenddicts(d1, *kwd): - d = d1 - for k in kwd: - d.update(k) - return d +class osVolume(osService): + "osService specialization for volumes (cinderv3)" + svcID = ("volumev3", "volumev2", "volume") + def __init__(self, conn, stype, name, region="RegionOne"): + super().__init__(conn, stype, name, region, True) + self.voltypes = list(self.conn.types()) + # TODO: Fixup azs and exts + r = self.conn.request('/extensions', 'GET') + ext = json.loads(r.text)["extensions"] + self.extensions = list(map(lambda x: x["alias"], ext)) + r = self.conn.request('/os-availability-zone', 'GET') + azs = json.loads(r.text)["availabilityZoneInfo"] + self.azs = list(map(lambda x: azInfo(x), filter(lambda x: x["zoneState"]["available"] == True, azs))) + + def __repr__(self): + dct = super().__repr__() + dct[self.stype]["volume_types"] = list(map( + lambda x: { "name": x.name, "public": x.is_public }, self.voltypes)) + return dct + +class osLoadBalancer(osService): + "osService specialization for load balancers" + svcID = ("load_balancer", "load-balancer") + def __init__(self, conn, stype, name, region="RegionOne"): + super().__init__(conn, stype, name, region, True) + self.flavors = self.conn.flavors() + self.flavors = list(map(lambda x: {"name": x.name, "description": x.description}, + filter(lambda x: x.is_enabled, self.flavors))) + def __repr__(self): + dct = super().__repr__() + dct[self.stype]["flavors"] = self.flavors + return dct + +## TODO: List of public images with properties def getdocsha512(url): + "Calculate SHA512 from terms document at URL" import requests, hashlib r = requests.get(url) r.raise_for_status() @@ -90,7 +230,8 @@ def getdocsha512(url): return h.hexdigest() -def gxjsonld(cld): +def gxjsonldheader(): + "Dict to generate JSON-LD header for Gaia-X SDs" import gx_context, time gxsvo = "gx-service-offering:" jout = gx_context.gxcontext @@ -113,58 +254,68 @@ def gxjsonld(cld): gxsvo+"providedBy": provby, gxsvo+"name": name, gxsvo+"webAddress": webadr, - gxsvo+"TermsAndConditions": tandc, - gxsvo+"OpenStackService": { gxsvo+"auth_url": valtype(cld.auth["auth_url"], "xsd:anyURI"), - #gxsvo+"user_domain_name": valtype(cld.auth["user_domain_name"]), - gxsvo+"compute": { - gxsvo+"endpoint": valtype(cld.compute.ep, "xsd:anyURI"), - gxsvo+"extension": cld.compute.extensions, - gxsvo+"version": cld.compute.versinfo, - gxsvo+"availability_zone": list(map(lambda x: x.name, - filter(lambda x: x.state['available'] == True, - cld.conn.compute.availability_zones()))), - gxsvo+"flavor": cld.compute.flavors - } + gxsvo+"TermsAndConditions": tandc } - } return jout - class osCloud: + "Abstraction for openStack cloud with all its services" def __init__(self, conn): self.conn = conn self.auth = conn.auth self.regions = list(conn.identity.regions()) self.services = [] - #self.services = list(conn.identity.services()) - #self.services = conn.list_services() for svc in conn.service_catalog: - self.services.append(osService(svc)) - self.compute = osCompute(conn, self.regions[0].id) - #print(conn) - def __str__(self): - strg = "" - if not outjson: - strg = "#Regions: %s\n#Services\n#%s\n" % (self.regions, self.services) - if self.compute.flavors: - if not outjson: - yout = dict(auth = dict(auth_url = self.auth["auth_url"]), - #user_domain_name = self.auth["user_domain_name"], - compute = dict(endpoint = self.compute.ep, - #version = self.compute.version, - version = self.compute.versinfo, - extension = self.compute.extensions, - availability_zones = list(map(lambda x: x.name, - filter(lambda x: x.state['available'] == True, - conn.compute.availability_zones()))), - flavor = self.compute.flavors)) - strg += yaml.dump(yout, default_flow_style=False) + self.services.append(osServiceCat(svc)) + self.ostacksvc = {} + handled = [] + region0 = self.regions[0].id + # Iterate over service catalog + for svc in self.services: + if svc.type in (*handled, "compute_legacy", "cloudformation"): + continue + if svc.type in osCompute.svcID: + newsvc = osCompute(conn, svc.type, svc.name, region0) + handled.extend(osCompute.svcID) + elif svc.type in osVolume.svcID: + newsvc = osVolume (conn, svc.type, svc.name, region0) + handled.extend(osVolume.svcID) + elif svc.type in osLoadBalancer.svcID: + newsvc = osLoadBalancer(conn, svc.type, svc.name, region0) + handled.extend(osLoadBalancer.svcID) else: - #jout = dict(compute = dict(flavor = self.compute.flavors)) - jout = gxjsonld(self) - strg += json.dumps(jout, indent = indent) + newsvc = osService(conn, svc.type, svc.name, region0) + handled.extend((svc.type, newsvc.stype,)) + if svc.type == "orchestration": + handled.extend("cloudformation") - return strg + if newsvc.conn: + self.ostacksvc[newsvc.stype] = newsvc + + def __repr__(self): + inner = { "regions": list(map(lambda x: x.id, self.regions)) } + if outjson: + inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") + else: + inner["auth_url"] = self.auth["auth_url"] + for svckey in self.ostacksvc: + svc = self.ostacksvc[svckey] + inner = appenddicts(inner, svc.__repr__()) + if outjson: + inner[svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") + if not outjson: + return { "openstack": inner } + else: + jout = gxjsonldheader() + jout["credentialSubject"]["gxsvo+OpenStackService"] = inner + return jout + + def __str__(self): + #print(self.__repr__()) + if outjson: + return json.dumps(self.__repr__(), indent = indent) + else: + return yaml.dump(self.__repr__(), default_flow_style=False) def usage(err = 1): @@ -181,29 +332,6 @@ def usage(err = 1): print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) sys.exit(err) -class osFlavor: - def __init__(self, flv): - self.name = flv['name'] - # Note: cpuType, cpuGeneration, diskType are MR34 ideas, - # slightly different from and less comprehensive than - # the abstraction in SCS flavor spec. Convert later. - self.cpuType = "" - self.cpuGeneration = "" - self.numberOfvCPUs = flv['vcpus'] - self.ramSize = flv['ram'] # MiB - self.diskSize = flv['disk'] # GB - self.diskType = "" - - def toyaml(self): - ydct = dict(name = self.name, - numberOfvCPUs = self.numberOfvCPUs, - ramSize = dict(Value = self.ramSize/1024, Unit = 'GiB') - ) - if self.diskSize: - ydct['diskSize'] = dict(Value = self.diskSize, Unit = 'GB') - # TODO: cpuType, cpuGen, diskType output - return ydct - def main(argv): global cloud, conn, outjson, indent From d62a5dc4032ebb2cbabe90ce71b2a3e912236277 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 24 Jun 2022 17:51:37 +0200 Subject: [PATCH 079/175] Updat README Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- README.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0bb0e31..d0a4640 100644 --- a/README.md +++ b/README.md @@ -60,9 +60,12 @@ For KaaS, the option space really needs to be described. As of now, this can not be discovered, short of using external sources, like the IaaS SD, the list of node images (osism minio), ... -## Status (2022-06-21) +## Status (2022-06-24) The current PoC code can discover OpenStack capabilities and produces -an entry for the compute service with endpoint URL and a flavor list. +an entry for the services in the service catalogue. +For the compute service, there is a flavor list (yet without some +of the details discoverable by SCS specs); for volumes, we +list the types, for loadbalancers, we have a flavor list as well. Thanks to the work in Hackathon #4, we have an option to export JSON-LD (use option `--gaia-x` aka. `-g`) that can be signed and @@ -71,11 +74,10 @@ http://compliance.lab.gaia-x.eu/ Signing and verifying can be combined using the Delta-DAO signer. https://signer.demo.delta-dao.com/#signer -From an OpenStack perspective, this is very incomplete. +From an OpenStack perspective, this still incomplete. - We lack flavor details (though we need SCS specs to discover more) -- We lack other aspects from the compute service (such as API - version and microversions and supported extensions). -- We lack the service catalog and all other services. +- We lack a list of public images (along with image details) +- Neutron probably has a few things to detect. TODO: Create cmd line tool that does signing and interacting with the compliance service, so we can set up CI testing. From 02c57b895847753a94a5088492201f443bcefe43 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 24 Jun 2022 17:53:08 +0200 Subject: [PATCH 080/175] More updates to README. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d0a4640..0f15669 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,9 @@ like the IaaS SD, the list of node images (osism minio), ... ## Status (2022-06-24) The current PoC code can discover OpenStack capabilities and produces -an entry for the services in the service catalogue. +an entry for the services in the service catalogue, with name, +(micro)versions, availability zones and extensions (where supported). + For the compute service, there is a flavor list (yet without some of the details discoverable by SCS specs); for volumes, we list the types, for loadbalancers, we have a flavor list as well. From 605bbf22a0a0b4a349332a8d3edcabc249b3d3c1 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 24 Jun 2022 18:30:38 +0200 Subject: [PATCH 081/175] Add note on for the generator. Also add License-Identifier for gx_context.py. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx_context.py | 5 +++++ openstack-discovery.py | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/gx_context.py b/gx_context.py index cb3ee09..7bf164e 100644 --- a/gx_context.py +++ b/gx_context.py @@ -2,6 +2,11 @@ # # gx-context.py # +# Some settings for the JSON-LD SDs needed in Gaia-X +# +# (c) Kurt Garloff , 6/2022 +# SPDX-License-Identifier: EPL-2.0 +# gxcontext = { "@context": [ "http://www.w3.org/ns/shacl#", "http://www.w3.org/2001/XMLSchema#", diff --git a/openstack-discovery.py b/openstack-discovery.py index d4362c5..568312a 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -4,7 +4,7 @@ # # Talk to OpenStack APIs to discover environment # Save discovered information in classes that reflect G-X attributes -# These can then be dumped as YAMLs or other forms +# These can then be dumped as YAML or as Gaia-X JSON-LD Self-Description. # # (c) Kurt Garloff , 3/2022 - 6/2022 # (c) Mathias Fechner , 3/2022 @@ -254,7 +254,8 @@ def gxjsonldheader(): gxsvo+"providedBy": provby, gxsvo+"name": name, gxsvo+"webAddress": webadr, - gxsvo+"TermsAndConditions": tandc + gxsvo+"TermsAndConditions": tandc, + gxsvo+"SDAutoGeneratedBy": "https://github.com/SovereignCloudStack/gx-self-description-generator/" } return jout From 0d4e089c5e355fe670b4f9c5c01199ed339b821c Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 24 Jun 2022 20:19:36 +0000 Subject: [PATCH 082/175] Handle missing endpoints. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) mode change 100755 => 100644 openstack-discovery.py diff --git a/openstack-discovery.py b/openstack-discovery.py old mode 100755 new mode 100644 index 568312a..16b602a --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -85,7 +85,7 @@ def __init__(self, conn, stype, name, region = "RegionOne", quiet = True): try: self.conn = conn.__getattribute__(stype) self.conn.service_name = name - except AttributeError as e: + except Exception as e: self.conn = None if not quiet: print("No service proxy of type %s in SDK.\n%s" % (stype, e)) @@ -210,12 +210,17 @@ class osLoadBalancer(osService): svcID = ("load_balancer", "load-balancer") def __init__(self, conn, stype, name, region="RegionOne"): super().__init__(conn, stype, name, region, True) - self.flavors = self.conn.flavors() - self.flavors = list(map(lambda x: {"name": x.name, "description": x.description}, - filter(lambda x: x.is_enabled, self.flavors))) + try: + self.flavors = self.conn.flavors() + self.flavors = list(map(lambda x: {"name": x.name, "description": x.description}, + filter(lambda x: x.is_enabled, self.flavors))) + except Exception as e: + print(e, file=sys.stderr) + self.flavors = None def __repr__(self): dct = super().__repr__() - dct[self.stype]["flavors"] = self.flavors + if self.flavors: + dct[self.stype]["flavors"] = self.flavors return dct ## TODO: List of public images with properties @@ -367,7 +372,10 @@ def main(argv): print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) conn = openstack.connect(cloud=cloud) mycloud = osCloud(conn) - print(mycloud, file = open(ofile, 'a')) + if ofile == "/dev/stdout": + print(mycloud, file = sys.stdout) + else: + print(mycloud, file = open(ofile, 'a')) From 06c49f20f8b3ad12688632c937501150a7c4187b Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 28 Jun 2022 15:59:10 +0200 Subject: [PATCH 083/175] Handle case where project_id is not explicitly set. We can auth against openstack with project_name instead (or tokens or app secrets or ...). Handle this case when replacing endpoints that encode the project_id. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) mode change 100644 => 100755 openstack-discovery.py diff --git a/openstack-discovery.py b/openstack-discovery.py old mode 100644 new mode 100755 index 16b602a..820435e --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -82,6 +82,10 @@ def __init__(self, conn, stype, name, region = "RegionOne", quiet = True): stype = stype[:-2] stype = stype.replace('-', '_') self.stype = stype + if "project_id" in conn.auth: + prj_id = conn.auth["project_id"] + else: + prj_id = conn.identity.get_project_id() try: self.conn = conn.__getattribute__(stype) self.conn.service_name = name @@ -91,7 +95,7 @@ def __init__(self, conn, stype, name, region = "RegionOne", quiet = True): print("No service proxy of type %s in SDK.\n%s" % (stype, e)) return try: - self.ep = self.conn.get_endpoint().replace(conn.auth["project_id"], "${OS_PROJECT_ID}") + self.ep = self.conn.get_endpoint().replace(prj_id, "${OS_PROJECT_ID}") except Exception as e: if stype == "identity": self.ep = conn.auth["auth_url"] From f17f9960cb3ba7b979fe7763b393f17f237109a9 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 28 Jun 2022 21:36:04 +0200 Subject: [PATCH 084/175] Handle multi-region catalogs. Handle conn errors. We may have several regions listed in the service catalogue. We need to handle the service list PER region. So sort the public endpoints by region. Adjust output format to have region as a high-level structural element below openstackcloud. Some special treatment is needed to get version list and endpoints specific to the region. Also, we need to better handling of errors: - Only probe endpoints when they are listed as public EPs for the region. - Set lower timeout (default 12s, tunable with -t). - Detect and handle failed connection setup (no api_version). Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 213 +++++++++++++++++++++++++++++------------ 1 file changed, 152 insertions(+), 61 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index 820435e..62eb62e 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -21,6 +21,7 @@ else: cloud = "" conn = None +debug = False outjson = False ofile = '/dev/stdout' indent = " " @@ -40,9 +41,15 @@ def appenddicts(d1, *kwd): return d -def versinfo(connprox, stype, region = "RegionOne"): +def versinfo(connprox, stype, region): "Get list of supported versions and microversions from OS service" - vdata = connprox.get_all_version_data()[region]["public"] + vrdata = connprox.get_all_version_data(region_name = region) + for reg in vrdata: + try: + vdata = vrdata[reg]["public"] + break + except: + pass for keys in vdata: versdata = vdata[keys] if keys == stype: @@ -59,40 +66,51 @@ def versinfo(connprox, stype, region = "RegionOne"): class osServiceCat: "OpenStack service catalog" - def __init__(self, dct): + def __init__(self, dct, regfilter): self.id = dct["id"] + self.region = regfilter + self.ep = None # interface: we only look at public for ep in dct["endpoints"]: - if ep["interface"] != "public": - continue - self.url = ep["url"] - self.region = ep["region_id"] + if ep["interface"] == "public" and (not regfilter or ep["region_id"] == regfilter): + self.ep = ep["url"] self.type = dct["type"] self.name = dct["name"] + self.consumed = False def __str__(self): - return "%s|%s|%s" % (self.type, self.name, self.url) + return "%s|%s|%s" % (self.type, self.name, self.ep) def __repr__(self): return str(self) class osService: "A generic openStack service, with a proxy connection object from SDK" - def __init__(self, conn, stype, name, region = "RegionOne", quiet = True): + def __init__(self, conn, stype, name, region, prj_id, ep, quiet = True): self.fulltype = stype if stype[-2] == 'v' and stype[-1].isnumeric(): stype = stype[:-2] stype = stype.replace('-', '_') self.stype = stype - if "project_id" in conn.auth: - prj_id = conn.auth["project_id"] - else: - prj_id = conn.identity.get_project_id() + self.region = region + self.conn = None + self.apiver = None + self.ep = None + self.versdata = None + self.extensions = None + self.azs = None try: + if debug: + print("#INFO: Creating Conn for %s:%s" % (stype, name), file=sys.stderr) self.conn = conn.__getattribute__(stype) self.conn.service_name = name + self.conn.region_name = region + self.apiver = self.conn.get_api_major_version() except Exception as e: - self.conn = None if not quiet: - print("No service proxy of type %s in SDK.\n%s" % (stype, e)) + print("#ERROR: No service proxy of type %s in SDK.\n%s" % (stype, e), file=sys.stderr) + #return + if not self.conn or (self.conn.version == None and not self.apiver): + print("#WARNING: Skipping over %s b/c it advertizes no version" % stype, file=sys.stderr) + self.conn = None return try: self.ep = self.conn.get_endpoint().replace(prj_id, "${OS_PROJECT_ID}") @@ -101,28 +119,33 @@ def __init__(self, conn, stype, name, region = "RegionOne", quiet = True): self.ep = conn.auth["auth_url"] else: if self.conn: - raise e + print("#ERROR: No endpoint found for service %s in region %s" % (self.stype, region), + file = sys.stderr) + #raise e + self.conn = None + return self.versdata = versinfo(self.conn, self.fulltype, region) try: #self.extensions = list(map(lambda x: x.name, self.conn.extensions())) self.extensions = list(map(lambda x: x.alias, self.conn.extensions())) except Exception as e: - self.extensions = None if not quiet: - print("WARNING: Service %s does not support getting extensions.\n%s" % (self.fulltype, e)) + print("#WARNING: Service %s does not support getting extensions.\n%s" % (self.fulltype, e), + file=sys.stderr) try: self.azs = list(filter(lambda x: x.state['available'] == True, self.conn.availability_zones())) except: - self.azs = None try: self.azs = list(filter(lambda x: x.state == 'available', self.conn.availability_zones())) except Exception as e: if not quiet: - print("WARNING: Service %s does not support getting AZs.\n%s" % (self.fulltype, e)) + print("#WARNING: Service %s does not support getting AZs.\n%s" % (self.fulltype, e), + file=sys.stderr) def __repr__(self): dct = { self.stype: { "name": self.conn.service_name, "endpoint": self.ep, + #"region": self.region, "versions": self.versdata } } @@ -131,6 +154,8 @@ def __repr__(self): if self.azs: dct[self.stype]["availability_zones"] = list(map(lambda x: x.name, self.azs)) return dct + def __str__(self): + return str(self.__repr__()) class osFlavor: "Abstraction for flavors" @@ -159,8 +184,8 @@ def __repr__(self): class osCompute(osService): svcID = ("compute", "computev2", "compute_legacy") #def __init__(self, conn, region="RegionOne"): - def __init__(self, conn, stype, name, region="RegionOne"): - super().__init__(conn, stype, name, region, False) + def __init__(self, conn, stype, name, region, prj_id, ep): + super().__init__(conn, stype, name, region, prj_id, ep, False) self.flavors = self.get_openstack_flavors() def __repr__(self): dct = super().__repr__() @@ -192,8 +217,8 @@ def __init__(self, dct): class osVolume(osService): "osService specialization for volumes (cinderv3)" svcID = ("volumev3", "volumev2", "volume") - def __init__(self, conn, stype, name, region="RegionOne"): - super().__init__(conn, stype, name, region, True) + def __init__(self, conn, stype, name, region, prj_id, ep): + super().__init__(conn, stype, name, region, prj_id, ep, True) self.voltypes = list(self.conn.types()) # TODO: Fixup azs and exts r = self.conn.request('/extensions', 'GET') @@ -212,8 +237,8 @@ def __repr__(self): class osLoadBalancer(osService): "osService specialization for load balancers" svcID = ("load_balancer", "load-balancer") - def __init__(self, conn, stype, name, region="RegionOne"): - super().__init__(conn, stype, name, region, True) + def __init__(self, conn, stype, name, region, prj_id, ep): + super().__init__(conn, stype, name, region, prj_id, ep, True) try: self.flavors = self.conn.flavors() self.flavors = list(map(lambda x: {"name": x.name, "description": x.description}, @@ -229,6 +254,18 @@ def __repr__(self): ## TODO: List of public images with properties +## TODO: Network class needs more detection; have AZs for routers and nets, endpoint not per region +class osNetwork(osService): + "osService specialization for network" + svcID = ("network") + def __init__(self, conn, stype, name, region, prj_id, ep): + super().__init__(conn, stype, name, region, prj_id, ep, True) + self.ep = ep + #TODO: Fixup AZs + +# Known-classes +OSClasses = [osCompute, osVolume, osLoadBalancer, osNetwork] + def getdocsha512(url): "Calculate SHA512 from terms document at URL" import requests, hashlib @@ -268,39 +305,83 @@ def gxjsonldheader(): } return jout +class nonOSService: + "Non-OpenStack services listed in the service catalogue" + def __init__(self, stype, name, url): + self.stype = stype + self.name = name + self.ep = url + def __repr__(self): + return { self.stype: { "name": self.name, + "endpoint": self.ep + } + } + def __str__(self): + return str(self.__repr__()) + class osCloud: "Abstraction for openStack cloud with all its services" def __init__(self, conn): + import copy self.conn = conn self.auth = conn.auth self.regions = list(conn.identity.regions()) - self.services = [] - for svc in conn.service_catalog: - self.services.append(osServiceCat(svc)) + # Create per region service catalogs + self.regcat = {} + for region in self.regions: + reg = region.id + self.regcat[reg] = [] + for svc in conn.service_catalog: + svccat = osServiceCat(svc, reg) + if svccat.ep: + self.regcat[reg].append(svccat) + if debug: + print("#DEBUG: Svc Cat region %s: %s" % (reg, self.regcat), file=sys.stderr) + # Well-known OpenStack services self.ostacksvc = {} - handled = [] - region0 = self.regions[0].id - # Iterate over service catalog - for svc in self.services: - if svc.type in (*handled, "compute_legacy", "cloudformation"): - continue - if svc.type in osCompute.svcID: - newsvc = osCompute(conn, svc.type, svc.name, region0) - handled.extend(osCompute.svcID) - elif svc.type in osVolume.svcID: - newsvc = osVolume (conn, svc.type, svc.name, region0) - handled.extend(osVolume.svcID) - elif svc.type in osLoadBalancer.svcID: - newsvc = osLoadBalancer(conn, svc.type, svc.name, region0) - handled.extend(osLoadBalancer.svcID) - else: - newsvc = osService(conn, svc.type, svc.name, region0) - handled.extend((svc.type, newsvc.stype,)) - if svc.type == "orchestration": - handled.extend("cloudformation") - - if newsvc.conn: - self.ostacksvc[newsvc.stype] = newsvc + if "project_id" in conn.auth: + prj_id = conn.auth["project_id"] + else: + prj_id = conn.identity.get_project_id() + # Iterate over regions + for region in self.regions: + handled = [] + ostacksvc = {} + reg = region.id + if debug: + print("#INFO: Creation service catalog for region %s" % reg, file=sys.stderr) + # Iterate over service catalog + for svc in self.regcat[reg]: + assert(svc.ep) + assert(reg == svc.region) + if svc.type in (*handled, "compute_legacy", "cloudformation"): + continue + newsvc = None + for osClass in OSClasses: + if svc.type in osClass.svcID: + newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend(osCompute.svcID) + break + if not newsvc: + newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend((svc.type, newsvc.stype,)) + if svc.type == "orchestration": + handled.extend("cloudformation") + # Only attach if conn is non-empty + if newsvc.conn: + ostacksvc[newsvc.stype] = newsvc + if debug: + print("#DEBUG: Region %s added OS Svc %s" % (reg, newsvc), file=sys.stderr) + svc.consumed = True + # Handle remaining services that are listed + for svc in self.regcat[reg]: + if not svc.consumed and not svc.type in ostacksvc: + ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) + if debug: + print("#DEBUG: Region %s added Non-OS %s" % (reg, ostacksvc[svc.type]), file=sys.stderr) + svc.consumed = True + self.ostacksvc[reg] = ostacksvc + # TODO: Iterate over non-consumed services (global, non-region specifc) def __repr__(self): inner = { "regions": list(map(lambda x: x.id, self.regions)) } @@ -308,11 +389,14 @@ def __repr__(self): inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") else: inner["auth_url"] = self.auth["auth_url"] - for svckey in self.ostacksvc: - svc = self.ostacksvc[svckey] - inner = appenddicts(inner, svc.__repr__()) - if outjson: - inner[svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") + for reg in self.ostacksvc: + ostacksvc = self.ostacksvc[reg] + inner[reg] = dict() + for svckey in ostacksvc: + svc = ostacksvc[svckey] + inner[reg] = appenddicts(inner[reg], svc.__repr__()) + if outjson: + inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") if not outjson: return { "openstack": inner } else: @@ -338,6 +422,7 @@ def usage(err = 1): print(" -u URI/--uri=URI: use URI prefix. URI/particpant.json and URI/terms.pdf needed") print(" -n NAME/--name=NAME: use name in self description") print(" -i ID/--gxid=ID: use ID in self description") + print(" -t TMO/--timeout=TMO: Timeout for the API connections/requests") if not cloud: print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) sys.exit(err) @@ -345,11 +430,12 @@ def usage(err = 1): def main(argv): global cloud, conn, outjson, indent - global uriprefix, gxid, svcname + global uriprefix, gxid, svcname, debug global ofile + timeout = 12 try: - opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgju:n:i:", \ - ("os-cloud=", "file=", "help", "gaia-x", "json", "uri=", "name=", "id=")) + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:", \ + ("os-cloud=", "file=", "help", "gaia-x", "json", "debug", "uri=", "name=", "id=", "timeout=")) except getopt.GetoptError as exc: usage(1) for opt in opts: @@ -365,8 +451,12 @@ def main(argv): svcname = opt[1] elif opt[0] == "-i" or opt[0] == "--id": gxid = opt[1] + elif opt[0] == "-d" or opt[0] == "--debug": + debug = True elif opt[0] == "-g" or opt[0] == "--gaia-x": outjson = True + elif opt[0] == "-t" or opt[0] == "--timeout": + timeout = int(opt[1]) elif opt[0] == "-j" or opt[0] == "--json": outjson = True indent = None @@ -374,7 +464,8 @@ def main(argv): usage(1) if not cloud: print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) - conn = openstack.connect(cloud=cloud) + conn = openstack.connect(cloud=cloud, timeout=timeout) + conn.config.config['api_timeout'] = timeout mycloud = osCloud(conn) if ofile == "/dev/stdout": print(mycloud, file = sys.stdout) From aaddb2d4fe4de9b2d676bc8fa32186db580d304d Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Thu, 1 Dec 2022 08:17:52 +0100 Subject: [PATCH 085/175] Use SHA256 for hasing T&C doc. (#28) This is what Gaia-X expects ... Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index 62eb62e..1da33e7 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -275,6 +275,15 @@ def getdocsha512(url): h = hashlib.sha512(r.content) # .text would be better for HTML return h.hexdigest() +def getdocsha256(url): + "Calculate SHA256 from terms document at URL" + import requests, hashlib + r = requests.get(url) + r.raise_for_status() + #r.raw.decode_content = True + h = hashlib.sha256(r.content) # .text would be better for HTML + return h.hexdigest() + def gxjsonldheader(): "Dict to generate JSON-LD header for Gaia-X SDs" @@ -289,8 +298,8 @@ def gxjsonldheader(): #svcmodel = valtype("pay per use") webadr = valtype(uriprefix, 'xsd:anyURI') termsdoc = uriprefix+"terms.pdf" - # calc sha512 - termssha = getdocsha512(termsdoc) + # calc sha256 + termssha = getdocsha256(termsdoc) tandc = { gxsvo+"url": valtype(uriprefix+"terms.pdf"), gxsvo+"hash": valtype(termssha) } #TODO: dependsOn From 721ccda296c48911e5cfdc03c8030dbddf1f510e Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Thu, 1 Dec 2022 08:18:26 +0100 Subject: [PATCH 086/175] We had declared compute as being handled. (#29) This was a stupid typo: When we have special classes for handling specific OpenStack services, these would be remembered (with all their aliases) to avoid being handled and listed twice. Due to a typo, we always recorded the compute service as being handled already (instead of the one that we actually handled specially, which include Compute, Volume, Network, Loadbalancer). This resulted in compute not being displayed if it was not the first out of those four special classes in the service catalog. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- openstack-discovery.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index 1da33e7..402da21 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -354,7 +354,9 @@ def __init__(self, conn): prj_id = conn.identity.get_project_id() # Iterate over regions for region in self.regions: + # Keep list of already handled services to avoid duplicates/aliases handled = [] + # Dictionary to collect OpenStack services ostacksvc = {} reg = region.id if debug: @@ -363,25 +365,26 @@ def __init__(self, conn): for svc in self.regcat[reg]: assert(svc.ep) assert(reg == svc.region) - if svc.type in (*handled, "compute_legacy", "cloudformation"): + # Treating those two legacy services as non-OpenStack (just list EPs) + if svc.type in [*handled, "compute_legacy", "cloudformation"]: continue newsvc = None for osClass in OSClasses: if svc.type in osClass.svcID: newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) - handled.extend(osCompute.svcID) + handled.extend(osClass.svcID) break if not newsvc: newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) handled.extend((svc.type, newsvc.stype,)) - if svc.type == "orchestration": - handled.extend("cloudformation") # Only attach if conn is non-empty if newsvc.conn: ostacksvc[newsvc.stype] = newsvc if debug: print("#DEBUG: Region %s added OS Svc %s" % (reg, newsvc), file=sys.stderr) svc.consumed = True + elif debug: + print("#DEBUG: Region %s with service %s without connection" % (reg, newsvc), file=sys.stderr) # Handle remaining services that are listed for svc in self.regcat[reg]: if not svc.consumed and not svc.type in ostacksvc: From 3b75a47b96d7b030a4c1f9bf88a002f7f3e57b69 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Mon, 30 Jan 2023 08:19:17 +0100 Subject: [PATCH 087/175] Feat/formatting (#30) Improve formatting * Add .flake8 config file * Make pylint and flake8 happy * Retry connection with default project_domain_id. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- .flake8 | 2 + gax-cpu.py | 27 +-- gx_context.py | 34 ++-- openstack-discovery.py | 369 ++++++++++++++++++++++------------------- 4 files changed, 235 insertions(+), 197 deletions(-) create mode 100644 .flake8 diff --git a/.flake8 b/.flake8 new file mode 100644 index 0000000..b7a43ec --- /dev/null +++ b/.flake8 @@ -0,0 +1,2 @@ +[flake8] +ignore = E501,E226,E251,E221 diff --git a/gax-cpu.py b/gax-cpu.py index 7298dd7..d76b675 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -1,15 +1,19 @@ #!/usr/bin/python3 +# vim: set ts=4 sw=4 et: # # gax-cpu.py -# -# These classes reflect the Gaia-X view on physical infra -# -# (c) Kurt Garloff , 3/2022 - 6/2022 -# SPDX-License-Identifier: EPL-2.0 +""" +These classes reflect the Gaia-X view on physical infra + +(c) Kurt Garloff , 3/2022 - 6/2022 +SPDX-License-Identifier: EPL-2.0 +""" class CPU: + "CPU abstraction according to Gaia-X attributes" def __init__(self): + "c'tor setting all vals to defaults" # Gaia-X attrs self.numberOfCores = 0 self.numberOfThreads = 0 @@ -19,13 +23,14 @@ def __init__(self): # This would not be interesting typically self.allowedSocket = "" # Virt. attrs -- not in GaX - self.dedicatedCore = false - self.dedicatedThread = false - self.limitOversubscr = false + self.dedicatedCore = False + self.dedicatedThread = False + self.limitOversubscr = False + class MEM: + "RAM of an instance" def __init__(self): + "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = true - - + self.ECC = True diff --git a/gx_context.py b/gx_context.py index 7bf164e..db26ac4 100644 --- a/gx_context.py +++ b/gx_context.py @@ -1,25 +1,21 @@ #!/usr/bin/python3 +# vim: set ts=4 sw=4 et: # # gx-context.py -# -# Some settings for the JSON-LD SDs needed in Gaia-X -# -# (c) Kurt Garloff , 6/2022 -# SPDX-License-Identifier: EPL-2.0 -# -gxcontext = { "@context": [ - "http://www.w3.org/ns/shacl#", - "http://www.w3.org/2001/XMLSchema#", - "http://w3id.org/gaia-x/resource#", - "http://w3id.org/gaia-x/participant#", - "http://w3id.org/gaia-x/service-offering#" - ] -} +""" +Some settings for the JSON-LD SDs needed in Gaia-X -gxtype = { "@type": [ - "VerifiableCredential", - "ServiceOfferingExperimental" - ] -} +(c) Kurt Garloff , 6/2022 +SPDX-License-Identifier: EPL-2.0 +""" +gxcontext = {"@context": + ["http://www.w3.org/ns/shacl#", + "http://www.w3.org/2001/XMLSchema#", + "http://w3id.org/gaia-x/resource#", + "http://w3id.org/gaia-x/participant#", + "http://w3id.org/gaia-x/service-offering#"]} +gxtype = {"@type": + ["VerifiableCredential", + "ServiceOfferingExperimental"]} diff --git a/openstack-discovery.py b/openstack-discovery.py index 402da21..d636d5d 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -1,26 +1,29 @@ #!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: # # openstack-discovery.py -# -# Talk to OpenStack APIs to discover environment -# Save discovered information in classes that reflect G-X attributes -# These can then be dumped as YAML or as Gaia-X JSON-LD Self-Description. -# -# (c) Kurt Garloff , 3/2022 - 6/2022 -# (c) Mathias Fechner , 3/2022 -# SPDX-License-Identifier: EPL-2.0 - -import sys, os, getopt - +""" +Talk to OpenStack APIs to discover environment +Save discovered information in classes that reflect G-X attributes +These can then be dumped as YAML or as Gaia-X JSON-LD Self-Description. + +(c) Kurt Garloff , 3/2022 - 6/2022 +(c) Mathias Fechner , 3/2022 +SPDX-License-Identifier: EPL-2.0 +""" + +import sys +import os +import getopt +import json +import yaml import openstack -import yaml, json # Global variables if "OS_CLOUD" in os.environ: cloud = os.environ["OS_CLOUD"] else: cloud = "" -conn = None debug = False outjson = False ofile = '/dev/stdout' @@ -29,26 +32,28 @@ gxid = "test" svcname = "SCS Test" -def valtype(val, tp = 'xsd:string'): + +def valtype(val, typ='xsd:string'): "Wrapper to return dict pairs with @value and @type as needed in JSON-LD" - return { '@value': val, '@type': tp } + return {'@value': val, '@type': typ} -def appenddicts(d1, *kwd): + +def appenddicts(dct1, *kwd): "Return dict d1 with items from kwd added" - d = d1 + dct = dct1 for k in kwd: - d.update(k) - return d + dct.update(k) + return dct def versinfo(connprox, stype, region): "Get list of supported versions and microversions from OS service" - vrdata = connprox.get_all_version_data(region_name = region) + vrdata = connprox.get_all_version_data(region_name=region) for reg in vrdata: try: vdata = vrdata[reg]["public"] break - except: + except AttributeError: pass for keys in vdata: versdata = vdata[keys] @@ -58,7 +63,7 @@ def versinfo(connprox, stype, region): 'status': x.status, 'min_microversion': x.min_microversion, 'max_microversion': x.max_microversion}, - filter(lambda x: x.max_microversion, versdata))) + filter(lambda x: x.max_microversion, versdata))) vinfo.extend(list(map(lambda x: {'version': x.version, 'url': x.url, 'status': x.status}, filter(lambda x: not x.max_microversion, versdata)))) return vinfo @@ -71,20 +76,25 @@ def __init__(self, dct, regfilter): self.region = regfilter self.ep = None # interface: we only look at public - for ep in dct["endpoints"]: - if ep["interface"] == "public" and (not regfilter or ep["region_id"] == regfilter): - self.ep = ep["url"] + for ept in dct["endpoints"]: + if ept["interface"] == "public" and (not regfilter or ept["region_id"] == regfilter): + self.ep = ept["url"] self.type = dct["type"] self.name = dct["name"] self.consumed = False + def __str__(self): - return "%s|%s|%s" % (self.type, self.name, self.ep) - def __repr__(self): - return str(self) + "textual representation" + return f"{self.type}|{self.name}|{self.ep}" + + # def __repr__(self): + # return str(self) + class osService: "A generic openStack service, with a proxy connection object from SDK" - def __init__(self, conn, stype, name, region, prj_id, ep, quiet = True): + def __init__(self, conn, stype, name, region, prj_id, ept, quiet=True): + "c'tor for the OpenStack service to be caled by subclasses" self.fulltype = stype if stype[-2] == 'v' and stype[-1].isnumeric(): stype = stype[:-2] @@ -99,63 +109,67 @@ def __init__(self, conn, stype, name, region, prj_id, ep, quiet = True): self.azs = None try: if debug: - print("#INFO: Creating Conn for %s:%s" % (stype, name), file=sys.stderr) + print(f"#INFO: Creating Conn for {stype}:{name}", file=sys.stderr) self.conn = conn.__getattribute__(stype) self.conn.service_name = name self.conn.region_name = region self.apiver = self.conn.get_api_major_version() - except Exception as e: + except Exception as exc: if not quiet: - print("#ERROR: No service proxy of type %s in SDK.\n%s" % (stype, e), file=sys.stderr) - #return - if not self.conn or (self.conn.version == None and not self.apiver): - print("#WARNING: Skipping over %s b/c it advertizes no version" % stype, file=sys.stderr) + print(f"#ERROR: No service proxy of type {stype} in SDK.\n{exc}", file=sys.stderr) + # return + if self.conn is None or (self.conn.version is None and self.apiver is None): + print(f"#WARNING: Skipping over {stype} b/c it advertizes no version", file=sys.stderr) self.conn = None return try: self.ep = self.conn.get_endpoint().replace(prj_id, "${OS_PROJECT_ID}") - except Exception as e: + except Exception: # as exc: if stype == "identity": self.ep = conn.auth["auth_url"] else: if self.conn: - print("#ERROR: No endpoint found for service %s in region %s" % (self.stype, region), - file = sys.stderr) - #raise e + print(f"#ERROR: No endpoint found for service {self.stype} in region {region}", + file=sys.stderr) + # raise exc self.conn = None return self.versdata = versinfo(self.conn, self.fulltype, region) try: - #self.extensions = list(map(lambda x: x.name, self.conn.extensions())) + # self.extensions = list(map(lambda x: x.name, self.conn.extensions())) self.extensions = list(map(lambda x: x.alias, self.conn.extensions())) - except Exception as e: + except Exception as exc: if not quiet: - print("#WARNING: Service %s does not support getting extensions.\n%s" % (self.fulltype, e), - file=sys.stderr) + print(f"#WARNING: Service {self.fulltype} does not support getting extensions.\n{exc}", + file=sys.stderr) try: - self.azs = list(filter(lambda x: x.state['available'] == True, self.conn.availability_zones())) - except: + self.azs = list(filter(lambda x: x.state['available'] is True, self.conn.availability_zones())) + except Exception: try: self.azs = list(filter(lambda x: x.state == 'available', self.conn.availability_zones())) - except Exception as e: + except Exception as exc: if not quiet: - print("#WARNING: Service %s does not support getting AZs.\n%s" % (self.fulltype, e), - file=sys.stderr) - - def __repr__(self): - dct = { self.stype: { "name": self.conn.service_name, - "endpoint": self.ep, - #"region": self.region, - "versions": self.versdata - } - } + print(f"#WARNING: Service {self.fulltype} does not support getting AZs.\n{exc}", + file=sys.stderr) + # FIXME: We are not using ept, is that right? + + def values(self): + "return dict representing stored values" + dct = {self.stype: {"name": self.conn.service_name, + "endpoint": self.ep, + # "region": self.region, + "versions": self.versdata}} if self.extensions: dct[self.stype]["extensions"] = self.extensions if self.azs: - dct[self.stype]["availability_zones"] = list(map(lambda x: x.name, self.azs)) + # dct[self.stype]["availability_zones"] = list(map(lambda x: x.name, self.azs)) + dct[self.stype]["availability_zones"] = [x.name for x in self.azs] return dct + def __str__(self): - return str(self.__repr__()) + "textual representation" + return str(self.values()) + class osFlavor: "Abstraction for flavors" @@ -171,39 +185,43 @@ def __init__(self, flv): self.diskSize = flv['disk'] # GB self.diskType = "" - def __repr__(self): + def values(self): ydct = dict(name = self.name, numberOfvCPUs = self.numberOfvCPUs, - ramSize = dict(Value = self.ramSize/1024, Unit = 'GiB') - ) + ramSize = dict(Value=self.ramSize/1024, Unit='GiB')) if self.diskSize: - ydct['diskSize'] = dict(Value = self.diskSize, Unit = 'GB') + ydct['diskSize'] = dict(Value=self.diskSize, Unit='GB') # TODO: cpuType, cpuGen, diskType output return ydct + class osCompute(osService): + "Abstraction for compute service (nova)" svcID = ("compute", "computev2", "compute_legacy") - #def __init__(self, conn, region="RegionOne"): - def __init__(self, conn, stype, name, region, prj_id, ep): - super().__init__(conn, stype, name, region, prj_id, ep, False) + + # def __init__(self, conn, region="RegionOne"): + def __init__(self, conn, stype, name, region, prj_id, ept): + super().__init__(conn, stype, name, region, prj_id, ept, False) self.flavors = self.get_openstack_flavors() - def __repr__(self): - dct = super().__repr__() + + def values(self): + dct = super().values() dct[self.stype]["flavors"] = self.flavors return dct def get_openstack_flavors(self): """Use OpenStack conn (global var conn) to get flavor list from compute service. Populate flavor list.""" - flvs = list() + flvs = [] for flv_id in self.conn.flavors(id): - flvs.append(osFlavor(flv_id).__repr__()) + flvs.append(osFlavor(flv_id).values()) # TODO: # (a) parse extra specs if any # (b) parse SCS flavor names self.flavors = flvs return flvs + class azInfo: "Convert zoneXxx dict into class with Xxx attributes for availability zones" def __init__(self, dct): @@ -214,124 +232,137 @@ def __init__(self, dct): newkey = key self.__setattr__(newkey, dct[key]) + class osVolume(osService): "osService specialization for volumes (cinderv3)" svcID = ("volumev3", "volumev2", "volume") - def __init__(self, conn, stype, name, region, prj_id, ep): - super().__init__(conn, stype, name, region, prj_id, ep, True) + + def __init__(self, conn, stype, name, region, prj_id, ept): + super().__init__(conn, stype, name, region, prj_id, ept, True) self.voltypes = list(self.conn.types()) # TODO: Fixup azs and exts - r = self.conn.request('/extensions', 'GET') - ext = json.loads(r.text)["extensions"] + req = self.conn.request('/extensions', 'GET') + ext = json.loads(req.text)["extensions"] self.extensions = list(map(lambda x: x["alias"], ext)) - r = self.conn.request('/os-availability-zone', 'GET') - azs = json.loads(r.text)["availabilityZoneInfo"] - self.azs = list(map(lambda x: azInfo(x), filter(lambda x: x["zoneState"]["available"] == True, azs))) - - def __repr__(self): - dct = super().__repr__() - dct[self.stype]["volume_types"] = list(map( - lambda x: { "name": x.name, "public": x.is_public }, self.voltypes)) + req = self.conn.request('/os-availability-zone', 'GET') + azs = json.loads(req.text)["availabilityZoneInfo"] + # self.azs = list(map(lambda x: azInfo(x), filter(lambda x: x["zoneState"]["available"] is True, azs))) + self.azs = [azInfo(x) for x in azs if x["zoneState"]["available"]] + + def values(self): + dct = super().values() + # dct[self.stype]["volume_types"] = list(map( + # lambda x: {"name": x.name, "public": x.is_public}, self.voltypes)) + dct[self.stype]["volume_types"] = [{"name": x.name, "public": x.is_public} for x in self.voltypes] return dct + class osLoadBalancer(osService): "osService specialization for load balancers" svcID = ("load_balancer", "load-balancer") - def __init__(self, conn, stype, name, region, prj_id, ep): - super().__init__(conn, stype, name, region, prj_id, ep, True) + + def __init__(self, conn, stype, name, region, prj_id, ept): + super().__init__(conn, stype, name, region, prj_id, ept, True) try: self.flavors = self.conn.flavors() self.flavors = list(map(lambda x: {"name": x.name, "description": x.description}, - filter(lambda x: x.is_enabled, self.flavors))) - except Exception as e: - print(e, file=sys.stderr) + filter(lambda x: x.is_enabled, self.flavors))) + except Exception as exc: + print(exc, file=sys.stderr) self.flavors = None - def __repr__(self): - dct = super().__repr__() + + def values(self): + dct = super().values() if self.flavors: dct[self.stype]["flavors"] = self.flavors return dct -## TODO: List of public images with properties +# TODO: List of public images with properties + -## TODO: Network class needs more detection; have AZs for routers and nets, endpoint not per region +# TODO: Network class needs more detection; have AZs for routers and nets, endpoint not per region class osNetwork(osService): "osService specialization for network" svcID = ("network") - def __init__(self, conn, stype, name, region, prj_id, ep): - super().__init__(conn, stype, name, region, prj_id, ep, True) - self.ep = ep - #TODO: Fixup AZs + + def __init__(self, conn, stype, name, region, prj_id, ept): + super().__init__(conn, stype, name, region, prj_id, ept, True) + self.ep = ept + # TODO: Fixup AZs + # Known-classes OSClasses = [osCompute, osVolume, osLoadBalancer, osNetwork] + +def getdocshash(url, hashmeth): + "Calculate hash from terms document at URL" + import requests + req = requests.get(url) + req.raise_for_status() + # req.raw.decode_content = True + hval = hashmeth(req.content) # .text would be better for HTML + return hval.hexdigest() + + def getdocsha512(url): "Calculate SHA512 from terms document at URL" - import requests, hashlib - r = requests.get(url) - r.raise_for_status() - #r.raw.decode_content = True - h = hashlib.sha512(r.content) # .text would be better for HTML - return h.hexdigest() + import hashlib + return getdocshash(url, hashlib.sha512) + def getdocsha256(url): - "Calculate SHA256 from terms document at URL" - import requests, hashlib - r = requests.get(url) - r.raise_for_status() - #r.raw.decode_content = True - h = hashlib.sha256(r.content) # .text would be better for HTML - return h.hexdigest() + "Calculate SHA512 from terms document at URL" + import hashlib + return getdocshash(url, hashlib.sha256) def gxjsonldheader(): "Dict to generate JSON-LD header for Gaia-X SDs" - import gx_context, time + import gx_context + import time gxsvo = "gx-service-offering:" jout = gx_context.gxcontext jout.update(gx_context.gxtype) - myid = uriprefix+"gxserviceIaaSOfferingOpenStack-"+gxid+"-%i.json" % time.time() + myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{time.time()}.json" jout["@id"] = myid - provby = valtype(uriprefix+"participant.json") + provby = valtype(uriprefix + "participant.json") name = valtype("OpenStack IaaS Service " + svcname) - #svcmodel = valtype("pay per use") + # svcmodel = valtype("pay per use") webadr = valtype(uriprefix, 'xsd:anyURI') - termsdoc = uriprefix+"terms.pdf" + termsdoc = uriprefix + "terms.pdf" # calc sha256 termssha = getdocsha256(termsdoc) - tandc = { gxsvo+"url": valtype(uriprefix+"terms.pdf"), - gxsvo+"hash": valtype(termssha) } - #TODO: dependsOn - #TODO: aggregationOf + tandc = {gxsvo + "url": valtype(uriprefix + "terms.pdf"), + gxsvo + "hash": valtype(termssha)} + # TODO: dependsOn + # TODO: aggregationOf jout["credentialSubject"] = { - "id": myid, - gxsvo+"providedBy": provby, - gxsvo+"name": name, - gxsvo+"webAddress": webadr, - gxsvo+"TermsAndConditions": tandc, - gxsvo+"SDAutoGeneratedBy": "https://github.com/SovereignCloudStack/gx-self-description-generator/" - } + "id": myid, + gxsvo + "providedBy": provby, + gxsvo + "name": name, + gxsvo + "webAddress": webadr, + gxsvo + "TermsAndConditions": tandc, + gxsvo + "SDAutoGeneratedBy": "https://github.com/SovereignCloudStack/gx-self-description-generator/"} return jout + class nonOSService: "Non-OpenStack services listed in the service catalogue" def __init__(self, stype, name, url): self.stype = stype self.name = name self.ep = url - def __repr__(self): - return { self.stype: { "name": self.name, - "endpoint": self.ep - } - } - def __str__(self): - return str(self.__repr__()) + + def values(self): + "return dict with stored values" + return {self.stype: {"name": self.name, "endpoint": self.ep}} + class osCloud: "Abstraction for openStack cloud with all its services" def __init__(self, conn): - import copy + # import copy self.conn = conn self.auth = conn.auth self.regions = list(conn.identity.regions()) @@ -345,7 +376,7 @@ def __init__(self, conn): if svccat.ep: self.regcat[reg].append(svccat) if debug: - print("#DEBUG: Svc Cat region %s: %s" % (reg, self.regcat), file=sys.stderr) + print(f"#DEBUG: Svc Cat region {reg}: {self.regcat}", file=sys.stderr) # Well-known OpenStack services self.ostacksvc = {} if "project_id" in conn.auth: @@ -360,11 +391,11 @@ def __init__(self, conn): ostacksvc = {} reg = region.id if debug: - print("#INFO: Creation service catalog for region %s" % reg, file=sys.stderr) + print(f"#INFO: Creation service catalog for region {reg}", file=sys.stderr) # Iterate over service catalog for svc in self.regcat[reg]: - assert(svc.ep) - assert(reg == svc.region) + assert svc.ep + assert reg == svc.region # Treating those two legacy services as non-OpenStack (just list EPs) if svc.type in [*handled, "compute_legacy", "cloudformation"]: continue @@ -381,50 +412,49 @@ def __init__(self, conn): if newsvc.conn: ostacksvc[newsvc.stype] = newsvc if debug: - print("#DEBUG: Region %s added OS Svc %s" % (reg, newsvc), file=sys.stderr) + print(f"#DEBUG: Region {reg} added OS Svc {newsvc}" % (reg, newsvc), file=sys.stderr) svc.consumed = True elif debug: - print("#DEBUG: Region %s with service %s without connection" % (reg, newsvc), file=sys.stderr) + print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) # Handle remaining services that are listed for svc in self.regcat[reg]: - if not svc.consumed and not svc.type in ostacksvc: + if not svc.consumed and svc.type not in ostacksvc: ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) if debug: - print("#DEBUG: Region %s added Non-OS %s" % (reg, ostacksvc[svc.type]), file=sys.stderr) + print(f"#DEBUG: Region {reg} added Non-OS {ostacksvc[svc.type]}", file=sys.stderr) svc.consumed = True self.ostacksvc[reg] = ostacksvc # TODO: Iterate over non-consumed services (global, non-region specifc) - def __repr__(self): - inner = { "regions": list(map(lambda x: x.id, self.regions)) } + def values(self): + "dict representing stored data" + inner = {"regions": list(map(lambda x: x.id, self.regions))} if outjson: inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") else: inner["auth_url"] = self.auth["auth_url"] - for reg in self.ostacksvc: - ostacksvc = self.ostacksvc[reg] - inner[reg] = dict() + for reg, ostacksvc in self.ostacksvc.items(): + inner[reg] = {} for svckey in ostacksvc: svc = ostacksvc[svckey] - inner[reg] = appenddicts(inner[reg], svc.__repr__()) + inner[reg] = appenddicts(inner[reg], svc.values()) if outjson: inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") if not outjson: - return { "openstack": inner } - else: - jout = gxjsonldheader() - jout["credentialSubject"]["gxsvo+OpenStackService"] = inner - return jout + return {"openstack": inner} + jout = gxjsonldheader() + jout["credentialSubject"]["gxsvo+OpenStackService"] = inner + return jout def __str__(self): - #print(self.__repr__()) + # print(self.values()) if outjson: - return json.dumps(self.__repr__(), indent = indent) - else: - return yaml.dump(self.__repr__(), default_flow_style=False) + return json.dumps(self.values(), indent=indent) + return yaml.dump(self.values(), default_flow_style=False) -def usage(err = 1): +def usage(err=1): + "output help" print("Usage: openstack-discovery.py [options]", file=sys.stderr) print("Options: -g/--gaia-x: output Gaia-X JSON-LD instead of YAML (YAML is default)") print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") @@ -441,14 +471,16 @@ def usage(err = 1): def main(argv): - global cloud, conn, outjson, indent + "Entry point for main program" + global cloud, outjson, indent global uriprefix, gxid, svcname, debug global ofile timeout = 12 try: - opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:", \ - ("os-cloud=", "file=", "help", "gaia-x", "json", "debug", "uri=", "name=", "id=", "timeout=")) - except getopt.GetoptError as exc: + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:", + ("os-cloud=", "file=", "help", "gaia-x", "json", + "debug", "uri=", "name=", "id=", "timeout=")) + except getopt.GetoptError: # as exc: usage(1) for opt in opts: if opt[0] == "-h" or opt[0] == "--help": @@ -475,18 +507,21 @@ def main(argv): if args: usage(1) if not cloud: - print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) - conn = openstack.connect(cloud=cloud, timeout=timeout) - conn.config.config['api_timeout'] = timeout + print("ERROR: You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4) + try: + conn.authorize() + except: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4, + default_domain='default', project_domain_id='default') + conn.authorize() mycloud = osCloud(conn) if ofile == "/dev/stdout": - print(mycloud, file = sys.stdout) + print(mycloud, file=sys.stdout) else: - print(mycloud, file = open(ofile, 'a')) - + print(mycloud, file=open(ofile, 'a', encoding="UTF-8")) if __name__ == "__main__": main(sys.argv) - -# vim:fenc=utf-8:ts=4:sw=4:noet:sts=4:ai From 3420219fc5fc0d72365abe117ddcc884b4a2210e Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 2 May 2023 11:10:30 +0200 Subject: [PATCH 088/175] Split Gaia-X SD driver (header, ...) from discovery. (#31) So we can have knowledge on Gaia-X focused in gx-sd-generator.py, knowledge on OpenStack in openstack-discovery.py. Future: Knowledge on k8s in k8s-discovery.py. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx-sd-generator.py | 176 +++++++++++++++++++++++++++++++++++++++++ openstack-discovery.py | 105 ++++++------------------ 2 files changed, 200 insertions(+), 81 deletions(-) create mode 100755 gx-sd-generator.py diff --git a/gx-sd-generator.py b/gx-sd-generator.py new file mode 100755 index 0000000..78b2ce0 --- /dev/null +++ b/gx-sd-generator.py @@ -0,0 +1,176 @@ +#!/usr/bin/python3 +# vim: set ts=4 sw=4 et: +# +# gx-sd-generator.py +"""Script to generate Gaia-X JSON-LD for self-descriptions. + Uses openstack-discovery.py and k8s-discovery.py to + collect the data. + +(c) Kurt Garloff , 5/2023 +SPDX-License-Identifier: EPL-2.0 +""" + +import os +import sys +import getopt +import json +import yaml +import importlib +ostack = importlib.import_module("openstack-discovery") +#k8s = importlib.import_module("k8s-discovery") + +# Global variables +debug = False +outjson = False +ofile = '/dev/stdout' +indent = " " +uriprefix = "https://scs.community/sd/" +gxid = "test" +svcname = "SCS Test" + + +def valtype(val, typ='xsd:string'): + "Wrapper to return dict pairs with @value and @type as needed in JSON-LD" + return {'@value': val, '@type': typ} + + +def getdocshash(url, hashmeth): + "Calculate hash from terms document at URL" + import requests + req = requests.get(url) + req.raise_for_status() + # req.raw.decode_content = True + hval = hashmeth(req.content) # .text would be better for HTML + return hval.hexdigest() + + +def getdocsha512(url): + "Calculate SHA512 from terms document at URL" + import hashlib + return getdocshash(url, hashlib.sha512) + + +def getdocsha256(url): + "Calculate SHA512 from terms document at URL" + import hashlib + return getdocshash(url, hashlib.sha256) + + +def gxjsonldheader(): + "Dict to generate JSON-LD header for Gaia-X SDs" + import gx_context + import time + gxsvo = "gx-service-offering:" + jout = gx_context.gxcontext + jout.update(gx_context.gxtype) + myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{time.time()}.json" + jout["@id"] = myid + provby = valtype(uriprefix + "participant.json") + name = valtype("OpenStack IaaS Service " + svcname) + # svcmodel = valtype("pay per use") + webadr = valtype(uriprefix, 'xsd:anyURI') + termsdoc = uriprefix + "terms.pdf" + # calc sha256 + termssha = getdocsha256(termsdoc) + tandc = {gxsvo + "url": valtype(uriprefix + "terms.pdf"), + gxsvo + "hash": valtype(termssha)} + # TODO: dependsOn + # TODO: aggregationOf + jout["credentialSubject"] = { + "id": myid, + gxsvo + "providedBy": provby, + gxsvo + "name": name, + gxsvo + "webAddress": webadr, + gxsvo + "TermsAndConditions": tandc, + gxsvo + "SDAutoGeneratedBy": "https://github.com/SovereignCloudStack/gx-self-description-generator/"} + return jout + +def usage(err=1): + "output help" + print("Usage: gx-sd-generator.py [options]", file=sys.stderr) + print("Options: -g/--gaia-x: output Gaia-X JSON-LD instead of YAML (YAML is default)") + print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") + print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") + print(" -c CLOUD/--os-cloud=CLOUD: use OpenStack cloud CLOUD (default: $OS_CLOUD)") + print(" -k KCFG/--kubeconfig=KCFG: use kubeconfig file KCFG (default: $UKBECONFIG)") + print(" -K KCTX/--context=KCTX: use kubeconfig context KCTX") + print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") + print(" -u URI/--uri=URI: use URI prefix. URI/particpant.json and URI/terms.pdf needed") + print(" -n NAME/--name=NAME: use name in self description") + print(" -i ID/--gxid=ID: use ID in self description") + print(" -t TMO/--timeout=TMO: Timeout for the API connections/requests") + if not cloud or not kubecfg: + print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) + sys.exit(err) + + +def output(mycloud=None, myk8s=None): + "Compose string to be output" + if outjson: + dct = gxjsonldheader() + if mycloud: + dct["credentialSubject"]["gxsvo+OpenStackService"] = mycloud.values() + if myk8s: + dct["credentialSubject"]["gxsvo+K8sClusterService"] = myk8s.values() + return json.dumps(dct, indent=indent) + dct = {} + if mycloud: + dct["openstack"] = mycloud.values() + if myk8s: + dct["k8sCluster"] = myk8s.values() + return yaml.dump(dct, default_flow_style=False) + + +def main(argv): + "Entry point for main program" + global debug, ofile, outjson, indent + global uriprefix, gxid, svcname + timeout = 12 + try: + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:", + ("os-cloud=", "file=", "help", "gaia-x", "json", + "debug", "uri=", "name=", "id=", "timeout=")) + except getopt.GetoptError: # as exc: + usage(1) + for opt in opts: + if opt[0] == "-h" or opt[0] == "--help": + usage(0) + elif opt[0] == "-c" or opt[0] == "--os-cloud": + ostack.cloud = opt[1] + elif opt[0] == "-f" or opt[0] == "--file": + ofile = opt[1] + elif opt[0] == "-u" or opt[0] == "--uri": + uriprefix = opt[1] + elif opt[0] == "-n" or opt[0] == "--name": + svcname = opt[1] + elif opt[0] == "-i" or opt[0] == "--id": + gxid = opt[1] + elif opt[0] == "-d" or opt[0] == "--debug": + debug = True + elif opt[0] == "-g" or opt[0] == "--gaia-x": + outjson = True + ostack.outjson = True + elif opt[0] == "-t" or opt[0] == "--timeout": + timeout = int(opt[1]) + elif opt[0] == "-j" or opt[0] == "--json": + outjson = True + ostack.outjson = True + indent = None + if args: + usage(1) + if ostack.cloud: + conn = ostack.ostackconn(ostack.cloud, timeout) + mycloud = ostack.osCloud(conn) + if False and k8s.kcfg: + # Do the kubernetes things + pass + if mycloud: + if ofile == "/dev/stdout": + print(output(mycloud), file=sys.stdout) + else: + print(output(mycloud), file=open(ofile, 'a', encoding="UTF-8")) + + +if __name__ == "__main__": + main(sys.argv) + diff --git a/openstack-discovery.py b/openstack-discovery.py index d636d5d..7a89bea 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -28,9 +28,6 @@ outjson = False ofile = '/dev/stdout' indent = " " -uriprefix = "https://scs.community/sd/" -gxid = "test" -svcname = "SCS Test" def valtype(val, typ='xsd:string'): @@ -295,58 +292,6 @@ def __init__(self, conn, stype, name, region, prj_id, ept): OSClasses = [osCompute, osVolume, osLoadBalancer, osNetwork] -def getdocshash(url, hashmeth): - "Calculate hash from terms document at URL" - import requests - req = requests.get(url) - req.raise_for_status() - # req.raw.decode_content = True - hval = hashmeth(req.content) # .text would be better for HTML - return hval.hexdigest() - - -def getdocsha512(url): - "Calculate SHA512 from terms document at URL" - import hashlib - return getdocshash(url, hashlib.sha512) - - -def getdocsha256(url): - "Calculate SHA512 from terms document at URL" - import hashlib - return getdocshash(url, hashlib.sha256) - - -def gxjsonldheader(): - "Dict to generate JSON-LD header for Gaia-X SDs" - import gx_context - import time - gxsvo = "gx-service-offering:" - jout = gx_context.gxcontext - jout.update(gx_context.gxtype) - myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{time.time()}.json" - jout["@id"] = myid - provby = valtype(uriprefix + "participant.json") - name = valtype("OpenStack IaaS Service " + svcname) - # svcmodel = valtype("pay per use") - webadr = valtype(uriprefix, 'xsd:anyURI') - termsdoc = uriprefix + "terms.pdf" - # calc sha256 - termssha = getdocsha256(termsdoc) - tandc = {gxsvo + "url": valtype(uriprefix + "terms.pdf"), - gxsvo + "hash": valtype(termssha)} - # TODO: dependsOn - # TODO: aggregationOf - jout["credentialSubject"] = { - "id": myid, - gxsvo + "providedBy": provby, - gxsvo + "name": name, - gxsvo + "webAddress": webadr, - gxsvo + "TermsAndConditions": tandc, - gxsvo + "SDAutoGeneratedBy": "https://github.com/SovereignCloudStack/gx-self-description-generator/"} - return jout - - class nonOSService: "Non-OpenStack services listed in the service catalogue" def __init__(self, stype, name, url): @@ -440,45 +385,50 @@ def values(self): inner[reg] = appenddicts(inner[reg], svc.values()) if outjson: inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") - if not outjson: - return {"openstack": inner} - jout = gxjsonldheader() - jout["credentialSubject"]["gxsvo+OpenStackService"] = inner - return jout + return inner def __str__(self): # print(self.values()) if outjson: - return json.dumps(self.values(), indent=indent) - return yaml.dump(self.values(), default_flow_style=False) + return json.dumps({"OpenStackService": self.values()}, indent=indent) + return yaml.dump({"openstack": self.values()}, default_flow_style=False) def usage(err=1): "output help" print("Usage: openstack-discovery.py [options]", file=sys.stderr) - print("Options: -g/--gaia-x: output Gaia-X JSON-LD instead of YAML (YAML is default)") - print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") + print("Options: -j/--json: output GX JSON-LD instead of YAML") + print(" -J/--json-compact: output compact GX JSON-LD instead of YAML") print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") print(" -c CLOUD/--os-cloud=CLOUD: use OpenStack cloud CLOUD (default: $OS_CLOUD)") print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") - print(" -u URI/--uri=URI: use URI prefix. URI/particpant.json and URI/terms.pdf needed") - print(" -n NAME/--name=NAME: use name in self description") - print(" -i ID/--gxid=ID: use ID in self description") print(" -t TMO/--timeout=TMO: Timeout for the API connections/requests") if not cloud: print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) sys.exit(err) +def ostackconn(cloud, timeout): + "Establish connection to OpenStack cloud cloud (timeout timeout)" + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4) + try: + conn.authorize() + except: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4, + default_domain='default', project_domain_id='default') + conn.authorize() + return conn + + def main(argv): "Entry point for main program" global cloud, outjson, indent - global uriprefix, gxid, svcname, debug - global ofile + global debug, ofile timeout = 12 try: - opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:", - ("os-cloud=", "file=", "help", "gaia-x", "json", + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hjJdu:n:i:t:", + ("os-cloud=", "file=", "help", "json", "json-compact", "debug", "uri=", "name=", "id=", "timeout=")) except getopt.GetoptError: # as exc: usage(1) @@ -497,25 +447,18 @@ def main(argv): gxid = opt[1] elif opt[0] == "-d" or opt[0] == "--debug": debug = True - elif opt[0] == "-g" or opt[0] == "--gaia-x": - outjson = True elif opt[0] == "-t" or opt[0] == "--timeout": timeout = int(opt[1]) elif opt[0] == "-j" or opt[0] == "--json": outjson = True + elif opt[0] == "-J" or opt[0] == "--json-compact": + outjson = True indent = None if args: usage(1) if not cloud: print("ERROR: You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) - conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4) - try: - conn.authorize() - except: - print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4, - default_domain='default', project_domain_id='default') - conn.authorize() + conn = ostackconn(cloud, timeout) mycloud = osCloud(conn) if ofile == "/dev/stdout": print(mycloud, file=sys.stdout) From 482c269776eb9eb4f13688dc83771b3c1ce43a5e Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 2 May 2023 11:49:58 +0200 Subject: [PATCH 089/175] Add Gaia-X SD schema from @anjastrunk as reference. (#32) Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- doc/20230424-sd-schema.md | 5678 +++++++++++++++++++++++++++++++++++++ 1 file changed, 5678 insertions(+) create mode 100644 doc/20230424-sd-schema.md diff --git a/doc/20230424-sd-schema.md b/doc/20230424-sd-schema.md new file mode 100644 index 0000000..2f7a654 --- /dev/null +++ b/doc/20230424-sd-schema.md @@ -0,0 +1,5678 @@ +# Self Description Model + +Version: 24/04/2023 + +## Outline + +- [gax-resource:NetworkingDevice](#gax-resource:networkingdevice) +- [gax-trust-framework:Attestation](#gax-trust-framework:attestation) +- [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) +- [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) +- [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) +- [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal) +- [gax-trust-framework:BigData](#gax-trust-framework:bigdata) +- [gax-trust-framework:BlockStorageOffering](#gax-trust-framework:blockstorageoffering) +- [gax-trust-framework:CPU](#gax-trust-framework:cpu) +- [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue) +- [gax-trust-framework:Certificates](#gax-trust-framework:certificates) +- [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) +- [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) +- [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) +- [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) +- [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) +- [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) +- [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) +- [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) +- [gax-trust-framework:ComplianceLabel](#gax-trust-framework:compliancelabel) +- [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) +- [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) +- [gax-trust-framework:Compute](#gax-trust-framework:compute) +- [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction) +- [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) +- [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) +- [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) +- [gax-trust-framework:Container](#gax-trust-framework:container) +- [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) +- [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) +- [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) +- [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) +- [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering) +- [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) +- [gax-trust-framework:DataResource](#gax-trust-framework:dataresource) +- [gax-trust-framework:Database](#gax-trust-framework:database) +- [gax-trust-framework:DigitalIdentityWallet](#gax-trust-framework:digitalidentitywallet) +- [gax-trust-framework:Disk](#gax-trust-framework:disk) +- [gax-trust-framework:Encryption](#gax-trust-framework:encryption) +- [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) +- [gax-trust-framework:FPGA](#gax-trust-framework:fpga) +- [gax-trust-framework:FileStorageOffering](#gax-trust-framework:filestorageoffering) +- [gax-trust-framework:GPU](#gax-trust-framework:gpu) +- [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) +- [gax-trust-framework:IdentityAccessManagementOffering](#gax-trust-framework:identityaccessmanagementoffering) +- [gax-trust-framework:IdentityFederation](#gax-trust-framework:identityfederation) +- [gax-trust-framework:IdentityProvider](#gax-trust-framework:identityprovider) +- [gax-trust-framework:Image](#gax-trust-framework:image) +- [gax-trust-framework:ImageRegistryOffering](#gax-trust-framework:imageregistryoffering) +- [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering) +- [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) +- [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) +- [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) +- [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier) +- [gax-trust-framework:Interoperability](#gax-trust-framework:interoperability) +- [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation) +- [gax-trust-framework:InteroperabilityAttestationType](#gax-trust-framework:interoperabilityattestationtype) +- [gax-trust-framework:LegalPerson](#gax-trust-framework:legalperson) +- [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity) +- [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) +- [gax-trust-framework:Location](#gax-trust-framework:location) +- [gax-trust-framework:Measure](#gax-trust-framework:measure) +- [gax-trust-framework:Memory](#gax-trust-framework:memory) +- [gax-trust-framework:Network](#gax-trust-framework:network) +- [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity) +- [gax-trust-framework:NetworkOffering](#gax-trust-framework:networkoffering) +- [gax-trust-framework:Node](#gax-trust-framework:node) +- [gax-trust-framework:ObjectStorageOffering](#gax-trust-framework:objectstorageoffering) +- [gax-trust-framework:Orchestration](#gax-trust-framework:orchestration) +- [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) +- [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) +- [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) +- [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver) +- [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering) +- [gax-trust-framework:Provider](#gax-trust-framework:provider) +- [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) +- [gax-trust-framework:Region](#gax-trust-framework:region) +- [gax-trust-framework:RegistrationNumber](#gax-trust-framework:registrationnumber) +- [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) +- [gax-trust-framework:Resource](#gax-trust-framework:resource) +- [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) +- [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint) +- [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) +- [gax-trust-framework:Signatur](#gax-trust-framework:signatur) +- [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) +- [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) +- [gax-trust-framework:Standard](#gax-trust-framework:standard) +- [gax-trust-framework:StorageOffering](#gax-trust-framework:storageoffering) +- [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) +- [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) +- [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) +- [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) +- [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) +- [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) +- [gax-trust-framework:VerifiableCredentialWallet](#gax-trust-framework:verifiablecredentialwallet) +- [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) +- [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) +- [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) +- [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) +- [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) +- [gax-trust-framework:Volume](#gax-trust-framework:volume) +- [gax-trust-framework:WalletOffering](#gax-trust-framework:walletoffering) +- [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) + + +
+ + +## gax-resource:NetworkingDevice + +```mermaid +classDiagram + +class gaxResource_NetworkingDevice{ +managementPort +consolePort +portCapacity_A +portCapacity_A_Count +redundantPowerSupply +ramSize +cpuCount +type +supportedProtocols +networkAdress +} + +class gaxTrustFramework_PhysicalResource{ +maintainedBy +ownedBy +manufacturedBy +locationAddress +locationGPS +} + +gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize + +gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount + + +``` + + **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| managementPort | xsd:string | 0 | unlimited | A dedicated port for management tasks. | no, yes | +| consolePort | xsd:string | 0 | unlimited | A dedicated port for console tasks. | no, yes | +| portCapacity_A | xsd:float
0 <= value | 0 | unlimited | The assigned capacity of ports. | 10GE, 100GE | +| portCapacity_A_Count | xsd:integer
1 <= value | 0 | unlimited | The assigned number of ports. | 10, 1 | +| redundantPowerSupply | xsd:string | 0 | unlimited | Availability of redundant power supply for the cases of emergency. | yes, no | +| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Ram size of the networking device | 2Gb | +| cpuCount | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Number of available CPUs. | 1 | +| type | xsd:string | 0 | unlimited | Type of networking device | switch, router, repeater | +| supportedProtocols | xsd:string | 0 | unlimited | List of supported protocols among used layers should be specified. | IP, IRP | +| networkAdress | xsd:float | 0 | unlimited | IP address of the netowrking device | 192.168.24.2/32 | + + +
+ + +## gax-trust-framework:Attestation + +```mermaid +classDiagram + +class gaxTrustFramework_Attestation{ +providedBy +attestationDate +attestationType +} + +class gaxTrustFramework_InteroperabilityAttestation{ +interoperabilityAttestationType +} + +gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation + +class gaxTrustFramework_serviceInteroperabilityAttestation{ +interoperabilityAttestationType +serviceInteroperabilityAttestationType +composedService +componentService +} + +gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation + + +``` + + **Super classes**: + + **Sub classes**: [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation), [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| providedBy | gax-core:Participant | 1 | 1 | DID of participant providing this Attestation. | https://gaia-x.eu | +| attestationDate | xsd:date | 1 | 1 | Date of Attestation | | +| attestationType | xsd:string | 1 | 1 | Type of attestation: Positive or Negative (revocation) | Positive, Negative ( Revocation ) | + + +
+ + +## gax-trust-framework:AutoscaledContainer + +```mermaid +classDiagram + +class gaxTrustFramework_Container{ +image +resourceLimits +} + +gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer + + +``` + + **Super classes**: [gax-trust-framework:Container](#gax-trust-framework:container) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:AutoscaledVirtualMachine + +```mermaid +classDiagram + +class gaxTrustFramework_AutoscaledVirtualMachine{ +autoscaledVmServiceSpec +} + +class gaxTrustFramework_VirtualMachine{ +codeArtifact +instantiationReq +} + +gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine + +class gaxTrustFramework_VmAutoscalingGroupSpec{ +minInstantiatedVM +loadMetric +loadMetricTarget +loadMetricTargetMin +loadMetricTargetMax +asgScalingPlan +} + +gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec + + +``` + + **Super classes**: [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| autoscaledVmServiceSpec | [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) | 1 | unlimited | Auto Scaling Group Specifications for this service offering | (a structured object of type gax-trust-framework:VMAutoScalingGroupSpec) | + + +
+ + +## gax-trust-framework:AvailabilityZone + +```mermaid +classDiagram + +class gaxTrustFramework_AvailabilityZone{ +aggregationOf +} + +class gaxTrustFramework_Resource{ +<> + +name +description +aggregationOf +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone + +gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf + +class gaxTrustFramework_DataCenter{ +aggregationOf +} + +gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf + + +``` + + **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | an availability zone is an aggregation of resources - physical and abstract - in a non-redundant setup often associated with a single datacenter room | (reference to Resources) | + + +
+ + +## gax-trust-framework:BareMetal + +```mermaid +classDiagram + +class gaxTrustFramework_BareMetal{ +codeArtifact +instantiationReq +} + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal + +class gaxTrustFramework_PxeImage{ +format +} + +gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq + + +``` + + **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| codeArtifact | [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) | 1 | unlimited | all possible provided bare metal server images for this service offering | (a structured object of type gax-trust-framework:PXEImage) | +| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided bare metal server flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | + + +
+ + +## gax-trust-framework:BigData + +```mermaid +classDiagram + +gaxTrustFramework_Platform <|-- gaxTrustFramework_BigData + + +``` + + **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:BlockStorageOffering + +```mermaid +classDiagram + +class gaxTrustFramework_BlockStorageOffering{ +volumeTypes +} + +gaxTrustFramework_Storage <|-- gaxTrustFramework_BlockStorageOffering + + +``` + + **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| volumeTypes | xsd:string | 0 | 1 | List of volume types supported by this block storage | local-fast, remote-fast, remote-standard | + + +
+ + +## gax-trust-framework:CPU + +```mermaid +classDiagram + +class gaxTrustFramework_CPU{ +cpuArchitecture +cpuGeneration +cpuFlag +smtIsEnabled +numberOfSockets +numberOfCores +numberOfThreads +baseFrequency +boostFrequency +lastLevelCacheSize +socket +tdp +defaultOverbookingRatio +supportedOverbookingRatio +} + +class gaxTrustFramework_HardwareSpec{ +name +vendor +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp + +class gaxTrustFramework_ContainerResourceLimits{ +cpuReq +numberOfCoresLimit +memoryReq +memoryLimit +gpuReq +gpuLimit +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq + + +``` + + **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| cpuArchitecture | xsd:string
value must be in: [x86, x86-64, RISC-V, Generic] | 0 | 1 | Basic CPU architecture. | x86, x86-64, RISC-V, Generic | +| cpuGeneration | xsd:string
value must be in: [Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2] | 0 | 1 | CPU instruction set generation. Determines basic feature set and migration compatibility. | Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2 | +| cpuFlag | xsd:string | 0 | unlimited | CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h . | fpu, vme, de, pse, sse, sse2, ht, vmx, smx, sse4_1, sse4_2, avx, 3dnowprefetch, ibrs_enhanced, ept_ad, sgx, sgx_lc, md_clear, arch_capabilities, ... | +| smtIsEnabled | xsd:boolean | 0 | 1 | Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default False. | true, false | +| numberOfSockets | xsd:integer | 0 | 1 | Number of CPU Sockets | 1, 2, 4 | +| numberOfCores | xsd:integer
1 <= value | 0 | 1 | Number of Cores of the CPU | 4, 6, 8, 12, 24 | +| numberOfThreads | xsd:integer
1 <= value | 0 | 1 | Number of Threads of the CPU | 8, 12, 24 | +| baseFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Frequency of the CPU | A structure object of type measure, e.g. measure:value=3.0 and measure:unit=GHz | +| boostFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Boost frequency of the CPU | A structure object of type measure, e.g. measure:value=4.0 and measure:unit=GHz | +| lastLevelCacheSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Last Level Cache size of the CPU | A structure object of type measure, e.g. measure:value=38 and measure:unit=MB | +| socket | xsd:string | 0 | 1 | Socket the CPU fits into. | FCLGA3647 | +| tdp | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | CPU Thermal Design Power - ref : https://en.wikipedia.org/wiki/Thermal_design_power | A structure object of type measure, e.g. measure:value=100 and measure:unit=W | +| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default maximum number of workloads scheduled on this CPU simultaneously | 1.0 | +| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available scheduler settings for the numer of simultaneously scheduled workloads on this CPU | 1.0 | + + +
+ + +## gax-trust-framework:Catalogue + +```mermaid +classDiagram + +class gaxTrustFramework_Catalogue{ +getVerifiableCredentialsIDs +} + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue + + +``` + + **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| getVerifiableCredentialsIDs | xsd:string | 1 | unlimited | A route used to synchronize catalogues and retrieve the list of Verifiable Credentials (issuer, id). | | + + +
+ + +## gax-trust-framework:Certificates + +```mermaid +classDiagram + +class gaxTrustFramework_Certificates{ +certificateName +certificateType +descriptionOfTestScope +certificateAuthority +certificateDocument +expirationDate +regularAudits +} + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| certificateName | xsd:string | 1 | 1 | Relevant certificate for the service | ISO XYZ | +| certificateType | xsd:string | 1 | 1 | Type of the certificates | BSI IT-Grundschutz, ISO 27001, Trust in Cloud | +| descriptionOfTestScope | xsd:string | 1 | 1 | Description of the scope of testing for this service | Freetext | +| certificateAuthority | xsd:string | 1 | 1 | Certificate authority for this service or its certificate | TÜV Süd | +| certificateDocument | xsd:string | 1 | 1 | Document that contains a certificate copy | certificates.pdf | +| expirationDate | xsd:date | 1 | 1 | Date on which the certificate expires | 2122-12-21 | +| regularAudits | xsd:boolean | 1 | 1 | Is the certificate regularly audited? | true, false | + + +
+ + +## gax-trust-framework:CheckSum + +```mermaid +classDiagram + +class gaxTrustFramework_CheckSum{ +checksum +checksumAlgorithm +} + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| checksum | xsd:string | 1 | 1 | Value of check sum | 5d68f20237c7c01c067b577ee5e490d1 | +| checksumAlgorithm | xsd:string
value must be in: [md5, sha-1, ripemd-160, sha-2, sha-3, blake2, blake3, other] | 1 | 1 | Defines algorithm for generating check sum | md5 | + + +
+ + +## gax-trust-framework:CodeArtifact + +```mermaid +classDiagram + +class gaxTrustFramework_CodeArtifact{ +<> + +name +} + +gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact + +class gaxTrustFramework_ComputeFunctionCode{ +file +} + +gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact + + +``` + + **Super classes**: [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) + + **Sub classes**: [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode), [gax-trust-framework:Image](#gax-trust-framework:image) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| name | xsd:string | 1 | 1 | Name identifying the code artifact | Image 1, Function_2 | + + +
+ + +## gax-trust-framework:ComplianceAssessmentBody + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceAssessmentBody{ +canCertifyThirdPartyComplianceCertificationScheme +hasThirdPartyComplianceCertificateClaim +hasThirdPartyComplianceCredential +} + +gaxCore_Participant <|-- gaxTrustFramework_ComplianceAssessmentBody + +class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ +hasComplianceAssessmentBodies +} + +gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme + +class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ +<> + +hasComplianceAssessmentBody +} + +gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim + +class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ +<> + +credentialSubject +} + +gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential + +gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody + +gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies + + +``` + + **Super classes**: [gax-core:Participant](#gax-core:participant) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| canCertifyThirdPartyComplianceCertificationScheme | [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) | 1 | unlimited | IDs of the Third Party Compliance Certification Scheme this Compliance Assessment Body can certify. | did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#1, did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#2 | +| hasThirdPartyComplianceCertificateClaim | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | unlimited | IDs of Certificate claims issued by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#1, did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#2 | +| hasThirdPartyComplianceCredential | [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) | 1 | unlimited | IDs of the Certificate claims VC certified by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceVC/sha256#1, did:web:compliance.gaia-x.eu/complianceVC/sha256#2 | + + +
+ + +## gax-trust-framework:ComplianceCertificateClaim + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceCertificateClaim{ +hasComplianceCertificationScheme +hasServiceOffering +} + +class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ +<> + +hasComplianceAssessmentBody +} + +gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim + +class gaxTrustFramework_ComplianceCertificationScheme{ +<> + +hasComplianceReference +grantsComplianceCriteriaCombination +} + +gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme + +class gaxTrustFramework_LocatedServiceOffering{ +isImplementationOf +isHostedOn +hasComplianceCertificateClaim +hasComplianceCertificateCredential +} + +gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering + +class gaxTrustFramework_ComplianceCertificateCredential{ +<> + +credentialSubject +} + +gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject + +gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim + + +``` + + **Super classes**: + + **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasComplianceCertificationScheme | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 0 | 1 | ID of the Compliance Certification Scheme (self-description) involved in the certification | https://company-a.com/self-descriptions/compliance-cert-scheme-iso27001.jsonld | +| hasServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | 1 | ID of the Service Offering (self-description) certified for the compliance | https://company-a.com/self-descriptions/service-offering-iaas.jsonld | + + +
+ + +## gax-trust-framework:ComplianceCertificateCredential + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceCertificateCredential{ +<> + +credentialSubject +} + +cred_VerifiableCredential <|-- gaxTrustFramework_ComplianceCertificateCredential + +class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ +<> + +credentialSubject +} + +gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential + +class gaxTrustFramework_ComplianceCertificateClaim{ +hasComplianceCertificationScheme +hasServiceOffering +} + +gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject + +class gaxTrustFramework_LocatedServiceOffering{ +isImplementationOf +isHostedOn +hasComplianceCertificateClaim +hasComplianceCertificateCredential +} + +gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential + + +``` + + **Super classes**: [cred:VerifiableCredential](#cred:verifiablecredential) + + **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| credentialSubject | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 1 | 1 | ID of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the ID is the ID of the third party | https://company-a.com/self-descriptions/cab.jsonld | + + +
+ + +## gax-trust-framework:ComplianceCertificationScheme + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceCertificationScheme{ +<> + +hasComplianceReference +grantsComplianceCriteriaCombination +} + +class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ +hasComplianceAssessmentBodies +} + +gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme + +class gaxTrustFramework_ComplianceReference{ +hasReferenceUrl +hasSha256 +hasComplianceReferenceTitle +hasDescription +hasComplianceReferenceManager +hasVersion +cRValidFrom +cRValidUntil +hasComplianceCertificationSchemes +} + +gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference + +class gaxTrustFramework_ComplianceCriteriaCombination{ +hasName +hasDescription +requiredOrGrantedCriteria +} + +gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination + +class gaxTrustFramework_ComplianceCertificateClaim{ +hasComplianceCertificationScheme +hasServiceOffering +} + +gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme + +gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes + + +``` + + **Super classes**: + + **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasComplianceReference | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | 1 | ID of Compliance Reference (self-description) to be certified by any means defined in the Certification Scheme | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | +| grantsComplianceCriteriaCombination | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | 1 | ID of Compliance Criterion Combination granted by the scheme in case of certification | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | + + +
+ + +## gax-trust-framework:ComplianceCriteriaCombination + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceCriteriaCombination{ +hasName +hasDescription +requiredOrGrantedCriteria +} + +class gaxTrustFramework_ComplianceCriterion{ +hasName +hasDescription +hasLevel +} + +gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria + +class gaxTrustFramework_ComplianceCertificationScheme{ +<> + +hasComplianceReference +grantsComplianceCriteriaCombination +} + +gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination + +class gaxTrustFramework_ComplianceLabel{ +hasName +hasDescription +hasLevel +hasRequiredCriteriaCombinations +} + +gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasName | xsd:string | 1 | 1 | Name of the Gaia-X criteria combination | Gaia-X Criteria Combination #1 | +| hasDescription | xsd:string | 0 | 1 | A description in natural language | Gaia-X | +| requiredOrGrantedCriteria | [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) | 1 | unlimited | List of Required Criteria to be granted for the label or list of granted Criteria by the compliance. All the Criteria have to be granted (logic AND) | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | + + +
+ + +## gax-trust-framework:ComplianceCriterion + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceCriterion{ +hasName +hasDescription +hasLevel +} + +class gaxTrustFramework_ComplianceCriteriaCombination{ +hasName +hasDescription +requiredOrGrantedCriteria +} + +gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Criterion | Gaia-X C1/L1 | +| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Criterion as defined in TF document | Gaia-X | +| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Label level. The level ordering is done by alphanumeric order. | 1, 2, 3 | + + +
+ + +## gax-trust-framework:ComplianceLabel + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceLabel{ +hasName +hasDescription +hasLevel +hasRequiredCriteriaCombinations +} + +class gaxTrustFramework_ComplianceCriteriaCombination{ +hasName +hasDescription +requiredOrGrantedCriteria +} + +gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Label | Gaia-X GDPR Trusted Label | +| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Label as defined in TF document | Gaia-X | +| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Gaia-X Label Level as defined in TF document | 1, 2, 3 | +| hasRequiredCriteriaCombinations | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | unlimited | List of Criteria Combinations. If one of these Combinations is valid the Label is Granted | 1, 2, 3 | + + +
+ + +## gax-trust-framework:ComplianceReference + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceReference{ +hasReferenceUrl +hasSha256 +hasComplianceReferenceTitle +hasDescription +hasComplianceReferenceManager +hasVersion +cRValidFrom +cRValidUntil +hasComplianceCertificationSchemes +} + +class gaxTrustFramework_ComplianceReferenceManager{ +hasComplianceReferences +} + +gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager + +class gaxTrustFramework_ComplianceCertificationScheme{ +<> + +hasComplianceReference +grantsComplianceCriteriaCombination +} + +gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes + +gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference + +gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasReferenceUrl | xsd:anyURI | 1 | 1 | URI to reference the content of the compliance reference in a single PDF file | https://www.iso.org/iso-27001.pdf | +| hasSha256 | xsd:string | 1 | 1 | SHA256 of PDF document referenced by hasReferenceUrl. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | +| hasComplianceReferenceTitle | xsd:string | 1 | 1 | Name of the Compliance Reference | ISO 27001 | +| hasDescription | xsd:string | 0 | 1 | A description in natural language | Information security management system standards. | +| hasComplianceReferenceManager | [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) | 1 | 1 | ID of Participant (self-description) in charge of managing this Compliance Reference | https://company-a.com/self-descriptions/compliance-ref-manager.jsonld | +| hasVersion | xsd:string | 0 | 1 | versioning according to [semver](https://semver.org/). | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | +| cRValidFrom | xsd:dateTime | 0 | 1 | Indicates the first date when the compliance reference goes into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | +| cRValidUntil | xsd:dateTime | 0 | 1 | Indicates the last date when the compliance reference is no more into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | +| hasComplianceCertificationSchemes | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 1 | unlimited | List of schemes that grants certification. This list is managed by a reference manager. | did:web:compliance.cispe.org/coc/gdpr/thirdparty#1 | + + +
+ + +## gax-trust-framework:ComplianceReferenceManager + +```mermaid +classDiagram + +class gaxTrustFramework_ComplianceReferenceManager{ +hasComplianceReferences +} + +gaxCore_Participant <|-- gaxTrustFramework_ComplianceReferenceManager + +class gaxTrustFramework_ComplianceReference{ +hasReferenceUrl +hasSha256 +hasComplianceReferenceTitle +hasDescription +hasComplianceReferenceManager +hasVersion +cRValidFrom +cRValidUntil +hasComplianceCertificationSchemes +} + +gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences + +gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager + + +``` + + **Super classes**: [gax-core:Participant](#gax-core:participant) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasComplianceReferences | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | unlimited | Unordered list of Ids of ComplianceReferences (self-description) managed by this ComplianceReferenceManager | https://company-a.com/self-descriptions/comp-ref1.jsonld | + + +
+ + +## gax-trust-framework:Compute + +```mermaid +classDiagram + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute + +class gaxTrustFramework_BareMetal{ +codeArtifact +instantiationReq +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal + +class gaxTrustFramework_ComputeFunction{ +code +trigger +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction + +class gaxTrustFramework_Container{ +image +resourceLimits +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_Container + +class gaxTrustFramework_VirtualMachine{ +codeArtifact +instantiationReq +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine + +class gaxTrustFramework_CodeArtifact{ +<> + +name +} + +gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact + +gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq + + +``` + + **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) + + **Sub classes**: [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal), [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction), [gax-trust-framework:Container](#gax-trust-framework:container), [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| codeArtifact | [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) | 1 | unlimited | Compute Service Code Artifacts | (a structured object of type gax-trust-framework:CodeArtifact) | +| instantiationReq | [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) | 1 | unlimited | Set of technical Requirements / conditions to instantiate this service offering | (a structured object of type gax-trust-framework:InstantiationRequirements) | +| tenantSeparation | xsd:string | 0 | 1 | How compute resources of different tenants are separated. Default value = hw-virtualized | hw-virtualized, sw-virtualized, os-virtualized, os-hw-virtualized, hw-partitioned, physical | + + +
+ + +## gax-trust-framework:ComputeFunction + +```mermaid +classDiagram + +class gaxTrustFramework_ComputeFunction{ +code +trigger +} + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction + +class gaxTrustFramework_ComputeFunctionCode{ +file +} + +gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code + +class gaxTrustFramework_ComputeFunctionTrigger{ +URL +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger + + +``` + + **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| code | [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionCode) | +| trigger | [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionTrigger) | + + +
+ + +## gax-trust-framework:ComputeFunctionCode + +```mermaid +classDiagram + +class gaxTrustFramework_ComputeFunctionCode{ +file +} + +class gaxTrustFramework_CodeArtifact{ +<> + +name +} + +gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode + +class gaxTrustFramework_ComputeFunction{ +code +trigger +} + +gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code + + +``` + + **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| file | xsd:anyURI | 1 | 1 | URL referring to function code file | https://storage.endpoint/image-file | + + +
+ + +## gax-trust-framework:ComputeFunctionTrigger + +```mermaid +classDiagram + +class gaxTrustFramework_ComputeFunctionTrigger{ +URL +isConfidential +attestationServiceURI +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger + +class gaxTrustFramework_ComputeFunction{ +code +trigger +} + +gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger + + +``` + + **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| URL | xsd:anyURI | 1 | 1 | URI / URL used to trigger this compute function | https://compute.function.endpoint | +| isConfidential | xsd:boolean | 1 | 1 | indicates whether function is of confidential nature | false, true | +| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether function has an associated attestation service | https://attestation.service.endpoint | + + +
+ + +## gax-trust-framework:Connectivity + +```mermaid +classDiagram + +class gaxTrustFramework_Connectivity{ +InstantiationRequirements +} + +gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_Connectivity + +class gaxTrustFramework_LinkConnectivity{ +SourceAccessPoint +DestinationAccessPoint +bandwidth +RoundTripTimeRTT +availability +packetLoss +jitter +ProtocolType +VLANType +VLANTag +VLANEtherType +} + +gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity + +class gaxTrustFramework_NetworkConnectivity{ +SourceAccessPoint +DestinationAccessPoint +} + +gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity + +class gaxTrustFramework_PhysicalConnectivity{ +CircuitType +InterfaceType +SourceAccessPoint +DestinationAccessPoint +} + +gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity + + +``` + + **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) + + **Sub classes**: [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity), [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity), [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| InstantiationRequirements | xsd:string | 0 | 1 | | | + + +
+ + +## gax-trust-framework:Container + +```mermaid +classDiagram + +class gaxTrustFramework_Container{ +image +resourceLimits +} + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_Container + +gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer + +class gaxTrustFramework_ContainerImage{ +baseOS +format +} + +gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image + +class gaxTrustFramework_ContainerResourceLimits{ +cpuReq +numberOfCoresLimit +memoryReq +memoryLimit +gpuReq +gpuLimit +isConfidential +attestationServiceURI +} + +gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits + + +``` + + **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) + + **Sub classes**: [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| image | [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) | 1 | unlimited | set of all possible provided container images for this service offering | (a structured object of type gax-trust-framework:ContainerImage) | +| resourceLimits | [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) | 1 | unlimited | set of all possible container resource limits for this service offering | (a structured object of type gax-trust-framework:ContainerQuota) | + + +
+ + +## gax-trust-framework:ContainerImage + +```mermaid +classDiagram + +class gaxTrustFramework_ContainerImage{ +baseOS +format +} + +gaxTrustFramework_WorkloadArtifact <|-- gaxTrustFramework_ContainerImage + +class gaxTrustFramework_Container{ +image +resourceLimits +} + +gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image + + +``` + + **Super classes**: [gax-trust-framework:WorkloadArtifact](#gax-trust-framework:workloadartifact) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| baseOS | xsd:string | 1 | 1 | container image base operating system | linux, windows | +| format | xsd:string | 1 | 1 | container image format | docker v1, docker v2, oci, lxc | + + +
+ + +## gax-trust-framework:ContainerResourceLimits + +```mermaid +classDiagram + +class gaxTrustFramework_ContainerResourceLimits{ +cpuReq +numberOfCoresLimit +memoryReq +memoryLimit +gpuReq +gpuLimit +isConfidential +attestationServiceURI +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits + +class gaxTrustFramework_CPU{ +cpuArchitecture +cpuGeneration +cpuFlag +smtIsEnabled +numberOfSockets +numberOfCores +numberOfThreads +baseFrequency +boostFrequency +lastLevelCacheSize +socket +tdp +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq + +class gaxTrustFramework_Memory{ +size +memclass +rank +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit + +class gaxTrustFramework_GPU{ +gpuGeneration +memory +connection +} + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq + +class gaxTrustFramework_Container{ +image +resourceLimits +} + +gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits + + +``` + + **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | 1 | CPU requirements | (a structured object of type gax-trust-framework:CPU) | +| numberOfCoresLimit | xsd:integer | 0 | 1 | limit to the number of cores used by container | 2 | +| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory requirements | (a structured object of type gax-trust-framework:Memory) | +| memoryLimit | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory limit | (a structured object of type gax-trust-framework:Memory) | +| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | 1 | number of GPUs | (a structured object of type gax-trust-framework:GPU) | +| gpuLimit | xsd:integer | 0 | 1 | GPU number limit | 1, 2 | +| isConfidential | xsd:boolean | 1 | 1 | indicates whether container is of confidential nature | false, true | +| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential container has an associated attestation service | https://attestation.service.endpoint | + + +
+ + +## gax-trust-framework:DataAccountExport + +```mermaid +classDiagram + +class gaxTrustFramework_DataAccountExport{ +requestType +accessType +formatType +} + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| requestType | xsd:string | 1 | 1 | the mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter. | API, email, webform, unregisteredLetter | +| accessType | xsd:string | 1 | 1 | type of data support: digital, physical. | digital, physical | +| formatType | xsd:string | 1 | 1 | type of Media Types (formerly known as MIME types) as defined by the IANA. | application/gzip, text/csv | + + +
+ + +## gax-trust-framework:DataCenter + +```mermaid +classDiagram + +class gaxTrustFramework_DataCenter{ +aggregationOf +} + +class gaxTrustFramework_PhysicalResource{ +maintainedBy +ownedBy +manufacturedBy +locationAddress +locationGPS +} + +gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter + +class gaxTrustFramework_AvailabilityZone{ +aggregationOf +} + +gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf + +class gaxTrustFramework_Region{ +aggregationOf +} + +gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf + + +``` + + **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| aggregationOf | [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) | 1 | unlimited | a data center is an aggregation of availability zones | (reference to availability zone) | + + +
+ + +## gax-trust-framework:DataConnectorOffering + +```mermaid +classDiagram + +class gaxTrustFramework_DataConnectorOffering{ +physicalResource +virtualResource +policies +type +creationTime +standardConformity +} + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering + +class gaxTrustFramework_PhysicalResource{ +maintainedBy +ownedBy +manufacturedBy +locationAddress +locationGPS +} + +gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource + +class gaxTrustFramework_VirtualResource{ +copyrightOwnedBy +license +policy +} + +gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource + +class gaxTrustFramework_Standard{ +title +standardReference +publisher +} + +gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity + + +``` + + **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| physicalResource | [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) | 1 | unlimited | a list of resource with information of where the data is located | https://gaia-x.eu | +| virtualResource | [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) | 1 | unlimited | a list of resource with information of who owns the data. | https://gaia-x.eu | +| policies | xsd:anyURI | 1 | unlimited | a list of policy expressed using a DSL used by the data connector policy engine leveraging Gaia-X Self-descriptions as both data inputs and policy inputs | https://gaia-x.eu | +| type | xsd:string | 0 | unlimited | Type of the data asset, which helps discovery. Preferably a controlled vocabulary entry referenced by URI | dataset, container | +| creationTime | xsd:dateTimeStamp | 0 | unlimited | Timestamp the service has been created. | 2021-07-17T00:31:30Z | +| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | + + +
+ + +## gax-trust-framework:DataExport + +```mermaid +classDiagram + +class gaxTrustFramework_DataExport{ +unlimitedAccessToCustomerData +description +} + +class gaxTrustFramework_Interoperability{ +technicalStandards +dataExport +technicalIntegration +requirementsServiceUsage +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| unlimitedAccessToCustomerData | xsd:string
value must be in: [No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered] | 1 | 1 | Can the user access unlimited and at any time the customer data? | No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered | +| description | xsd:string | 1 | 1 | Description of procedures for data repatriation and supported file formats? | Freetext | + + +
+ + +## gax-trust-framework:DataResource + +```mermaid +classDiagram + +class gaxTrustFramework_DataResource{ +producedBy +exposedThrough +obsoleteDateTime +expirationDateTime +containsPII +legalBasis +} + +class gaxTrustFramework_VirtualResource{ +copyrightOwnedBy +license +policy +} + +gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource + + +``` + + **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| producedBy | gax-core:Participant | 1 | 1 | A resolvable link to the participant self-description legally enabling the data usage. | (a reference to gax-core:Participant object) | +| exposedThrough | gax-core:Participant | 1 | unlimited | A resolvable link to the data exchange component that exposes the data resource. | | +| obsoleteDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is obsolete. | 2022-10-26T21:32:52 | +| expirationDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is expired and shall be deleted. | 2022-10-26T21:32:52 | +| containsPII | xsd:boolean | 1 | 1 | Boolean determined by Participant owning the Data Resource. | True | +| legalBasis | xsd:string | 0 | 1 | NOTE: Mandatory if containsPII is true. One of the reasons as detailed in the identified Personal Data Protection Regimes, such as [GDPR2018]. Potential Legal Bases can be [article 6], article 7, (https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1) or article 9. It shall be expressed as a string matching 6.1.[a-f], 6.1.4, 7 or 9.2.[a-j]. (Note: this list is not final, as GDPR and Member State Law may provide for additional legal basis. Those will be implemented as options in future iterations.) | https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1 | + + +
+ + +## gax-trust-framework:Database + +```mermaid +classDiagram + +gaxTrustFramework_Platform <|-- gaxTrustFramework_Database + + +``` + + **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:DigitalIdentityWallet + +```mermaid +classDiagram + +gaxTrustFramework_Wallet <|-- gaxTrustFramework_DigitalIdentityWallet + + +``` + + **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:Disk + +```mermaid +classDiagram + +class gaxTrustFramework_Disk{ +size +type +encryption +keyManagement +} + +class gaxTrustFramework_HardwareSpec{ +name +vendor +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size + +class gaxTrustFramework_Encryption{ +encryptionAlgorithm +keyManagement +} + +gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq + +gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq + + +``` + + **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | The size of that hard drive. | 1600 GB | +| type | xsd:string | 0 | 1 | The type of that hard drive. | local SSD, local HDD, shared network storage, high-perf NVMe | +| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of disk ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | +| keyManagement | xsd:string | 1 | unlimited | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "bring-your-own-key": : Keys created by user and stored in key manager of cloud. "hold-your-own-key": Key created by user and kept by user | managed, bring-your-own-key, hold-your-own-key | + + +
+ + +## gax-trust-framework:Encryption + +```mermaid +classDiagram + +class gaxTrustFramework_Encryption{ +encryptionAlgorithm +keyManagement +} + +class gaxTrustFramework_Disk{ +size +type +encryption +keyManagement +} + +gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption + +class gaxTrustFramework_ImageRegistryOffering{ +image +encryption +privateImagesAllowed +} + +gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| encryptionAlgorithm | xsd:string
value must be in: [none, rsa] | 1 | 1 | Supported algorithm used to encrypt. | none, rsa | +| keyManagement | xsd:string
value must be in: [managed, byok, hyok] | 1 | 1 | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "byok": bring-your-own-key: Keys created by user and stored in key manager of cloud. "hyok" hold-your-own-key Key created by user and kept by user | managed, byok, hyok | + + +
+ + +## gax-trust-framework:Endpoint + +```mermaid +classDiagram + +class gaxTrustFramework_Endpoint{ +endPointURL +standardConformity +endpointDescription +} + +class gaxTrustFramework_Standard{ +title +standardReference +publisher +} + +gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| endPointURL | xsd:anyURI | 0 | unlimited | The URL of the endpoint where it can be accessed | https://gaia-x.eu/ | +| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | +| endpointDescription | xsd:anyURI | 0 | unlimited | The Description (e.g. openAPI Description) of the endpoint | https://gaia-x.eu/ | + + +
+ + +## gax-trust-framework:FPGA + +```mermaid +classDiagram + +class gaxTrustFramework_FPGA{ +type +} + +class gaxTrustFramework_HardwareSpec{ +name +vendor +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA + + +``` + + **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| type | xsd:string | 0 | 1 | FPGA generation. | Agilex, Stratix | + + +
+ + +## gax-trust-framework:FileStorageOffering + +```mermaid +classDiagram + +class gaxTrustFramework_FileStorageOffering{ +fileSystem +} + +gaxTrustFramework_Storage <|-- gaxTrustFramework_FileStorageOffering + + +``` + + **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| fileSystem | xsd:string
value must be in: [FAT32, NTFS, exFAT] | 0 | 1 | File system of storage service. | FAT32, NTFS, exFAT | + + +
+ + +## gax-trust-framework:GPU + +```mermaid +classDiagram + +class gaxTrustFramework_GPU{ +gpuGeneration +memory +connection +} + +class gaxTrustFramework_HardwareSpec{ +name +vendor +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU + +class gaxTrustFramework_Memory{ +size +memclass +rank +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory + +class gaxTrustFramework_ContainerResourceLimits{ +cpuReq +numberOfCoresLimit +memoryReq +memoryLimit +gpuReq +gpuLimit +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq + + +``` + + **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| gpuGeneration | xsd:string | 0 | 1 | GPU generation. | Fermi, Kepler, Gen9 | +| memory | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | Memory of the GPU | a structure object of type Memory | +| connection | xsd:string | 0 | 1 | Interconnection of the GPU | PCIe Gen4: 64GB/s | + + +
+ + +## gax-trust-framework:HardwareSpec + +```mermaid +classDiagram + +class gaxTrustFramework_HardwareSpec{ +name +vendor +} + +class gaxTrustFramework_CPU{ +cpuArchitecture +cpuGeneration +cpuFlag +smtIsEnabled +numberOfSockets +numberOfCores +numberOfThreads +baseFrequency +boostFrequency +lastLevelCacheSize +socket +tdp +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU + +class gaxTrustFramework_Disk{ +size +type +encryption +keyManagement +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk + +class gaxTrustFramework_FPGA{ +type +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA + +class gaxTrustFramework_GPU{ +gpuGeneration +memory +connection +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU + +class gaxTrustFramework_Memory{ +size +memclass +rank +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory + +class gaxTrustFramework_Network{ +nicPortReq +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network + + +``` + + **Super classes**: + + **Sub classes**: [gax-trust-framework:CPU](#gax-trust-framework:cpu), [gax-trust-framework:Disk](#gax-trust-framework:disk), [gax-trust-framework:FPGA](#gax-trust-framework:fpga), [gax-trust-framework:GPU](#gax-trust-framework:gpu), [gax-trust-framework:Memory](#gax-trust-framework:memory), [gax-trust-framework:Network](#gax-trust-framework:network) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| name | xsd:string | 0 | 1 | Procuct name of the hardware resource. | Xeon Platinum 8280 | +| vendor | xsd:string
value must be in: [intel, AMD, NVIDEA, others] | 0 | 1 | Vendor of this hardware. | intel, AMD, NVIDEA, others | + + +
+ + +## gax-trust-framework:IdentityAccessManagementOffering + +```mermaid +classDiagram + +class gaxTrustFramework_IdentityAccessManagementOffering{ +disableUserAccountDaysInactive +passwordExpiresDays +authKind +} + +gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_IdentityAccessManagementOffering + + +``` + + **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| disableUserAccountDaysInactive | xsd:integer
1 <= value | 0 | 1 | Days of account inactivity before a user account is disabled. | | +| passwordExpiresDays | xsd:integer
1 <= value | 0 | 1 | Days until a user must renew their password. This attribute is only allowed with authKind=credentials. | | +| authKind | xsd:string
value must be in: [credentials, ssl-cert] | 0 | 1 | Indicate, which kind of authentication is used. "credentials": Authentication with username and password. "ssl-cert": Authentication with X.509 certificates. | credentials, ssl-cert | + + +
+ + +## gax-trust-framework:IdentityFederation + +```mermaid +classDiagram + +gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityFederation + + +``` + + **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:IdentityProvider + +```mermaid +classDiagram + +gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityProvider + + +``` + + **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:Image + +```mermaid +classDiagram + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +class gaxTrustFramework_CodeArtifact{ +<> + +name +} + +gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image + +class gaxTrustFramework_PxeImage{ +format +} + +gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage + +class gaxTrustFramework_VmImage{ +format +} + +gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage + +class gaxTrustFramework_CheckSum{ +checksum +checksumAlgorithm +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum + +class gaxTrustFramework_CPU{ +cpuArchitecture +cpuGeneration +cpuFlag +smtIsEnabled +numberOfSockets +numberOfCores +numberOfThreads +baseFrequency +boostFrequency +lastLevelCacheSize +socket +tdp +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize + +class gaxTrustFramework_Encryption{ +encryptionAlgorithm +keyManagement +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption + +class gaxTrustFramework_Signatur{ +signatur +signatureAlgo +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature + +class gaxTrustFramework_ImageRegistryOffering{ +image +encryption +privateImagesAllowed +} + +gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image + + +``` + + **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) + + **Sub classes**: [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage), [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| diskFormat | xsd:string | 0 | 1 | Disk format. Default RAW | RAW | +| checkSum | [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) | 0 | 1 | Details on checksum of this image. | (a strucctured object of type gax-trust-framework:Checksum) | +| version | xsd:string | 0 | 1 | Version of this image. | 8 | +| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements for this image | (a structure object of type CPU) | +| fileSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | file size of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | +| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | size in RAM of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | +| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of image ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | +| signature | [gax-trust-framework:Signatur](#gax-trust-framework:signatur) | 0 | 1 | Details of image signatur. | (a strucctured object of type gax-trust-framework:Signatur) | + + +
+ + +## gax-trust-framework:ImageRegistryOffering + +```mermaid +classDiagram + +class gaxTrustFramework_ImageRegistryOffering{ +image +encryption +privateImagesAllowed +} + +gaxTrustFramework_Storage <|-- gaxTrustFramework_ImageRegistryOffering + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image + +class gaxTrustFramework_Encryption{ +encryptionAlgorithm +keyManagement +} + +gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption + + +``` + + **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| image | [gax-trust-framework:Image](#gax-trust-framework:image) | 0 | 1 | Images available in this image registry. | (a structured object of type gax-resource:Software) | +| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details on encryption capabilities of this image registry. | (a structured object of type gax-core:Encryption) | +| privateImagesAllowed | xsd:boolean | 0 | 1 | Default: "true". "true" means that the image registry supports upload of private user images. | true, false | + + +
+ + +## gax-trust-framework:InfrastructureOffering + +```mermaid +classDiagram + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering + + +``` + + **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:InstantiatedVirtualResource + +```mermaid +classDiagram + +class gaxTrustFramework_InstantiatedVirtualResource{ +maintainedBy +hostedOn +instanceOf +tenantOwnedBy +serviceAccessPoint +} + +class gaxTrustFramework_VirtualResource{ +copyrightOwnedBy +license +policy +} + +gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource + +class gaxTrustFramework_VirtualNode{ +type +} + +gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode + +class gaxTrustFramework_ServiceAccessPoint{ +name +host +protocol +version +port +openAPI +} + +gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint + + +``` + + **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) + + **Sub classes**: [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| maintainedBy | gax-core:Participant | 1 | unlimited | a list of participants maintaining the resource in operational condition. | https://gaia-x.eu | +| hostedOn | gax-core:Resource | 1 | 1 | a resource where the instance of this virtual resource is being executed on. | https://gaia-x.eu | +| instanceOf | gax-core:Resource | 1 | 1 | A virtual resource (normally a software resource) this process is an instance of. | https://gaia-x.eu | +| tenantOwnedBy | gax-core:Participant | 1 | unlimited | A list of participant with contractual relation with the resource. | https://gaia-x.eu | +| serviceAccessPoint | [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint)
value must be in: [PD-SAP, PLME-SAP] | 1 | unlimited | a list of Service Access Point which can be an endpoint as a mean to access and interact with the resource | PD-SAP, PLME-SAP | + + +
+ + +## gax-trust-framework:InstantiationRequirements + +```mermaid +classDiagram + +gaxCore_Configuration <|-- gaxTrustFramework_InstantiationRequirements + +class gaxTrustFramework_ComputeFunctionTrigger{ +URL +isConfidential +attestationServiceURI +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger + +class gaxTrustFramework_ContainerResourceLimits{ +cpuReq +numberOfCoresLimit +memoryReq +memoryLimit +gpuReq +gpuLimit +isConfidential +attestationServiceURI +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor + +class gaxTrustFramework_VmAutoscalingGroupSpec{ +minInstantiatedVM +loadMetric +loadMetricTarget +loadMetricTargetMin +loadMetricTargetMax +asgScalingPlan +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq + + +``` + + **Super classes**: [gax-core:Configuration](#gax-core:configuration) + + **Sub classes**: [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger), [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits), [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor), [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:Interconnection + +```mermaid +classDiagram + +class gaxTrustFramework_Interconnection{ +location +interface.type +connectionPointA +connectionPointZ +bandwidth +latency +availability +packetLoss +jitter +targetPercentile +connectionType +vlanType +vlanTag +vlanEtherType +connectedNetwork_A +connectedNetwork_Z +prefixSet_A +prefixSet_Z +} + +class gaxTrustFramework_Network{ +nicPortReq +} + +gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag + + +``` + + **Super classes**: [gax-trust-framework:Network](#gax-trust-framework:network) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| location | vcard:Address | 0 | unlimited | A vcard:Address Object containing the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format with at least the both ends of the connection. | (a reference to vcard:Address object) | +| interface.type | xsd:string | 0 | unlimited | a type of physical interface | Copper cable, 5G | +| connectionPointA | xsd:string | 0 | unlimited | The ID of the source of the connection. | a MAC address, IP address | +| connectionPointZ | xsd:string | 0 | unlimited | The ID of the destination of the connection. | a MAC address, IP address | +| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual bandwidth defined in the service level agreement (SLA). Bandwidth is usually measured in dimension of bits per second. | 500 Gbps | +| latency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual latency defined in the SLA. If not specified, then best effort is assumed. Latency is usually measured in dimension of time. | 10 seconds | +| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual availability of connection defined in the SLA agreement. If not specified, then best effort is assumed. Availability is measured in the pseudo-unit "percent". | 99 percent | +| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | +| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual jitterdefined in the SLA. If not specified, then best effort is assumed. Jitter is measured in dimension of time. | 0.01 miliseconds | +| targetPercentile | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual percentile in the SLA. Usually referred to the nubmer of frames the SLA metrics such as availability, latency and jitter can bbe guaranteed. | 97.5%, 99% | +| connectionType | xsd:string | 0 | unlimited | the supported types of connection, preferably specified as a controlled vocabulary entry | ethernet unicast, multicast, broadcast support | +| vlanType | xsd:string | 0 | unlimited | the chosen types of vlan types | qinq, dot1q | +| vlanTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | +| vlanEtherType | xsd:string | 0 | unlimited | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | +| connectedNetwork_A | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side A | 200, 714 | +| connectedNetwork_Z | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side Z | 200, 714 | +| prefixSet_A | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side A | 176.46.32.0/24 | +| prefixSet_Z | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side Z | 192.46.52.0/24 | + + +
+ + +## gax-trust-framework:InterconnectionPointIdentifier + +```mermaid +classDiagram + +class gaxTrustFramework_InterconnectionPointIdentifier{ +dataCenterName +dataCenterFloor +DataCenterRackNumber +dataCenterPatchPanel +dataCenterPortNumber +macAddress +IPAddress +} + +class gaxTrustFramework_Resource{ +<> + +name +description +aggregationOf +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier + + +``` + + **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| dataCenterName | xsd:string | 0 | 1 | the name or Id of datacenter where the service can be accessed | Equinix FR2 - Frankfurt, North, Datacenter Leipzig Lindenau (RZW) , Equinix AM1/AM2 - Amsterdam, Luttenbergweg | +| dataCenterFloor | xsd:string | 0 | 1 | the floor number of datacenter where the service can be accessed | 0G, 1st , 2nd | +| DataCenterRackNumber | xsd:string | 0 | 1 | the Id of datacenter rack number where the service can be accessed | 0FM102 | +| dataCenterPatchPanel | xsd:string | 0 | 1 | the Id of datacenter patch panel where the service can be accessed | PP102 | +| dataCenterPortNumber | xsd:string | 0 | 1 | the port number on the patch panel where the service can be accessed | 14, 16, 25 | +| macAddress | xsd:string | 0 | 1 | the mac address required for L2 connectivity setup | 00:00:5e:00:53:af | +| IPAddress | xsd:string | 0 | 1 | the IP address required for L3 connectivity setup | 18.125.10.15 | + + +
+ + +## gax-trust-framework:Interoperability + +```mermaid +classDiagram + +class gaxTrustFramework_Interoperability{ +technicalStandards +dataExport +technicalIntegration +requirementsServiceUsage +} + +class gaxTrustFramework_TechnicalStandards{ +adminstrationApiStandards +virtualizationStandards +serviceStackStandards +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards + +class gaxTrustFramework_DataExport{ +unlimitedAccessToCustomerData +description +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport + +class gaxTrustFramework_TechnicalIntegration{ +standardizedAP +description +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration + +class gaxTrustFramework_RequirementsServiceUsage{ +technicalRequirements +organizationalRequirements +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| technicalStandards | [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) | 1 | 1 | Information about technical standards the service stack is based on. | (a structured object of type TechnicalStandards) | +| dataExport | [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) | 1 | 1 | Representation of procedures of data access of customer data and data feedback. | (a structured object of type DataExport) | +| technicalIntegration | [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) | 1 | 1 | Description of procedures of technical integration of service in the available IT-landscape of the user? | (a structured type of type Integration) | +| requirementsServiceUsage | [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) | 1 | 1 | Description for the technical and organizational prerequisites to use the service the user has to fulfill. | (a structured object of type RequirementsServiceUsage) | + + +
+ + +## gax-trust-framework:InteroperabilityAttestation + +```mermaid +classDiagram + +class gaxTrustFramework_InteroperabilityAttestation{ +interoperabilityAttestationType +} + +class gaxTrustFramework_Attestation{ +providedBy +attestationDate +attestationType +} + +gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation + + +``` + + **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Technical and Functional | + + +
+ + +## gax-trust-framework:InteroperabilityAttestationType + +```mermaid +classDiagram + +class gaxTrustFramework_InteroperabilityAttestationType{ +interoperabilityAttestationType +} + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| interoperabilityAttestationType | xsd:string
value must be in: [Service Interoperability Attestation, Resource Interoperability Attestation] | 1 | 1 | Interoperability Attestation Types | Service Interoperability Attestation | + + +
+ + +## gax-trust-framework:LegalPerson + +```mermaid +classDiagram + +class gaxTrustFramework_LegalPerson{ +legalName +legalForm +description +registrationNumber +legalAddress +headquarterAddress +leiCode +parentOrganization +subOrganization +} + +gaxCore_Participant <|-- gaxTrustFramework_LegalPerson + +http_//www.w3.org/ns/org#Organization <|-- gaxTrustFramework_LegalPerson + + +``` + + **Super classes**: [gax-core:Participant](#gax-core:participant), [http://www.w3.org/ns/org#Organization](#http://www.w3.org/ns/org#organization) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| legalName | xsd:string | 0 | 1 | Legally binding name | ACME L.L.C | +| legalForm | xsd:string
value must be in: [LLC, Corporation, Limited partnership (LP), Nonprofit corporation, Gesellschaft mit beschränkter Haftung (GmbH), Aktiengesellschaft (AG), Einzelunternehmen, Gesellschaft bürgerlichen Rechts (GbR), Offene Handelsgesellschaft (OHG), Kommanditgesellschaft (KG), Unternehmergesellschaft (haftungsbeschränkt), Sole Trader, Unincorporated Association, Partnership, Limited Partnership, Trust, Limited Company, Limited Liability Partnership (LLP), Community Interest Company (CIC), Charitable Incorporated Organisation (CIO), Co-operative Society (Co-op), Community Benefit Society (BenCom), other] | 0 | 1 | Legal form | L.L.C, GmbH | +| description | xsd:string | 0 | 1 | Textual description of this organization. | A company making everything | +| registrationNumber | xsd:string | 1 | 1 | Country’s registration number which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode. | DEU1234.HRB12345 | +| legalAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | +| headquarterAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | +| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | M07J9MTYHFCSVRBV2631 | +| parentOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant that this entity is a subOrganization of, if any. | https://gaia-x.eu | +| subOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant with an legal mandate on this entity, e.g., as a subsidiary. | https://gaia-x.eu | + + +
+ + +## gax-trust-framework:LinkConnectivity + +```mermaid +classDiagram + +class gaxTrustFramework_LinkConnectivity{ +SourceAccessPoint +DestinationAccessPoint +bandwidth +RoundTripTimeRTT +availability +packetLoss +jitter +ProtocolType +VLANType +VLANTag +VLANEtherType +} + +class gaxTrustFramework_Connectivity{ +InstantiationRequirements +} + +gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag + + +``` + + **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | FR:VLANID:56 | +| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | MUC:VLANID:24 | +| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual bandwidth defined in the service level agreement (SLA) | 1 Gbit/s, 10 Gbit/s, 100 Gbit/s, 400 Gbit/s | +| RoundTripTimeRTT | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual latency defined in the SLA. | 1 ms, 10 ms, 1 s | +| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual availability of connection defined in the SLA agreement. Availability is measured in the pseudo-unit "percent". | 99.9999 %, 99.9 %, 99.99 % | +| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | +| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual jitter defined in the SLA. If not specified, then best effort is assumed. | 0.01 ms, 0.002 ms | +| ProtocolType | xsd:string | 0 | 1 | Link protocol type | Ethrnet, ARP, PPP, VLAN | +| VLANType | xsd:string | 0 | 1 | the chosen types of vlan types | qinq, dot1q | +| VLANTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | +| VLANEtherType | xsd:string | 0 | 1 | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | + + +
+ + +## gax-trust-framework:LocatedServiceOffering + +```mermaid +classDiagram + +class gaxTrustFramework_LocatedServiceOffering{ +isImplementationOf +isHostedOn +hasComplianceCertificateClaim +hasComplianceCertificateCredential +} + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf + +class gaxTrustFramework_Location{ +<> + +hasProvider +canHostServiceOffering +hasAdministrativeLocation +hasLocatedServiceOffering +} + +gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn + +class gaxTrustFramework_ComplianceCertificateClaim{ +hasComplianceCertificationScheme +hasServiceOffering +} + +gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim + +class gaxTrustFramework_ComplianceCertificateCredential{ +<> + +credentialSubject +} + +gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential + +gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering + +gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| isImplementationOf | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Id of the Service Offering referenced by this located service | did:web:example.com/serviceOffering/sha256 | +| isHostedOn | [gax-trust-framework:Location](#gax-trust-framework:location) | 1 | 1 | Id of the Location where this located service is hosted on | did:web:example.com/location/sha256 | +| hasComplianceCertificateClaim | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 0 | unlimited | Ids of the compliance reference claims claimed by the provider for the located service | did:web:example.com/location/sha256 | +| hasComplianceCertificateCredential | [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) | 0 | unlimited | Ids of the compliance reference claim claimed by the provider for the located service | did:web:example.com/location/sha256 | + + +
+ + +## gax-trust-framework:Location + +```mermaid +classDiagram + +class gaxTrustFramework_Location{ +<> + +hasProvider +canHostServiceOffering +hasAdministrativeLocation +hasLocatedServiceOffering +} + +class gaxTrustFramework_Provider{ +hasLocations +hasServiceOffering +} + +gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering + +class gaxTrustFramework_LocatedServiceOffering{ +isImplementationOf +isHostedOn +hasComplianceCertificateClaim +hasComplianceCertificateCredential +} + +gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering + +gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn + +gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasProvider | [gax-trust-framework:Provider](#gax-trust-framework:provider) | 1 | 1 | Id of the participant who operates the Location Unit that implements the Service Offering | did:web:example.com/location/sha256 | +| canHostServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | List of references of Service Offering that may be hosted on this location | did:web:example.com/serviceOffering/sha256-1, did:web:example.com/serviceOffering/sha256-2 | +| hasAdministrativeLocation | xsd:string | 1 | 1 | ISO 3166-2 5 digit string for location | FR-39, DE-BE | +| hasLocatedServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | unlimited | Ids of Located Service Offerings on this location | did:web:example.com/locatedServiceOffering/sha256 | + + +
+ + +## gax-trust-framework:Measure + +```mermaid +classDiagram + +class gaxTrustFramework_Measure{ +value +unit +} + +class gaxResource_NetworkingDevice{ +managementPort +consolePort +portCapacity_A +portCapacity_A_Count +redundantPowerSupply +ramSize +cpuCount +type +supportedProtocols +networkAdress +} + +gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize + +gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount + +class gaxTrustFramework_CPU{ +cpuArchitecture +cpuGeneration +cpuFlag +smtIsEnabled +numberOfSockets +numberOfCores +numberOfThreads +baseFrequency +boostFrequency +lastLevelCacheSize +socket +tdp +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize + +gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp + +class gaxTrustFramework_Disk{ +size +type +encryption +keyManagement +} + +gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize + +class gaxTrustFramework_Interconnection{ +location +interface.type +connectionPointA +connectionPointZ +bandwidth +latency +availability +packetLoss +jitter +targetPercentile +connectionType +vlanType +vlanTag +vlanEtherType +connectedNetwork_A +connectedNetwork_Z +prefixSet_A +prefixSet_Z +} + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile + +gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag + +class gaxTrustFramework_LinkConnectivity{ +SourceAccessPoint +DestinationAccessPoint +bandwidth +RoundTripTimeRTT +availability +packetLoss +jitter +ProtocolType +VLANType +VLANTag +VLANEtherType +} + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter + +gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag + +class gaxTrustFramework_Memory{ +size +memclass +rank +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic + +class gaxTrustFramework_Volume{ +size +type +} + +gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| value | xsd:float | 1 | 1 | The value of this measurement. | 100 | +| unit | xsd:string | 1 | 1 | The unit of this measurement | Gbps, Euro | + + +
+ + +## gax-trust-framework:Memory + +```mermaid +classDiagram + +class gaxTrustFramework_Memory{ +size +memclass +rank +defaultOverbookingRatio +supportedOverbookingRatio +} + +class gaxTrustFramework_HardwareSpec{ +name +vendor +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size + +class gaxTrustFramework_ContainerResourceLimits{ +cpuReq +numberOfCoresLimit +memoryReq +memoryLimit +gpuReq +gpuLimit +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq + +gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit + +class gaxTrustFramework_GPU{ +gpuGeneration +memory +connection +} + +gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq + + +``` + + **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | +| memclass | xsd:string | 0 | 1 | Memory class | DDR4, DDR5, GDDR5, GDDR6 | +| rank | xsd:string | 0 | 1 | DIMM Type | 1R RDIMM, 2R RDIMM, 4R LRDIMM, 8R LRDIMM | +| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default overbooking ratio on this memory | 1.0 | +| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available overbooking ratios on this memory | 1.0 | + + +
+ + +## gax-trust-framework:Network + +```mermaid +classDiagram + +class gaxTrustFramework_Network{ +nicPortReq +} + +class gaxTrustFramework_HardwareSpec{ +name +vendor +} + +gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network + +class gaxTrustFramework_Interconnection{ +location +interface.type +connectionPointA +connectionPointZ +bandwidth +latency +availability +packetLoss +jitter +targetPercentile +connectionType +vlanType +vlanTag +vlanEtherType +connectedNetwork_A +connectedNetwork_Z +prefixSet_A +prefixSet_Z +} + +gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq + + +``` + + **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) + + **Sub classes**: [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| nicPortReq | xsd:string | 0 | 1 | placeholder for networking | | + + +
+ + +## gax-trust-framework:NetworkConnectivity + +```mermaid +classDiagram + +class gaxTrustFramework_NetworkConnectivity{ +SourceAccessPoint +DestinationAccessPoint +} + +class gaxTrustFramework_Connectivity{ +InstantiationRequirements +} + +gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity + + +``` + + **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Global:IANA:18.125.20.15/32 | +| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination and references a network | Global:IANA:18.125.10.15/24 | + + +
+ + +## gax-trust-framework:NetworkOffering + +```mermaid +classDiagram + +class gaxTrustFramework_NetworkOffering{ +serviceType +publicIpAddressProvisioning +ipVersion +tenantSeparation +} + +gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_NetworkOffering + + +``` + + **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | +| publicIpAddressProvisioning | xsd:string
value must be in: [floating, fixed, provider-network] | 0 | 1 | Defines how public IP address are provided. Floating: floating ips are supported . | floating, fixed, provider-network | +| ipVersion | xsd:string
value must be in: [ipV6, IPv4] | 0 | 1 | Version of IP address supported. IPv4: only ipV4 addresses are supported. IPv6: both version iIPV4 and IPv6 are supported. | IPV6, IPv4 | +| tenantSeparation | xsd:string
value must be in: [virtual, physical] | 0 | 1 | Default: virtual. How networks of different tenants are separated. | virtual, physical | + + +
+ + +## gax-trust-framework:Node + +```mermaid +classDiagram + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode + +class gaxTrustFramework_PhysicalServer{ +supportedManagementProtocols +managementInterface +} + +gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer + +class gaxTrustFramework_VirtualNode{ +type +} + +gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode + +class gaxTrustFramework_CPU{ +cpuArchitecture +cpuGeneration +cpuFlag +smtIsEnabled +numberOfSockets +numberOfCores +numberOfThreads +baseFrequency +boostFrequency +lastLevelCacheSize +socket +tdp +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu + +class gaxTrustFramework_GPU{ +gpuGeneration +memory +connection +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize + +class gaxTrustFramework_Disk{ +size +type +encryption +keyManagement +} + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk + +gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic + + +``` + + **Super classes**: + + **Sub classes**: [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode), [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver), [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| cpu | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | unlimited | Description of CPU(s) of this node | a structured object of type cpu, e.g. CPU:numberOfCores=4, CPU:frequency:value=3.0 and CPU:frequency:measure:unit=GHz | +| gpu | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Description of GPU(s) of this node. | a structured object of type gpu, e.g. GPU:memoryType=DDR6, GPU:memorySize:value=24 and GPU:memorySize:value:unit=GB | +| ramsize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Size of RAM of this node | a structured object of type measure, e.g. measure:value=950 and measure:unit=GB | +| disk | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Description of disk(s) of this nodes | a structured object of type harddrive, e.g. harddrive:productid=6CX68AV, and harddrive:name=Xeon Platinum 8280,and harddrive:manufacture=NVIDA; harddrive:size:value=1000, harddrive:size:unit=GB, and harddrive:type=SSD | +| nic | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Description of network interface card(s) of this node | a structured object of type measure, e.g. measure:value=10 and measure:unit=GBase-T | + + +
+ + +## gax-trust-framework:ObjectStorageOffering + +```mermaid +classDiagram + +class gaxTrustFramework_ObjectStorageOffering{ +fileSystem +} + +gaxTrustFramework_Storage <|-- gaxTrustFramework_ObjectStorageOffering + + +``` + + **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| fileSystem | xsd:string
value must be in: [FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS] | 0 | 1 | File system of storage services provides. | FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS | + + +
+ + +## gax-trust-framework:Orchestration + +```mermaid +classDiagram + +class gaxTrustFramework_Orchestration{ +type +} + +gaxTrustFramework_Platform <|-- gaxTrustFramework_Orchestration + + +``` + + **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| type | xsd:string
value must be in: [Docker Swarm, Apache Mesos, Kubernetes] | 0 | 1 | Type of this Orchestration Service Offering, such as kubernetes. | Docker Swarm, Apache Mesos, Kubernetes | + + +
+ + +## gax-trust-framework:PhysicalConnectivity + +```mermaid +classDiagram + +class gaxTrustFramework_PhysicalConnectivity{ +CircuitType +InterfaceType +SourceAccessPoint +DestinationAccessPoint +} + +class gaxTrustFramework_Connectivity{ +InstantiationRequirements +} + +gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity + + +``` + + **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| CircuitType | xsd:string | 0 | 1 | type of access medium: wired medium access or wireless medium access | single mode fibre or copper cable, laser, mobile network or satellite | +| InterfaceType | xsd:string | 0 | 1 | for the chosen circuit type, one should know the interface type in case the interoperability is required | optical cable interface SR | +| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Physical:DE:EQIX:FR2:0G:0FM102:PP102:14 | +| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | Physical:DE:DE-CIX:FR4:1G:0FM102:PP102:24 | + + +
+ + +## gax-trust-framework:PhysicalNode + +```mermaid +classDiagram + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode + +class gaxTrustFramework_PhysicalResource{ +maintainedBy +ownedBy +manufacturedBy +locationAddress +locationGPS +} + +gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode + + +``` + + **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:PhysicalResource + +```mermaid +classDiagram + +class gaxTrustFramework_PhysicalResource{ +maintainedBy +ownedBy +manufacturedBy +locationAddress +locationGPS +} + +class gaxTrustFramework_Resource{ +<> + +name +description +aggregationOf +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource + +class gaxResource_NetworkingDevice{ +managementPort +consolePort +portCapacity_A +portCapacity_A_Count +redundantPowerSupply +ramSize +cpuCount +type +supportedProtocols +networkAdress +} + +gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice + +class gaxTrustFramework_DataCenter{ +aggregationOf +} + +gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter + +gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode + +class gaxTrustFramework_DataConnectorOffering{ +physicalResource +virtualResource +policies +type +creationTime +standardConformity +} + +gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource + + +``` + + **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) + + **Sub classes**: [gax-resource:NetworkingDevice](#gax-resource:networkingdevice), [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter), [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| maintainedBy | gax-core:Participant | 1 | unlimited | Participant maintaining the resource in operational condition and thus have physical access to it. | https://gaia-x.eu | +| ownedBy | gax-core:Participant | 0 | unlimited | Participant owning the resource. | https://gaia-x.eu | +| manufacturedBy | gax-core:Participant | 0 | unlimited | Participant manufacturing the resource. | https://gaia-x.eu | +| locationAddress | vcard:Address | 1 | unlimited | A vcard:Address object that contains the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format. | | +| locationGPS | xsd:string | 0 | unlimited | A list of physical GPS in ISO 6709:2008/Cor 1:2009 format. | Atlantic Ocean +00-025/ | + + +
+ + +## gax-trust-framework:PhysicalServer + +```mermaid +classDiagram + +class gaxTrustFramework_PhysicalServer{ +supportedManagementProtocols +managementInterface +} + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer + +gaxTrustFramework_PhyscialResource <|-- gaxTrustFramework_PhysicalServer + + +``` + + **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhyscialResource](#gax-trust-framework:physcialresource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| supportedManagementProtocols | xsd:string | 1 | unlimited | List of supported Management Protocols, including version number | IPMI, Redfish, OpenBMC, iLo, iDrac | +| managementInterface | xsd:anyURI | 1 | unlimited | Interface used for management (NIC, Device,...) | (a structured object defining NetworkAccessPoint) | + + +
+ + +## gax-trust-framework:PlatformOffering + +```mermaid +classDiagram + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering + + +``` + + **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:Provider + +```mermaid +classDiagram + +class gaxTrustFramework_Provider{ +hasLocations +hasServiceOffering +} + +gaxCore_Participant <|-- gaxTrustFramework_Provider + +class gaxTrustFramework_Location{ +<> + +hasProvider +canHostServiceOffering +hasAdministrativeLocation +hasLocatedServiceOffering +} + +gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering + +gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider + + +``` + + **Super classes**: [gax-core:Participant](#gax-core:participant) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasLocations | [gax-trust-framework:Location](#gax-trust-framework:location) | 0 | unlimited | Ids of available Locations for this provider | did:web:provider.com/location#1, did:web:provider.com/location#2 | +| hasServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 0 | unlimited | Ids of the ServiceOffering managed by this provider. | did:web:provider.com/serviceoffering#1, did:web:provider.com/serviceoffering#2 | + + +
+ + +## gax-trust-framework:PxeImage + +```mermaid +classDiagram + +class gaxTrustFramework_PxeImage{ +format +} + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage + +class gaxTrustFramework_BareMetal{ +codeArtifact +instantiationReq +} + +gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact + + +``` + + **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| format | xsd:string | 1 | 1 | PXE image format for a bare-metal server | iso, winpe | + + +
+ + +## gax-trust-framework:Region + +```mermaid +classDiagram + +class gaxTrustFramework_Region{ +aggregationOf +} + +class gaxTrustFramework_Resource{ +<> + +name +description +aggregationOf +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_Region + +class gaxTrustFramework_DataCenter{ +aggregationOf +} + +gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf + + +``` + + **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| aggregationOf | [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) | 1 | unlimited | a region is an aggregation of data centers | (reference to data center) | + + +
+ + +## gax-trust-framework:RegistrationNumber + +```mermaid +classDiagram + +class gaxTrustFramework_RegistrationNumber{ +local +EUID +EORI +vatID +leiCode +} + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| local | xsd:string | 0 | 1 | The state issued company number. | HRA 12345, 123456789 | +| EUID | xsd:string | 0 | 1 | The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal. | DEB1234.HRB123123, FR1234.123456789 | +| EORI | xsd:string | 0 | 1 | The Economic Operators Registration and Identification number (EORI). | DE123456789101112, FR123456789101112 | +| vatID | xsd:string | 0 | 1 | The VAT identification number. | 5133081508159, 3201012312340 | +| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | 39120001LYGX6JEVCV44, 5299009D9BIL4D4UHT93 | + + +
+ + +## gax-trust-framework:RequirementsServiceUsage + +```mermaid +classDiagram + +class gaxTrustFramework_RequirementsServiceUsage{ +technicalRequirements +organizationalRequirements +} + +class gaxTrustFramework_Interoperability{ +technicalStandards +dataExport +technicalIntegration +requirementsServiceUsage +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| technicalRequirements | xsd:string | 1 | 1 | Description for the technical requirements to use the service | Freetext | +| organizationalRequirements | xsd:string | 1 | 1 | Description for the organizational requirements to use the service | Freetext | + + +
+ + +## gax-trust-framework:Resource + +```mermaid +classDiagram + +class gaxTrustFramework_Resource{ +<> + +name +description +aggregationOf +} + +gaxCore_Resource <|-- gaxTrustFramework_Resource + +class gaxTrustFramework_AvailabilityZone{ +aggregationOf +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone + +class gaxTrustFramework_InterconnectionPointIdentifier{ +dataCenterName +dataCenterFloor +DataCenterRackNumber +dataCenterPatchPanel +dataCenterPortNumber +macAddress +IPAddress +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier + +class gaxTrustFramework_PhysicalResource{ +maintainedBy +ownedBy +manufacturedBy +locationAddress +locationGPS +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource + +class gaxTrustFramework_Region{ +aggregationOf +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_Region + +class gaxTrustFramework_VirtualResource{ +copyrightOwnedBy +license +policy +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource + +gaxTrustFramework_Resource --> "0..*" gaxTrustFramework_Resource: aggregationOf + +gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf + + +``` + + **Super classes**: [gax-core:Resource](#gax-core:resource) + + **Sub classes**: [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone), [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource), [gax-trust-framework:Region](#gax-trust-framework:region), [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| name | xsd:string | 0 | 1 | Name of resource. | Example Resource | +| description | xsd:string | 0 | 1 | A more detailed description of resource. | Example Resource placed somewhere in Europe | +| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Resources related to the resource and that can exist independently of it. | (a reference to gax-trust-framework:Resource object) | + + +
+ + +## gax-trust-framework:ServerFlavor + +```mermaid +classDiagram + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor + +class gaxTrustFramework_CPU{ +cpuArchitecture +cpuGeneration +cpuFlag +smtIsEnabled +numberOfSockets +numberOfCores +numberOfThreads +baseFrequency +boostFrequency +lastLevelCacheSize +socket +tdp +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq + +class gaxTrustFramework_Memory{ +size +memclass +rank +defaultOverbookingRatio +supportedOverbookingRatio +} + +gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq + +class gaxTrustFramework_GPU{ +gpuGeneration +memory +connection +} + +gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq + +class gaxTrustFramework_Network{ +nicPortReq +} + +gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq + +class gaxTrustFramework_Disk{ +size +type +encryption +keyManagement +} + +gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq + +gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq + +class gaxTrustFramework_BareMetal{ +codeArtifact +instantiationReq +} + +gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq + +class gaxTrustFramework_VirtualMachine{ +codeArtifact +instantiationReq +} + +gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq + + +``` + + **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements | (a structured object of type CPU) | +| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 1 | 1 | Server memory requirements | (a structured object of type Memory) | +| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Server memory requirements | (a structured object of type GPU) | +| networkReq | [gax-trust-framework:Network](#gax-trust-framework:network) | 1 | unlimited | Networking requirements | (a structured object of type Network) | +| bootVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 1 | 1 | Boot volume requirement | (a structured object of type Disk) | +| additionalVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Additional volume requirements | (a structured object of type Disk) | +| isConfidential | xsd:boolean | 1 | 1 | indicates whether server is of confidential nature | false, true | +| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential server has an associated attestation service | https://attestation.service.endpoint | + + +
+ + +## gax-trust-framework:ServiceAccessPoint + +```mermaid +classDiagram + +class gaxTrustFramework_ServiceAccessPoint{ +name +host +protocol +version +port +openAPI +} + +class gaxTrustFramework_InstantiatedVirtualResource{ +maintainedBy +hostedOn +instanceOf +tenantOwnedBy +serviceAccessPoint +} + +gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| name | xsd:string | 0 | unlimited | Name of the access point | accesspointABC | +| host | xsd:string | 0 | unlimited | Host of the access point | | +| protocol | xsd:string | 0 | unlimited | Protocol of the access point | TCP, UDP | +| version | xsd:string | 0 | unlimited | Version of the access point | 1.2 | +| port | xsd:string | 0 | unlimited | Port of the access point | 8888 | +| openAPI | xsd:string | 0 | unlimited | URL of the OpenAPI documentation | https://gaia-x.eu/openAPIdoc | + + +
+ + +## gax-trust-framework:ServiceOffering + +```mermaid +classDiagram + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxCore_ServiceOffering <|-- gaxTrustFramework_ServiceOffering + +class gaxTrustFramework_Catalogue{ +getVerifiableCredentialsIDs +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute + +class gaxTrustFramework_DataConnectorOffering{ +physicalResource +virtualResource +policies +type +creationTime +standardConformity +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering + +class gaxTrustFramework_TermsAndConditions{ +content +hash +} + +gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions + +class gaxTrustFramework_DataAccountExport{ +requestType +accessType +formatType +} + +gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport + +class gaxTrustFramework_Endpoint{ +endPointURL +standardConformity +endpointDescription +} + +gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint + +class gaxTrustFramework_Resource{ +<> + +name +description +aggregationOf +} + +gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf + +class gaxTrustFramework_LocatedServiceOffering{ +isImplementationOf +isHostedOn +hasComplianceCertificateClaim +hasComplianceCertificateCredential +} + +gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf + +class gaxTrustFramework_Location{ +<> + +hasProvider +canHostServiceOffering +hasAdministrativeLocation +hasLocatedServiceOffering +} + +gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering + +class gaxTrustFramework_Provider{ +hasLocations +hasServiceOffering +} + +gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering + +class gaxTrustFramework_serviceInteroperabilityAttestation{ +interoperabilityAttestationType +serviceInteroperabilityAttestationType +composedService +componentService +} + +gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService + +gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService + + +``` + + **Super classes**: [gax-core:ServiceOffering](#gax-core:serviceoffering) + + **Sub classes**: [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue), [gax-trust-framework:Compute](#gax-trust-framework:compute), [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering), [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering), [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering), [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| name | xsd:string | 1 | 1 | human readable name of the service offering | GenericServiceName | +| termsAndConditions | [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) | 1 | unlimited | a resolvable link to the Terms and Conditions applying to that service. | https://gaia-x.eu | +| policy | xsd:string | 1 | unlimited | a list of policy expressed using a DSL (e.g., Rego or ODRL) | | +| dataProtectionRegime | xsd:string | 0 | unlimited | a list of data protection regime from the list available below | GDPR2016, LGPD2019 | +| dataAccountExport | [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) | 1 | unlimited | a list of methods to export data out of the service | | +| description | xsd:string | 0 | 1 | A description in natural language | An ML service for training, deploying and improving image classifiers. | +| keyword | xsd:string | 0 | unlimited | Keywords that describe / tag the service. | ML, Classification | +| provisionType | xsd:string | 0 | 1 | Provision type of the service | Hybrid, gax:PrivateProvisioning | +| endpoint | [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) | 0 | unlimited | Endpoint through which the Service Offering can be accessed | (reference to endpoint) | +| providedBy | gax-core:Participant | 1 | 1 | Id of Participant (self-descrription) providing this service offering. | https://gaia-x.eu | +| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Id of Resource (self-descrription) related to the service and that can exist independently of it. | https://gaia-x.eu | +| dependsOn | xsd:anyURI | 0 | unlimited | a resolvable link to the service offering self-description related to the service and that can exist independently of it. | https://gaia-x.eu | +| ServiceOfferingLocations | xsd:string | 0 | unlimited | Provision type of the service | Hybrid, gax:PrivateProvisioning | + + +
+ + +## gax-trust-framework:Signatur + +```mermaid +classDiagram + +class gaxTrustFramework_Signatur{ +signatur +signatureAlgo +} + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| signatur | xsd:string | 1 | 1 | Value of Signture | 5d68f20237c7c01c067b577ee5e490d1 | +| signatureAlgo | xsd:string
value must be in: [dsa, ecdsa, rsa, other] | 1 | 1 | Defines algorithm used check signature | ecdsa | + + +
+ + +## gax-trust-framework:SoftwareOffering + +```mermaid +classDiagram + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering + + +``` + + **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:SoftwareResource + +```mermaid +classDiagram + +class gaxTrustFramework_VirtualResource{ +copyrightOwnedBy +license +policy +} + +gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource + +class gaxTrustFramework_CodeArtifact{ +<> + +name +} + +gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact + + +``` + + **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) + + **Sub classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:Standard + +```mermaid +classDiagram + +class gaxTrustFramework_Standard{ +title +standardReference +publisher +} + +class gaxTrustFramework_DataConnectorOffering{ +physicalResource +virtualResource +policies +type +creationTime +standardConformity +} + +gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity + +class gaxTrustFramework_Endpoint{ +endPointURL +standardConformity +endpointDescription +} + +gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| title | xsd:string | 1 | 1 | Name of the standard. | ISO10303-242:2014 | +| standardReference | xsd:anyURI | 1 | unlimited | Provides a link to schemas or details about applied standards. | https://www.iso.org/standard | +| publisher | xsd:string | 0 | 1 | Publisher of the standard. | International Organization for Standardization | + + +
+ + +## gax-trust-framework:StorageOffering + +```mermaid +classDiagram + +class gaxTrustFramework_StorageOffering{ +serviceType +encryptionMethod +snapshotSupported +backupsSupported +} + +gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_StorageOffering + + +``` + + **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | +| encryptionMethod | xsd:string
value must be in: [None, managed, byok, hyok] | 0 | 1 | Default: None. Define encryption method of storage service. None: means no encryption art all. managed: Virtual storage is encrypted by key managed provider. byok: Virtual storage | None, managed, byok, hyok | +| snapshotSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports snapshots. | True, False | +| backupsSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports backus. | True, False | + + +
+ + +## gax-trust-framework:TechnicalIntegration + +```mermaid +classDiagram + +class gaxTrustFramework_TechnicalIntegration{ +standardizedAP +description +} + +class gaxTrustFramework_Interoperability{ +technicalStandards +dataExport +technicalIntegration +requirementsServiceUsage +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| standardizedAP | xsd:string
value must be in: [No statement, No APIS are offered, Documented APIs, Standardized APIs] | 1 | 1 | Is there a standardized API to integrate the service into the customers IT-landscape? | No statement, No APIS are offered, Documented APIs, Standardized APIs | +| description | xsd:string | 1 | 1 | Description of the offered APIs to integrate the services | Freetext | + + +
+ + +## gax-trust-framework:TechnicalStandards + +```mermaid +classDiagram + +class gaxTrustFramework_TechnicalStandards{ +adminstrationApiStandards +virtualizationStandards +serviceStackStandards +} + +class gaxTrustFramework_Interoperability{ +technicalStandards +dataExport +technicalIntegration +requirementsServiceUsage +} + +gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| adminstrationApiStandards | xsd:string
value must be in: [No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs] | 1 | 1 | Is the administration of service possible with standard API? | No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs | +| virtualizationStandards | xsd:string
value must be in: [No statement, Proprietary, Open format, Standardized format] | 1 | 1 | Does the service use standardized formats for virtual machines and containers? | No statement, Proprietary, Open format, Standardized format | +| serviceStackStandards | xsd:string | 1 | 1 | Description of the standard, the service stack is built on. | Freetext | + + +
+ + +## gax-trust-framework:TermsAndConditions + +```mermaid +classDiagram + +class gaxTrustFramework_TermsAndConditions{ +content +hash +} + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions + + +``` + + **Super classes**: + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| content | xsd:anyURI | 1 | 1 | a resolvable link to document | https://gaia-x.eu | +| hash | xsd:string | 1 | 1 | sha256 hash of the above document. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | + + +
+ + +## gax-trust-framework:ThirdPartyComplianceCertificateClaim + +```mermaid +classDiagram + +class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ +<> + +hasComplianceAssessmentBody +} + +class gaxTrustFramework_ComplianceCertificateClaim{ +hasComplianceCertificationScheme +hasServiceOffering +} + +gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim + +class gaxTrustFramework_ComplianceAssessmentBody{ +canCertifyThirdPartyComplianceCertificationScheme +hasThirdPartyComplianceCertificateClaim +hasThirdPartyComplianceCredential +} + +gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody + +gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim + +class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ +<> + +credentialSubject +} + +gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject + + +``` + + **Super classes**: [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasComplianceAssessmentBody | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | 1 | Id of the Participant (self-description) endorsed having a Compliance Assessment Body role that claims the compliance | https://company-a.com/self-descriptions/cab.jsonld | + + +
+ + +## gax-trust-framework:ThirdPartyComplianceCertificateCredential + +```mermaid +classDiagram + +class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ +<> + +credentialSubject +} + +class gaxTrustFramework_ComplianceCertificateCredential{ +<> + +credentialSubject +} + +gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential + +class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ +<> + +hasComplianceAssessmentBody +} + +gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject + +class gaxTrustFramework_ComplianceAssessmentBody{ +canCertifyThirdPartyComplianceCertificationScheme +hasThirdPartyComplianceCertificateClaim +hasThirdPartyComplianceCredential +} + +gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential + + +``` + + **Super classes**: [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| credentialSubject | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | 1 | Id of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the id is the id of the third party | https://company-a.com/self-descriptions/cab.jsonld | + + +
+ + +## gax-trust-framework:ThirdPartyComplianceCertificationScheme + +```mermaid +classDiagram + +class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ +hasComplianceAssessmentBodies +} + +class gaxTrustFramework_ComplianceCertificationScheme{ +<> + +hasComplianceReference +grantsComplianceCriteriaCombination +} + +gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme + +class gaxTrustFramework_ComplianceAssessmentBody{ +canCertifyThirdPartyComplianceCertificationScheme +hasThirdPartyComplianceCertificateClaim +hasThirdPartyComplianceCredential +} + +gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies + +gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme + + +``` + + **Super classes**: [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| hasComplianceAssessmentBodies | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | unlimited | Unordered list of IDs of ComplianceAssessmentBody (participant) endorsed having a Compliance Assessment Body role by the Compliance Reference. This unordered list is managed and validated by the Compliance Reference Manager | https://company-a.com/self-descriptions/cab.jsonld | + + +
+ + +## gax-trust-framework:VerifiableCredentialWallet + +```mermaid +classDiagram + +class gaxTrustFramework_VerifiableCredentialWallet{ +verifiableCredentialExportFormat +privateKeyExportFormat +} + +gaxTrustFramework_Wallet <|-- gaxTrustFramework_VerifiableCredentialWallet + + +``` + + **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| verifiableCredentialExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export verifiable credentials. | https://gaia-x.eu | +| privateKeyExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export private keys. | https://gaia-x.eu | + + +
+ + +## gax-trust-framework:VirtualMachine + +```mermaid +classDiagram + +class gaxTrustFramework_VirtualMachine{ +codeArtifact +instantiationReq +} + +class gaxTrustFramework_Compute{ +<> + +codeArtifact +instantiationReq +tenantSeparation +} + +gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine + +class gaxTrustFramework_AutoscaledVirtualMachine{ +autoscaledVmServiceSpec +} + +gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine + +class gaxTrustFramework_VmImage{ +format +} + +gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact + +class gaxTrustFramework_ServerFlavor{ +cpuReq +memoryReq +gpuReq +networkReq +bootVolumeReq +additionalVolumeReq +isConfidential +attestationServiceURI +} + +gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq + + +``` + + **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) + + **Sub classes**: [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| codeArtifact | [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) | 1 | unlimited | all possible provided virtual machine images for this service offering | (a structured object of type gax-trust-framework:VMImage) | +| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided virtual machine flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | + + +
+ + +## gax-trust-framework:VirtualNode + +```mermaid +classDiagram + +class gaxTrustFramework_VirtualNode{ +type +} + +class gaxTrustFramework_Node{ +cpu +gpu +ramsize +disk +nic +} + +gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode + +class gaxTrustFramework_InstantiatedVirtualResource{ +maintainedBy +hostedOn +instanceOf +tenantOwnedBy +serviceAccessPoint +} + +gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode + + +``` + + **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| type | xsd:string
value must be in: [virtual machine, container] | 0 | unlimited | Type of virtual node | virtual machine, container | + + +
+ + +## gax-trust-framework:VirtualResource + +```mermaid +classDiagram + +class gaxTrustFramework_VirtualResource{ +copyrightOwnedBy +license +policy +} + +class gaxTrustFramework_Resource{ +<> + +name +description +aggregationOf +} + +gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource + +class gaxTrustFramework_DataResource{ +producedBy +exposedThrough +obsoleteDateTime +expirationDateTime +containsPII +legalBasis +} + +gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource + +class gaxTrustFramework_InstantiatedVirtualResource{ +maintainedBy +hostedOn +instanceOf +tenantOwnedBy +serviceAccessPoint +} + +gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource + +gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource + +class gaxTrustFramework_DataConnectorOffering{ +physicalResource +virtualResource +policies +type +creationTime +standardConformity +} + +gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource + + +``` + + **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) + + **Sub classes**: [gax-trust-framework:DataResource](#gax-trust-framework:dataresource), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource), [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| copyrightOwnedBy | foaf:Agent | 1 | unlimited | The copyright owner(s), given as a Gaia-X Participant or as some other agent, possibly also a person outside of Gaia-X. A copyright owner is a person or organization, that has the right to exploit the resource. Copyright owner does not necessary refer to the author of the resource, who is a natural person and may differ from copyright owner. A simple name string can be referenced as a blank node whose foaf:name attribute has that string value. | https://gaia-x.eu | +| license | xsd:string | 1 | unlimited | A list of SPDX license identifiers or URL to license document | https://gaia-x.eu | +| policy | xsd:string | 1 | unlimited | A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …) | https://gaia-x.eu | + + +
+ + +## gax-trust-framework:VmAutoscalingGroupSpec + +```mermaid +classDiagram + +class gaxTrustFramework_VmAutoscalingGroupSpec{ +minInstantiatedVM +loadMetric +loadMetricTarget +loadMetricTargetMin +loadMetricTargetMax +asgScalingPlan +} + +gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec + +class gaxTrustFramework_AutoscaledVirtualMachine{ +autoscaledVmServiceSpec +} + +gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec + + +``` + + **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| minInstantiatedVM | xsd:integer | 0 | 1 | Minimim number of VM instances in the ASG | 2, 8 | +| loadMetric | xsd:string | 0 | 1 | Load Metric type - can be of various types | cpu load, memory load, IO load, cost | +| loadMetricTarget | xsd:integer | 0 | 1 | Per VM instance Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be between Min and Max | 2, 8 | +| loadMetricTargetMin | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be < Max | 2, 8 | +| loadMetricTargetMax | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be > Min | 2, 8 | +| asgScalingPlan | xsd:string | 0 | 1 | Autoscaling Policy | scale by one instance, scale by two instances, My Custom Scaling Plan | + + +
+ + +## gax-trust-framework:VmImage + +```mermaid +classDiagram + +class gaxTrustFramework_VmImage{ +format +} + +class gaxTrustFramework_Image{ +diskFormat +checkSum +version +cpuReq +fileSize +ramSize +encryption +signature +} + +gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage + +class gaxTrustFramework_VirtualMachine{ +codeArtifact +instantiationReq +} + +gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact + + +``` + + **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| format | xsd:string | 1 | 1 | Format of this virtual machine image. | qcow2, vhd, vhdx, vmdk, vdi, iso, ovf, ova | + + +
+ + +## gax-trust-framework:Volume + +```mermaid +classDiagram + +class gaxTrustFramework_Volume{ +size +type +} + +gaxTrustFramework_StorageResource <|-- gaxTrustFramework_Volume + +class gaxTrustFramework_Measure{ +value +unit +} + +gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size + + +``` + + **Super classes**: [gax-trust-framework:StorageResource](#gax-trust-framework:storageresource) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | +| type | xsd:string | 0 | 1 | storage volume type | small, medium, large | + + +
+ + +## gax-trust-framework:WalletOffering + +```mermaid +classDiagram + +gaxTrustFramework_Software <|-- gaxTrustFramework_WalletOffering + + +``` + + **Super classes**: [gax-trust-framework:Software](#gax-trust-framework:software) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | + + +
+ + +## gax-trust-framework:serviceInteroperabilityAttestation + +```mermaid +classDiagram + +class gaxTrustFramework_serviceInteroperabilityAttestation{ +interoperabilityAttestationType +serviceInteroperabilityAttestationType +composedService +componentService +} + +class gaxTrustFramework_Attestation{ +providedBy +attestationDate +attestationType +} + +gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation + +class gaxTrustFramework_ServiceOffering{ +name +termsAndConditions +policy +dataProtectionRegime +dataAccountExport +description +keyword +provisionType +endpoint +providedBy +aggregationOf +dependsOn +ServiceOfferingLocations +} + +gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService + +gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService + + +``` + + **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) + + **Sub classes**: + + + + | Title | Data Type | Min Count | Max Count | Description | Example Value | +| ------- | ------- | ------- | ------- | ------- | ------- | +| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Functional and technical | +| serviceInteroperabilityAttestationType | xsd:string
value must be in: [Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider] | 1 | 1 | Type of Service Interoperability Attestation | Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider | +| composedService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Composed Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceComplianceService.json | +| componentService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | Component Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceManagedPostgreSQLOVH.json | + + From 7d9dc0ab6ea996e6a2eccfa4f32a349838015b6b Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Tue, 2 May 2023 22:03:54 +0200 Subject: [PATCH 090/175] Timestamp should be an integer. (#33) Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx-sd-generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gx-sd-generator.py b/gx-sd-generator.py index 78b2ce0..b373dba 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -63,7 +63,7 @@ def gxjsonldheader(): gxsvo = "gx-service-offering:" jout = gx_context.gxcontext jout.update(gx_context.gxtype) - myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{time.time()}.json" + myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{int(time.time())}.json" jout["@id"] = myid provby = valtype(uriprefix + "participant.json") name = valtype("OpenStack IaaS Service " + svcname) From 9c3874e8d97365c9dcdeb1daf5fe981861b6cdd3 Mon Sep 17 00:00:00 2001 From: Matej Feder Date: Wed, 3 May 2023 11:25:54 +0200 Subject: [PATCH 091/175] Add Quick Start Guide and project's base requirements (#34) Signed-off-by: Matej Feder Co-authored-by: Kurt Garloff Signed-off-by: Anja Strunk --- README.md | 30 +++++++++++++++++++++++++----- requirements.txt | 2 ++ 2 files changed, 27 insertions(+), 5 deletions(-) create mode 100644 requirements.txt diff --git a/README.md b/README.md index 0f15669..c1754f2 100644 --- a/README.md +++ b/README.md @@ -16,11 +16,11 @@ We start with the region list and then read the OpenStack catalog to collect This then should be output as JSON-LD (or YAML-LD) for the Gaia-X catalogue. References: - - - - - +- +- +- +- +- Notes from reviewing the SD attributes: * Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties @@ -60,6 +60,26 @@ For KaaS, the option space really needs to be described. As of now, this can not be discovered, short of using external sources, like the IaaS SD, the list of node images (osism minio), ... +## Quick Start Guide + +1. Clone the repository into a location of your choice +```bash +git clone git@github.com:SovereignCloudStack/gx-self-description-generator.git +cd gx-self-description-generator +``` + +2. Install scripts dependencies (installing them into a Python [virtualenv](https://virtualenv.pypa.io/en/stable/) is recommended) +```bash +pip install -r requirements.txt +``` + +3. Generate Gaia-X Self-Descriptions + + - OpenStack (script assumes OpenStack access (as normal tenant user) + ```bash + ./gx-sd-generator.py --gaia-x --os-cloud= + ``` + ## Status (2022-06-24) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..fb06695 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +openstacksdk==1.1.* +PyYAML==6.* From 192f675168ab35b28a85077f0aefec841d947571 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Wed, 3 May 2023 15:51:39 +0200 Subject: [PATCH 092/175] Fix running without os-cloud. Make time an int. (#38) Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx-sd-generator.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gx-sd-generator.py b/gx-sd-generator.py index b373dba..b3c1dbb 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -126,6 +126,8 @@ def main(argv): global debug, ofile, outjson, indent global uriprefix, gxid, svcname timeout = 12 + mycloud = None + myk8s = None try: opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:", ("os-cloud=", "file=", "help", "gaia-x", "json", @@ -162,13 +164,13 @@ def main(argv): conn = ostack.ostackconn(ostack.cloud, timeout) mycloud = ostack.osCloud(conn) if False and k8s.kcfg: - # Do the kubernetes things + # Do the kubernetes things, fill in myk8s pass if mycloud: if ofile == "/dev/stdout": - print(output(mycloud), file=sys.stdout) + print(output(mycloud, myk8s), file=sys.stdout) else: - print(output(mycloud), file=open(ofile, 'a', encoding="UTF-8")) + print(output(mycloud, myk8s), file=open(ofile, 'a', encoding="UTF-8")) if __name__ == "__main__": From 24012bc6daa256b5d3fbd2a7b4914776378a46ae Mon Sep 17 00:00:00 2001 From: Matej Feder Date: Wed, 3 May 2023 22:47:16 +0200 Subject: [PATCH 093/175] Add simple SD validator script with some basic examples (#39) * Add simple SD validator script with some basic examples * has->have. Use f strings for wanted format. Signed-off-by: Matej Feder Signed-off-by: Kurt Garloff Co-authored-by: Kurt Garloff Signed-off-by: Anja Strunk --- README.md | 9 ++++++++ requirements.txt | 2 ++ sd/example.jsonld | 14 +++++++++++++ sd/example.ttl | 40 +++++++++++++++++++++++++++++++++++ sd/validate.py | 53 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 118 insertions(+) create mode 100644 sd/example.jsonld create mode 100644 sd/example.ttl create mode 100755 sd/validate.py diff --git a/README.md b/README.md index c1754f2..d3de340 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,15 @@ pip install -r requirements.txt ./gx-sd-generator.py --gaia-x --os-cloud= ``` +## Simple SelfDescription validator + +Generated SelfDescriptions could be validated against their schemas (shapes) by the +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: +```bash +./sd/validate.py sd/example.jsonld sd/example.ttl +``` + ## Status (2022-06-24) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, diff --git a/requirements.txt b/requirements.txt index fb06695..60a81f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,4 @@ openstacksdk==1.1.* PyYAML==6.* +pyshacl==0.22.* +rdflib==6.3.* diff --git a/sd/example.jsonld b/sd/example.jsonld new file mode 100644 index 0000000..d52b7b4 --- /dev/null +++ b/sd/example.jsonld @@ -0,0 +1,14 @@ +{ + "@context": { "@vocab": "http://schema.org/" }, + "@id": "http://example.org/ns#Bob", + "@type": "Person", + "givenName": "Robert", + "familyName": "Junior", + "birthDate": "1961-07-07", + "deathDate": "1968-09-10", + "address": { + "@id": "http://example.org/ns#BobsAddress", + "streetAddress": "1600 Amphitheatre Pkway", + "postalCode": 10404 + } +} diff --git a/sd/example.ttl b/sd/example.ttl new file mode 100644 index 0000000..879c5d8 --- /dev/null +++ b/sd/example.ttl @@ -0,0 +1,40 @@ +@prefix dash: . +@prefix rdf: . +@prefix rdfs: . +@prefix schema: . +@prefix sh: . +@prefix xsd: . +schema:PersonShape + a sh:NodeShape ; + sh:targetClass schema:Person ; + sh:property [ + sh:path schema:givenName ; + sh:datatype xsd:string ; + sh:name "given name" ; + ] ; + sh:property [ + sh:path schema:birthDate ; + sh:lessThan schema:deathDate ; + sh:maxCount 1 ; + ] ; + sh:property [ + sh:path schema:gender ; + sh:in ( "female" "male" ) ; + ] ; + sh:property [ + sh:path schema:address ; + sh:node schema:AddressShape ; + ] . +schema:AddressShape + a sh:NodeShape ; + sh:closed true ; + sh:property [ + sh:path schema:streetAddress ; + sh:datatype xsd:string ; + ] ; + sh:property [ + sh:path schema:postalCode ; + sh:or ( [ sh:datatype xsd:string ] [ sh:datatype xsd:integer ] ) ; + sh:minInclusive 10000 ; + sh:maxInclusive 99999 ; + ] . diff --git a/sd/validate.py b/sd/validate.py new file mode 100755 index 0000000..46eb007 --- /dev/null +++ b/sd/validate.py @@ -0,0 +1,53 @@ +#!/usr/bin/env python3 + +"""Script to validate self-description in JSON-LD format + against its schema is turtle format. + +(c) Roman Hros , 5/2023 +(c) Matej Feder , 5/2023 +SPDX-License-Identifier: EPL-2.0 +""" + +from pyshacl import validate +from argparse import ArgumentParser +import rdflib + +SHAPES_FILE_FORMAT = "turtle" +DATA_FILE_FORMAT = "json-ld" + + +def load_file(filepath, file_format=DATA_FILE_FORMAT): + """Load file in a given format""" + graph = rdflib.Graph() + graph.parse(filepath, format=file_format) + return graph + + +def validate_sd(sd, schema): + """Validate SD in jsonld format against given schema in turtle format""" + conforms, results_graph, results_text = validate( + load_file(sd), + shacl_graph=load_file(schema, file_format="turtle"), + data_graph_format=DATA_FILE_FORMAT, + shacl_graph_format=SHAPES_FILE_FORMAT, + inference="rdfs", + debug=False, + serialize_report_graph=True, + ) + print(results_text) + + +parser = ArgumentParser(description="Simple SD validator for development purposes") +parser.add_argument( + "sd", + help=f"Filepath of SelfDescription to validate. Should have {DATA_FILE_FORMAT} format", +) +parser.add_argument( + "schema", + help=f"Filepath of shacl schema to be used for validation. Should have {SHAPES_FILE_FORMAT} format", +) + + +if __name__ == "__main__": + args = vars(parser.parse_args()) + validate_sd(**args) From a5e82744d9268ddc8c0693f58552b55af6a27279 Mon Sep 17 00:00:00 2001 From: Matej Feder Date: Thu, 4 May 2023 09:06:57 +0200 Subject: [PATCH 094/175] Add a minimal GX service offering SD and the latest GX shapes (#40) * Fix validate script and use variable insted of hardcoded value Signed-off-by: Matej Feder * Add a minimal GX service offering SD and the latest GX shapes Signed-off-by: Matej Feder --------- Signed-off-by: Matej Feder Signed-off-by: Anja Strunk --- README.md | 13 ++ sd/gx_service_offering_example.jsonld | 65 +++++++++ sd/gx_shapes_latest.ttl | 191 ++++++++++++++++++++++++++ sd/validate.py | 2 +- 4 files changed, 270 insertions(+), 1 deletion(-) create mode 100644 sd/gx_service_offering_example.jsonld create mode 100644 sd/gx_shapes_latest.ttl diff --git a/README.md b/README.md index d3de340..e8e26b8 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,19 @@ generated SD. Find the examples in `sd` directory and do the validation as follo ./sd/validate.py sd/example.jsonld sd/example.ttl ``` +### GX SelfDescription - Service Offering minimal example + +SD definition `sd/gx_service_offering_example.jsonld` should represent +a minimal GX Service Offering example that is valid against the latest GX shacl shapes `sd/gx_shapes_latest.ttl`. +The latest GX shacl shapes (at the time of Hackathon#6 23/05/3-4) are +used by the [GX wizard](https://wizard.lab.gaia-x.eu/), and they have been downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). + +Try to validate a minimal example against the latest GX shapes (feel free to remove some +required attribute and check validation result): +```bash +./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl +``` + ## Status (2022-06-24) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, diff --git a/sd/gx_service_offering_example.jsonld b/sd/gx_service_offering_example.jsonld new file mode 100644 index 0000000..d981645 --- /dev/null +++ b/sd/gx_service_offering_example.jsonld @@ -0,0 +1,65 @@ +{ + "@context": { + "xsd": "http://www.w3.org/2001/XMLSchema#", + "gx": "https://https://registry.lab.gaia-x.eu//v1$/gx#", + "ex": "http://example.org/" + }, + "@id": "ex:Compute", + "@type": "gx:ServiceOffering", + "gx:providedBy": { + "@id": "did:example:123", + "@type": "gx:LegalParticipant", + "gx:legalAddress": { + "@type": "gx:legalAddress", + "gx:countrySubdivisionCode": { + "@value": "DE-BE", + "@type": "xsd:string" + } + }, + "gx:headquarterAddress": { + "@type": "gx:legalAddress", + "gx:countrySubdivisionCode": { + "@value": "DE-BE", + "@type": "xsd:string" + } + }, + "gx:legalRegistrationNumber": { + "@type": "gx:legalRegistrationNumber", + "gx:leiCode": { + "@value": "123", + "@type": "xsd:string" + }, + "gx:vatID": { + "@value": "123", + "@type": "xsd:string" + }, + "gx:EORI": { + "@value": "123", + "@type": "xsd:string" + }, + "gx:EUID": { + "@value": "123", + "@type": "xsd:string" + }, + "gx:taxID": { + "@value": "123", + "@type": "xsd:string" + } + } + }, + "gx:policy": "IaaS", + "gx:termsAndConditions": { + "@type": "gx:SOTermsAndConditions", + "gx:URL": { + "@value": "https://www.acme.com/compute/tac", + "@type": "xsd:string" + }, + "gx:hash": "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" + }, + "gx:dataAccountExport": { + "@type": "gx:dataAccountExport", + "gx:requestType": "API", + "gx:accessType": "digital", + "gx:formatType": "application/json" + } +} diff --git a/sd/gx_shapes_latest.ttl b/sd/gx_shapes_latest.ttl new file mode 100644 index 0000000..ca350b2 --- /dev/null +++ b/sd/gx_shapes_latest.ttl @@ -0,0 +1,191 @@ +@prefix gx: . +@prefix rdfs: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + +gx:ParticipantShape a sh:NodeShape ; + sh:targetClass gx:Participant, gx:LegalParticipant ; + sh:nodeKind sh:IRI . + +# TODO: simplify with https://github.com/zazuko/rdf-validate-shacl/issues/41#issuecomment-745803630 + +gx:LegalParticipantShape a sh:NodeShape ; + sh:targetClass gx:LegalParticipant ; + sh:property [ + sh:path gx:legalRegistrationNumber ; + sh:node gx:legalRegistrationNumberShape ; + sh:minCount 1 ; + ], [ + sh:path gx:parentOrganization ; + sh:node gx:LegalParticipantShape ; + ], [ + sh:path gx:subOrganization ; + sh:node gx:LegalParticipantShape ; + ], [ + sh:path gx:headquarterAddress ; + sh:minCount 1 ; + sh:node gx:PostalAddressShape ; + ], [ + sh:path gx:legalAddress ; + sh:minCount 1 ; + sh:node gx:PostalAddressShape ; + ] . + +gx:legalRegistrationNumberShape a sh:NodeShape ; + sh:targetClass gx:legalRegistrationNumber ; + sh:message "At least one of taxID, vatID, EUID, EORI or leiCode must be defined." ; + sh:property [ + sh:path gx:taxID ; + sh:datatype xsd:string ; + sh:minLength 3 ; + ]; + sh:property [ + sh:path gx:EUID ; + sh:datatype xsd:string ; + sh:minLength 3 ; + ]; + sh:property [ + sh:path gx:EORI ; + sh:datatype xsd:string ; + sh:minLength 3 ; + ]; + sh:property [ + sh:path gx:vatID ; + sh:datatype xsd:string ; + sh:minLength 3 ; + ]; + sh:property [ + sh:path gx:leiCode ; + sh:datatype xsd:string ; + sh:minLength 3 ; + ]; + sh:or ( + [ + sh:path gx:taxID ; + sh:minCount 1 ; + ] + [ + sh:path gx:EUID ; + sh:minCount 1 ; + ] + [ + sh:path gx:EORI ; + sh:minCount 1 ; + ] + [ + sh:path gx:vatID ; + sh:minCount 1 ; + ] + [ + sh:path gx:leiCode ; + sh:minCount 1 ; + ] + ) . + +gx:PostalAddressShape a sh:NodeShape ; + sh:targetClass gx:headquarterAddress, gx:legalAddress ; + sh:property [ + sh:path gx:countrySubdivisionCode ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:pattern "^[a-zA-Z]{2}-(?:[a-zA-Z]{1,3}|[0-9]{1,3})$" ; + sh:flags "i" ; + sh:message "an ISO 3166-2 format value is expected." ; + ] . + +gx:GaiaXTermsAndConditionsShape a sh:NodeShape ; + sh:targetClass gx:GaiaXTermsAndConditions; + sh:property [ + sh:path gx:termsAndConditions ; + sh:datatype xsd:string ; + sh:minCount 1 ; + sh:hasValue '''The PARTICIPANT signing the Self-Description agrees as follows: +- to update its descriptions about any changes, be it technical, organizational, or legal - especially but not limited to contractual in regards to the indicated attributes present in the descriptions. + +The keypair used to sign Verifiable Credentials will be revoked where Gaia-X Association becomes aware of any inaccurate statements in regards to the claims which result in a non-compliance with the Trust Framework and policy rules defined in the Policy Rules and Labelling Document (PRLD).''' ; + ] . + +gx:DataAccountExportShape + a sh:NodeShape ; + sh:targetClass gx:dataAccountExport ; + sh:property [ sh:path gx:requestType ; + sh:datatype xsd:string ; + sh:name "Request type" ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ] ; + sh:property [ sh:path gx:accessType ; + sh:datatype xsd:string ; + sh:name "Access type" ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:description "type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ] ; + sh:property [ sh:path gx:formatType ; + sh:datatype xsd:string ; + sh:name "Format type" ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:pattern "^\\w+/[-+.\\w]+$" ; + sh:flags "i" ; + sh:message "type of Media Types (formerly known as MIME types) as defined by the IANA." ; ] . + +gx:SOTermsAndConditionsShape + a sh:NodeShape ; + sh:targetClass gx:SOTermsAndConditions ; + sh:property [ sh:path gx:URL ; + sh:name "URL" ; + sh:description "a resolvable link to document" ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:datatype xsd:string ] ; + sh:property [ sh:path gx:hash ; + sh:name "hash" ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:description "sha256 hash of the above document." ; + sh:datatype xsd:string ] . + +gx:ServiceOfferingShape + a sh:NodeShape ; + sh:targetClass gx:ServiceOffering ; + sh:property [ sh:path gx:providedBy ; + sh:name "provided by" ; + sh:description "a resolvable link to the participant self-description providing the service." ; + sh:minCount 1 ; + sh:maxCount 1 ; + sh:node gx:LegalParticipantShape ] ; # TODO add alternativePath to support all type of Participant + sh:property [ sh:path gx:aggregationOf ; + sh:name "aggregation of" ; + sh:description + "a resolvable link to the resources self-description related to the service and that can exist independently of it." ; + sh:datatype xsd:string ] ; + sh:property [ sh:path gx:dependsOn ; + sh:name "depends on" ; + sh:description + "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; + sh:datatype gx:ServiceOffering ] ; + sh:property [ sh:path gx:termsAndConditions ; + sh:name "terms & conditions" ; + sh:minCount 1 ; + sh:description + "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; + sh:node gx:SOTermsAndConditionsShape ] ; + sh:property [ sh:path gx:policy ; + sh:name "policy" ; + sh:minCount 1 ; + sh:description + "a list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …)." ; + sh:datatype xsd:string ] ; + sh:property [ sh:path gx:dataProtectionRegime ; + sh:name "data protection regime" ; + sh:description "a list of data protection regime" ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:message "Refer to https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/service_and_subclasses/#service-offering Personal Data Protection Regimes" ; + sh:datatype xsd:string ] ; + sh:property [ sh:path gx:dataAccountExport ; + sh:name "data account export" ; + sh:minCount 1 ; + sh:description "list of methods to export data from your user’s account out of the service" ; + sh:node gx:DataAccountExportShape ; ] . diff --git a/sd/validate.py b/sd/validate.py index 46eb007..f505be5 100755 --- a/sd/validate.py +++ b/sd/validate.py @@ -27,7 +27,7 @@ def validate_sd(sd, schema): """Validate SD in jsonld format against given schema in turtle format""" conforms, results_graph, results_text = validate( load_file(sd), - shacl_graph=load_file(schema, file_format="turtle"), + shacl_graph=load_file(schema, file_format=SHAPES_FILE_FORMAT), data_graph_format=DATA_FILE_FORMAT, shacl_graph_format=SHAPES_FILE_FORMAT, inference="rdfs", From a76232fff7fceaf87460feaf059caadd82283ee5 Mon Sep 17 00:00:00 2001 From: Mark Emodi Date: Thu, 4 May 2023 09:42:13 +0200 Subject: [PATCH 095/175] Update shebang (#41) Signed-off-by: maystery Signed-off-by: Anja Strunk --- gax-cpu.py | 2 +- gx-sd-generator.py | 2 +- gx_context.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gax-cpu.py b/gax-cpu.py index d76b675..5fc62c3 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # # gax-cpu.py diff --git a/gx-sd-generator.py b/gx-sd-generator.py index b3c1dbb..46047e1 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # # gx-sd-generator.py diff --git a/gx_context.py b/gx_context.py index db26ac4..e23ccfc 100644 --- a/gx_context.py +++ b/gx_context.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # # gx-context.py From c43c276293b3eea69e5a1d41d8fdb9f43f1eb342 Mon Sep 17 00:00:00 2001 From: gorkazar7 Date: Thu, 4 May 2023 10:18:27 +0200 Subject: [PATCH 096/175] first prototype with gaiax pipeline (#42) * first prototype with gaiax pipeline Signed-off-by: Gorka Zarate * adding gaiax-pipeline to Readme Signed-off-by: Gorka Zarate --------- Signed-off-by: Gorka Zarate Co-authored-by: Gorka Zarate Signed-off-by: Anja Strunk --- .gitignore | 5 +++ README.md | 7 ++++ devops/.env | 21 +++++++++++ devops/dags/gaiax-pipeline.py | 33 +++++++++++++++++ devops/docker-compose.yml | 69 +++++++++++++++++++++++++++++++++++ 5 files changed, 135 insertions(+) create mode 100644 .gitignore create mode 100755 devops/.env create mode 100755 devops/dags/gaiax-pipeline.py create mode 100755 devops/docker-compose.yml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6df2777 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +.idea +venv/ +__pycache__/ +devops/logs/ +devops/plugins/ \ No newline at end of file diff --git a/README.md b/README.md index e8e26b8..1282b14 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,13 @@ pip install -r requirements.txt ./gx-sd-generator.py --gaia-x --os-cloud= ``` +4. Start the gaiax-pipeline +- To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder +``` +cd devops +docker-compose up -d +``` + ## Simple SelfDescription validator Generated SelfDescriptions could be validated against their schemas (shapes) by the diff --git a/devops/.env b/devops/.env new file mode 100755 index 0000000..52b14b1 --- /dev/null +++ b/devops/.env @@ -0,0 +1,21 @@ +# Meta-Database +POSTGRES_USER=airflow +POSTGRES_PASSWORD=airflow +POSTGRES_DB=airflow + +# Airflow Core +AIRFLOW__CORE__FERNET_KEY=xxx +AIRFLOW__CORE__EXECUTOR=LocalExecutor +AIRFLOW__CORE__DAGS_ARE_PAUSED_AT_CREATION=True +AIRFLOW__CORE__LOAD_EXAMPLES=False +AIRFLOW_UID=0 + +# Backend DB +AIRFLOW__DATABASE__SQL_ALCHEMY_CONN=postgresql+psycopg2://airflow:airflow@postgres/airflow +AIRFLOW__DATABASE__LOAD_DEFAULT_CONNECTIONS=False + +# Airflow Init +_AIRFLOW_DB_UPGRADE=True +_AIRFLOW_WWW_USER_CREATE=True +_AIRFLOW_WWW_USER_USERNAME=airflow +_AIRFLOW_WWW_USER_PASSWORD=airflow diff --git a/devops/dags/gaiax-pipeline.py b/devops/dags/gaiax-pipeline.py new file mode 100755 index 0000000..30825be --- /dev/null +++ b/devops/dags/gaiax-pipeline.py @@ -0,0 +1,33 @@ +from datetime import timedelta +from datetime import datetime + +from airflow import DAG +from airflow.operators.python import PythonOperator +import logging + +def extract(): + logging.info("extract process") + + +default_args = { + 'owner': 'airflow', + 'depends_on_past': False, + 'email': ['airflow@example.com'], + 'email_on_failure': False, + 'email_on_retry': False, + 'retries': 6, + 'retry_delay': timedelta(minutes=30), +} + +dag = DAG('gaiax', + default_args=default_args, + description='gaiax pipeline', + start_date=datetime(2023, 5, 3), + tags=['gaiax'], + schedule_interval="0 1 * * *") # Intervalo de ejecución) + + +extract_os_task = PythonOperator(task_id="extract_os", python_callable=extract, dag=dag) + +extract_os_task +#process_task >> backup_task diff --git a/devops/docker-compose.yml b/devops/docker-compose.yml new file mode 100755 index 0000000..57f33c6 --- /dev/null +++ b/devops/docker-compose.yml @@ -0,0 +1,69 @@ +--- +version: '3.4' + +x-common: + &common + image: apache/airflow:2.3.0 + user: "${AIRFLOW_UID}:0" + env_file: + - .env + volumes: + - ./dags:/opt/airflow/dags + - ./logs:/opt/airflow/logs + - ./plugins:/opt/airflow/plugins + - /var/run/docker.sock:/var/run/docker.sock + +x-depends-on: + &depends-on + depends_on: + postgres: + condition: service_healthy + airflow-init: + condition: service_completed_successfully + +services: + postgres: + image: postgres:13 + container_name: postgres + ports: + - "5434:5432" + healthcheck: + test: ["CMD", "pg_isready", "-U", "airflow"] + interval: 5s + retries: 5 + env_file: + - .env + + scheduler: + <<: *common + <<: *depends-on + container_name: airflow-scheduler + command: scheduler + restart: on-failure + ports: + - "8793:8793" + + webserver: + <<: *common + <<: *depends-on + container_name: airflow-webserver + restart: always + command: webserver + ports: + - "8080:8080" + healthcheck: + test: ["CMD", "curl", "--fail", "http://localhost:8080/health"] + interval: 30s + timeout: 30s + retries: 5 + + airflow-init: + <<: *common + container_name: airflow-init + entrypoint: /bin/bash + command: + - -c + - | + mkdir -p /sources/logs /sources/dags /sources/plugins + chown -R "${AIRFLOW_UID}:0" /sources/{logs,dags,plugins} + exec /entrypoint airflow version \ No newline at end of file From 1ec9978e137833876c3c61bea77543313c89a473 Mon Sep 17 00:00:00 2001 From: Juan Date: Thu, 4 May 2023 10:56:35 +0200 Subject: [PATCH 097/175] Added timestamp and file extension to the file name when output is file (#43) * Added timestamp and file extension to the file name when output is file * Remove (now) duplicate time import. * Changes output extension from yamlld to yaml and add examples of output to results folder * Changes output extension from jsonld to json * descriptor file example updated from jsonld extension to json * Mention that we attach timestamp and ext in help. Signed-off-by: Juan Lopez de Armentia Signed-off-by: Kurt Garloff Co-authored-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx-sd-generator.py | 19 +- results/osdescriptor_1683188130.json | 1178 ++++++++++++++++++++++++++ results/osdescriptor_1683189352.yaml | 775 +++++++++++++++++ 3 files changed, 1967 insertions(+), 5 deletions(-) create mode 100644 results/osdescriptor_1683188130.json create mode 100644 results/osdescriptor_1683189352.yaml diff --git a/gx-sd-generator.py b/gx-sd-generator.py index 46047e1..10ae04c 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -16,9 +16,14 @@ import json import yaml import importlib + +from time import time + ostack = importlib.import_module("openstack-discovery") #k8s = importlib.import_module("k8s-discovery") + + # Global variables debug = False outjson = False @@ -59,11 +64,10 @@ def getdocsha256(url): def gxjsonldheader(): "Dict to generate JSON-LD header for Gaia-X SDs" import gx_context - import time gxsvo = "gx-service-offering:" jout = gx_context.gxcontext jout.update(gx_context.gxtype) - myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{int(time.time())}.json" + myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{int(time())}.json" jout["@id"] = myid provby = valtype(uriprefix + "participant.json") name = valtype("OpenStack IaaS Service " + svcname) @@ -90,7 +94,7 @@ def usage(err=1): print("Usage: gx-sd-generator.py [options]", file=sys.stderr) print("Options: -g/--gaia-x: output Gaia-X JSON-LD instead of YAML (YAML is default)") print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") - print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") + print(" -f FILE/--file=FILE: write output to FILE_time.yaml/json (default: stdout)") print(" -c CLOUD/--os-cloud=CLOUD: use OpenStack cloud CLOUD (default: $OS_CLOUD)") print(" -k KCFG/--kubeconfig=KCFG: use kubeconfig file KCFG (default: $UKBECONFIG)") print(" -K KCTX/--context=KCTX: use kubeconfig context KCTX") @@ -168,9 +172,14 @@ def main(argv): pass if mycloud: if ofile == "/dev/stdout": - print(output(mycloud, myk8s), file=sys.stdout) + print(output(mycloud), file=sys.stdout) else: - print(output(mycloud, myk8s), file=open(ofile, 'a', encoding="UTF-8")) + # When output is file type, timestamp and file extension is added to the file name + if ostack.outjson: + file_name = f'{ofile}_{int(time())}.json' + else: + file_name = f'{ofile}_{int(time())}.yaml' + print(output(mycloud), file=open(file_name, 'a', encoding="UTF-8")) if __name__ == "__main__": diff --git a/results/osdescriptor_1683188130.json b/results/osdescriptor_1683188130.json new file mode 100644 index 0000000..6f2d229 --- /dev/null +++ b/results/osdescriptor_1683188130.json @@ -0,0 +1,1178 @@ +{ + "@context": [ + "http://www.w3.org/ns/shacl#", + "http://www.w3.org/2001/XMLSchema#", + "http://w3id.org/gaia-x/resource#", + "http://w3id.org/gaia-x/participant#", + "http://w3id.org/gaia-x/service-offering#" + ], + "@type": [ + "VerifiableCredential", + "ServiceOfferingExperimental" + ], + "@id": "https://scs.community/sd/gxserviceIaaSOfferingOpenStack-test-1683188130.json", + "credentialSubject": { + "id": "https://scs.community/sd/gxserviceIaaSOfferingOpenStack-test-1683188130.json", + "gx-service-offering:providedBy": { + "@value": "https://scs.community/sd/participant.json", + "@type": "xsd:string" + }, + "gx-service-offering:name": { + "@value": "OpenStack IaaS Service SCS Test", + "@type": "xsd:string" + }, + "gx-service-offering:webAddress": { + "@value": "https://scs.community/sd/", + "@type": "xsd:anyURI" + }, + "gx-service-offering:TermsAndConditions": { + "gx-service-offering:url": { + "@value": "https://scs.community/sd/terms.pdf", + "@type": "xsd:string" + }, + "gx-service-offering:hash": { + "@value": "0e8c5aa80b7d2bf06b1ec42399c56d30424872333001708c958e0b863c34a758", + "@type": "xsd:string" + } + }, + "gx-service-offering:SDAutoGeneratedBy": "https://github.com/SovereignCloudStack/gx-self-description-generator/", + "gxsvo+OpenStackService": { + "regions": [ + "RegionOne" + ], + "auth_url": { + "@value": "https://api.gx-scs.sovereignit.cloud:5000", + "@type": "xsd:anyURI" + }, + "RegionOne": { + "identity": { + "name": "keystone", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:5000", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "3.14", + "url": "https://api.gx-scs.sovereignit.cloud:5000/v3/", + "status": "CURRENT" + } + ] + }, + "dns": { + "name": "designate", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:9001/v2", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "2.0", + "url": "https://api.gx-scs.sovereignit.cloud:9001/v2", + "status": "SUPPORTED" + }, + { + "version": "2.0", + "url": "https://api.gx-scs.sovereignit.cloud:9001/v2", + "status": "CURRENT" + } + ] + }, + "key_manager": { + "name": "barbican", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:9311/v1/", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "1.0", + "url": "https://api.gx-scs.sovereignit.cloud:9311/v1/", + "status": "CURRENT" + } + ] + }, + "object_store": { + "name": "swift", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:8080/swift/v1/AUTH_${OS_PROJECT_ID}", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "1.0", + "url": "https://api.gx-scs.sovereignit.cloud:8080/swift/v1/", + "status": "CURRENT" + } + ] + }, + "network": { + "name": "neutron", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:9696", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "2.0", + "url": "https://api.gx-scs.sovereignit.cloud:9696/v2.0/", + "status": "CURRENT" + } + ], + "extensions": [ + "address-group", + "address-scope", + "agent", + "allowed-address-pairs", + "auto-allocated-topology", + "availability_zone", + "default-subnetpools", + "dns-integration", + "dns-domain-ports", + "dns-integration-domain-keywords", + "expose-port-forwarding-in-fip", + "external-net", + "extra_dhcp_opt", + "extraroute", + "filter-validation", + "floating-ip-port-forwarding-description", + "floating-ip-port-forwarding-detail", + "floating-ip-port-forwarding-port-ranges", + "fip-port-details", + "flavors", + "floating-ip-port-forwarding", + "floatingip-pools", + "router", + "ext-gw-mode", + "multi-provider", + "net-mtu", + "net-mtu-writable", + "network_availability_zone", + "network-ip-availability", + "pagination", + "port-device-profile", + "port-mac-address-regenerate", + "port-numa-affinity-policy", + "port-resource-request", + "port-resource-request-groups", + "binding", + "binding-extended", + "port-security", + "project-id", + "provider", + "qos", + "qos-bw-limit-direction", + "qos-bw-minimum-ingress", + "qos-default", + "qos-fip", + "qos-gateway-ip", + "qos-port-network-policy", + "qos-pps-minimum", + "qos-pps-minimum-rule-alias", + "qos-pps", + "qos-rule-type-details", + "qos-rule-type-filter", + "qos-rules-alias", + "quota-check-limit", + "quotas", + "quota_details", + "rbac-policies", + "rbac-address-scope", + "rbac-security-groups", + "revision-if-match", + "standard-attr-revisions", + "router_availability_zone", + "security-groups-normalized-cidr", + "security-groups-remote-address-group", + "security-groups-shared-filtering", + "security-group", + "service-type", + "sorting", + "standard-attr-description", + "stateful-security-group", + "subnet-dns-publish-fixed-ip", + "subnet-service-types", + "subnet_allocation", + "standard-attr-tag", + "standard-attr-timestamp" + ], + "availability_zones": [ + "nova" + ] + }, + "volume": { + "name": "cinderv3", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:8776/v3/${OS_PROJECT_ID}", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "3.0", + "url": "https://api.gx-scs.sovereignit.cloud:8776/v3/", + "status": "CURRENT", + "min_microversion": "3.0", + "max_microversion": "3.70" + } + ], + "extensions": [ + "os-volume-transfer", + "backups", + "encryption", + "scheduler-stats", + "OS-SCH-HNT", + "cgsnapshots", + "qos-specs", + "os-vol-tenant-attr", + "os-quota-sets", + "os-snapshot-unmanage", + "os-extended-snapshot-attributes", + "os-admin-actions", + "os-snapshot-actions", + "os-extended-services", + "os-vol-host-attr", + "os-types-extra-specs", + "os-volume-unmanage", + "os-quota-class-sets", + "os-volume-encryption-metadata", + "os-vol-mig-status-attr", + "capabilities", + "os-volume-actions", + "os-services", + "os-types-manage", + "os-volume-type-access", + "os-used-limits", + "os-hosts", + "os-snapshot-manage", + "os-vol-image-meta", + "os-availability-zone", + "os-volume-manage", + "consistencygroups" + ], + "availability_zones": [ + "nova" + ], + "volume_types": [ + { + "name": "LUKS", + "public": true + }, + { + "name": "__DEFAULT__", + "public": true + } + ] + }, + "compute": { + "name": "nova", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:8774/v2.1", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "2.1", + "url": "https://api.gx-scs.sovereignit.cloud:8774/v2.1/", + "status": "CURRENT", + "min_microversion": "2.1", + "max_microversion": "2.93" + }, + { + "version": "2.0", + "url": "https://api.gx-scs.sovereignit.cloud:8774/v2/", + "status": "SUPPORTED" + } + ], + "extensions": [ + "NMN", + "OS-DCF", + "OS-EXT-AZ", + "OS-EXT-IMG-SIZE", + "OS-EXT-IPS", + "OS-EXT-IPS-MAC", + "OS-EXT-SRV-ATTR", + "OS-EXT-STS", + "OS-FLV-DISABLED", + "OS-FLV-EXT-DATA", + "OS-SCH-HNT", + "OS-SRV-USG", + "os-access-ips", + "os-admin-actions", + "os-admin-password", + "os-agents", + "os-aggregates", + "os-assisted-volume-snapshots", + "os-attach-interfaces", + "os-availability-zone", + "os-baremetal-ext-status", + "os-baremetal-nodes", + "os-block-device-mapping", + "os-block-device-mapping-v2-boot", + "os-cell-capacities", + "os-cells", + "os-certificates", + "os-cloudpipe", + "os-cloudpipe-update", + "os-config-drive", + "os-console-auth-tokens", + "os-console-output", + "os-consoles", + "os-create-backup", + "os-create-server-ext", + "os-deferred-delete", + "os-evacuate", + "os-extended-evacuate-find-host", + "os-extended-floating-ips", + "os-extended-hypervisors", + "os-extended-networks", + "os-extended-quotas", + "os-extended-rescue-with-image", + "os-extended-services", + "os-extended-services-delete", + "os-extended-status", + "os-extended-volumes", + "os-fixed-ips", + "os-flavor-access", + "os-flavor-extra-specs", + "os-flavor-manage", + "os-flavor-rxtx", + "os-flavor-swap", + "os-floating-ip-dns", + "os-floating-ip-pools", + "os-floating-ips", + "os-floating-ips-bulk", + "os-fping", + "os-hide-server-addresses", + "os-hosts", + "os-hypervisor-status", + "os-hypervisors", + "os-instance-actions", + "os-instance_usage_audit_log", + "os-keypairs", + "os-lock-server", + "os-migrate-server", + "os-migrations", + "os-multiple-create", + "os-networks", + "os-networks-associate", + "os-pause-server", + "os-personality", + "os-preserve-ephemeral-rebuild", + "os-quota-class-sets", + "os-quota-sets", + "os-rescue", + "os-security-group-default-rules", + "os-security-groups", + "os-server-diagnostics", + "os-server-external-events", + "os-server-group-quotas", + "os-server-groups", + "os-server-list-multi-status", + "os-server-password", + "os-server-sort-keys", + "os-server-start-stop", + "os-services", + "os-shelve", + "os-simple-tenant-usage", + "os-suspend-server", + "os-tenant-networks", + "os-used-limits", + "os-used-limits-for-admin", + "os-user-data", + "os-user-quotas", + "os-virtual-interfaces", + "os-volume-attachment-update", + "os-volumes" + ], + "availability_zones": [ + "nova" + ], + "flavors": [ + { + "name": "SCS-1V:8", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-4V:16:50", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 50, + "Unit": "GB" + } + }, + { + "name": "SCS-1V:4:10", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 4.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 10, + "Unit": "GB" + } + }, + { + "name": "SCS-16V:32", + "numberOfvCPUs": 16, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-4V:8:100", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-4V:32:100", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-1V:8:20", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + }, + { + "name": "SCS-8V:32:100", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-1V:1", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 1.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-1V:2:5", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 2.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 5, + "Unit": "GB" + } + }, + { + "name": "SCS-4V:32", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-1V:4", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 4.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-1V:0.5:20", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 0.5, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:4:100", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 4.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-8V:8:100", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:16", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-8V:32:50", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 50, + "Unit": "GB" + } + }, + { + "name": "SCS-8V:16", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-4V:16", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-1V:2", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 2.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-8V:16:50", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 50, + "Unit": "GB" + } + }, + { + "name": "SCS-1V:1:20", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 1.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + }, + { + "name": "SCS-4V:8:50", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 50, + "Unit": "GB" + } + }, + { + "name": "SCS-4V:32:50", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 50, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:4:50", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 4.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 50, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:2:20", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 2.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:2", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 2.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-1V:0.5", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 0.5, + "Unit": "GiB" + } + }, + { + "name": "SCS-1L:1:5", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 1.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 5, + "Unit": "GB" + } + }, + { + "name": "SCS-8V:32", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-2V:8", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-16V:64:100", + "numberOfvCPUs": 16, + "ramSize": { + "Value": 64.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:8:20", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:4", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 4.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-16V:32:100", + "numberOfvCPUs": 16, + "ramSize": { + "Value": 32.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:16:50", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 50, + "Unit": "GB" + } + }, + { + "name": "SCS-4V:8", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-2V:4:20", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 4.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + }, + { + "name": "SCS-1V:1:10", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 1.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 10, + "Unit": "GB" + } + }, + { + "name": "SCS-1L:1", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 1.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-4V:8:20", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + }, + { + "name": "SCS-8V:16:100", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-4V:16:100", + "numberOfvCPUs": 4, + "ramSize": { + "Value": 16.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:8:100", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 100, + "Unit": "GB" + } + }, + { + "name": "SCS-2V:4:10", + "numberOfvCPUs": 2, + "ramSize": { + "Value": 4.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 10, + "Unit": "GB" + } + }, + { + "name": "SCS-16V:64", + "numberOfvCPUs": 16, + "ramSize": { + "Value": 64.0, + "Unit": "GiB" + } + }, + { + "name": "SCS-8V:8", + "numberOfvCPUs": 8, + "ramSize": { + "Value": 8.0, + "Unit": "GiB" + } + }, + { + "name": "octavia", + "numberOfvCPUs": 1, + "ramSize": { + "Value": 1.0, + "Unit": "GiB" + }, + "diskSize": { + "Value": 20, + "Unit": "GB" + } + } + ] + }, + "placement": { + "name": "placement", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:8780/", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "1.0", + "url": "https://api.gx-scs.sovereignit.cloud:8780/", + "status": "CURRENT", + "min_microversion": "1.0", + "max_microversion": "1.39" + } + ] + }, + "image": { + "name": "glance", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "2.0", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.1", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.2", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.3", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.4", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.5", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.6", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.7", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.8", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.9", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.10", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.11", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.12", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.13", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "SUPPORTED" + }, + { + "version": "2.15", + "url": "https://api.gx-scs.sovereignit.cloud:9292/v2/", + "status": "CURRENT" + } + ] + }, + "load_balancer": { + "name": "octavia", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:9876/v2.0", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "2.0", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.1", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.2", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.3", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.4", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.5", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.6", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.7", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.8", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.9", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.10", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.11", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.12", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.13", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.14", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.15", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.16", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.17", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.18", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.19", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.20", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.21", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.22", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.23", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.24", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.25", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "SUPPORTED" + }, + { + "version": "2.26", + "url": "https://api.gx-scs.sovereignit.cloud:9876/v2", + "status": "CURRENT" + } + ], + "flavors": [ + { + "name": "amphora", + "description": "Active Passive" + } + ] + }, + "orchestration": { + "name": "heat", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:8004/v1/${OS_PROJECT_ID}", + "@type": "xsd:anyURI" + }, + "versions": [ + { + "version": "1.0", + "url": "https://api.gx-scs.sovereignit.cloud:8004/v1/", + "status": "CURRENT" + } + ] + }, + "compute_legacy": { + "name": "nova_legacy", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:8774/v2/${OS_PROJECT_ID}", + "@type": "xsd:anyURI" + } + }, + "cloudformation": { + "name": "heat-cfn", + "endpoint": { + "@value": "https://api.gx-scs.sovereignit.cloud:8000/v1", + "@type": "xsd:anyURI" + } + } + } + } + } +} diff --git a/results/osdescriptor_1683189352.yaml b/results/osdescriptor_1683189352.yaml new file mode 100644 index 0000000..93efbec --- /dev/null +++ b/results/osdescriptor_1683189352.yaml @@ -0,0 +1,775 @@ +openstack: + RegionOne: + cloudformation: + endpoint: https://api.gx-scs.sovereignit.cloud:8000/v1 + name: heat-cfn + compute: + availability_zones: + - nova + endpoint: https://api.gx-scs.sovereignit.cloud:8774/v2.1 + extensions: + - NMN + - OS-DCF + - OS-EXT-AZ + - OS-EXT-IMG-SIZE + - OS-EXT-IPS + - OS-EXT-IPS-MAC + - OS-EXT-SRV-ATTR + - OS-EXT-STS + - OS-FLV-DISABLED + - OS-FLV-EXT-DATA + - OS-SCH-HNT + - OS-SRV-USG + - os-access-ips + - os-admin-actions + - os-admin-password + - os-agents + - os-aggregates + - os-assisted-volume-snapshots + - os-attach-interfaces + - os-availability-zone + - os-baremetal-ext-status + - os-baremetal-nodes + - os-block-device-mapping + - os-block-device-mapping-v2-boot + - os-cell-capacities + - os-cells + - os-certificates + - os-cloudpipe + - os-cloudpipe-update + - os-config-drive + - os-console-auth-tokens + - os-console-output + - os-consoles + - os-create-backup + - os-create-server-ext + - os-deferred-delete + - os-evacuate + - os-extended-evacuate-find-host + - os-extended-floating-ips + - os-extended-hypervisors + - os-extended-networks + - os-extended-quotas + - os-extended-rescue-with-image + - os-extended-services + - os-extended-services-delete + - os-extended-status + - os-extended-volumes + - os-fixed-ips + - os-flavor-access + - os-flavor-extra-specs + - os-flavor-manage + - os-flavor-rxtx + - os-flavor-swap + - os-floating-ip-dns + - os-floating-ip-pools + - os-floating-ips + - os-floating-ips-bulk + - os-fping + - os-hide-server-addresses + - os-hosts + - os-hypervisor-status + - os-hypervisors + - os-instance-actions + - os-instance_usage_audit_log + - os-keypairs + - os-lock-server + - os-migrate-server + - os-migrations + - os-multiple-create + - os-networks + - os-networks-associate + - os-pause-server + - os-personality + - os-preserve-ephemeral-rebuild + - os-quota-class-sets + - os-quota-sets + - os-rescue + - os-security-group-default-rules + - os-security-groups + - os-server-diagnostics + - os-server-external-events + - os-server-group-quotas + - os-server-groups + - os-server-list-multi-status + - os-server-password + - os-server-sort-keys + - os-server-start-stop + - os-services + - os-shelve + - os-simple-tenant-usage + - os-suspend-server + - os-tenant-networks + - os-used-limits + - os-used-limits-for-admin + - os-user-data + - os-user-quotas + - os-virtual-interfaces + - os-volume-attachment-update + - os-volumes + flavors: + - name: SCS-1V:8 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 50 + name: SCS-4V:16:50 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 16.0 + - diskSize: + Unit: GB + Value: 10 + name: SCS-1V:4:10 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 4.0 + - name: SCS-16V:32 + numberOfvCPUs: 16 + ramSize: + Unit: GiB + Value: 32.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-4V:8:100 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-4V:32:100 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 32.0 + - diskSize: + Unit: GB + Value: 20 + name: SCS-1V:8:20 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-8V:32:100 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 32.0 + - name: SCS-1V:1 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 1.0 + - diskSize: + Unit: GB + Value: 5 + name: SCS-1V:2:5 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 2.0 + - name: SCS-4V:32 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 32.0 + - name: SCS-1V:4 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 4.0 + - diskSize: + Unit: GB + Value: 20 + name: SCS-1V:0.5:20 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 0.5 + - diskSize: + Unit: GB + Value: 100 + name: SCS-2V:4:100 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 4.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-8V:8:100 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 8.0 + - name: SCS-2V:16 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 16.0 + - diskSize: + Unit: GB + Value: 50 + name: SCS-8V:32:50 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 32.0 + - name: SCS-8V:16 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 16.0 + - name: SCS-4V:16 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 16.0 + - name: SCS-1V:2 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 2.0 + - diskSize: + Unit: GB + Value: 50 + name: SCS-8V:16:50 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 16.0 + - diskSize: + Unit: GB + Value: 20 + name: SCS-1V:1:20 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 1.0 + - diskSize: + Unit: GB + Value: 50 + name: SCS-4V:8:50 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 50 + name: SCS-4V:32:50 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 32.0 + - diskSize: + Unit: GB + Value: 50 + name: SCS-2V:4:50 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 4.0 + - diskSize: + Unit: GB + Value: 20 + name: SCS-2V:2:20 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 2.0 + - name: SCS-2V:2 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 2.0 + - name: SCS-1V:0.5 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 0.5 + - diskSize: + Unit: GB + Value: 5 + name: SCS-1L:1:5 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 1.0 + - name: SCS-8V:32 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 32.0 + - name: SCS-2V:8 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-16V:64:100 + numberOfvCPUs: 16 + ramSize: + Unit: GiB + Value: 64.0 + - diskSize: + Unit: GB + Value: 20 + name: SCS-2V:8:20 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 8.0 + - name: SCS-2V:4 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 4.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-16V:32:100 + numberOfvCPUs: 16 + ramSize: + Unit: GiB + Value: 32.0 + - diskSize: + Unit: GB + Value: 50 + name: SCS-2V:16:50 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 16.0 + - name: SCS-4V:8 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 20 + name: SCS-2V:4:20 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 4.0 + - diskSize: + Unit: GB + Value: 10 + name: SCS-1V:1:10 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 1.0 + - name: SCS-1L:1 + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 1.0 + - diskSize: + Unit: GB + Value: 20 + name: SCS-4V:8:20 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-8V:16:100 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 16.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-4V:16:100 + numberOfvCPUs: 4 + ramSize: + Unit: GiB + Value: 16.0 + - diskSize: + Unit: GB + Value: 100 + name: SCS-2V:8:100 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 10 + name: SCS-2V:4:10 + numberOfvCPUs: 2 + ramSize: + Unit: GiB + Value: 4.0 + - name: SCS-16V:64 + numberOfvCPUs: 16 + ramSize: + Unit: GiB + Value: 64.0 + - name: SCS-8V:8 + numberOfvCPUs: 8 + ramSize: + Unit: GiB + Value: 8.0 + - diskSize: + Unit: GB + Value: 20 + name: octavia + numberOfvCPUs: 1 + ramSize: + Unit: GiB + Value: 1.0 + name: nova + versions: + - max_microversion: '2.93' + min_microversion: '2.1' + status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:8774/v2.1/ + version: '2.1' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:8774/v2/ + version: '2.0' + compute_legacy: + endpoint: https://api.gx-scs.sovereignit.cloud:8774/v2/${OS_PROJECT_ID} + name: nova_legacy + dns: + endpoint: https://api.gx-scs.sovereignit.cloud:9001/v2 + name: designate + versions: + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9001/v2 + version: '2.0' + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:9001/v2 + version: '2.0' + identity: + endpoint: https://api.gx-scs.sovereignit.cloud:5000 + name: keystone + versions: + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:5000/v3/ + version: '3.14' + image: + endpoint: https://api.gx-scs.sovereignit.cloud:9292/v2/ + name: glance + versions: + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.0' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.1' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.2' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.3' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.4' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.5' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.6' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.7' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.8' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.9' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.10' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.11' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.12' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.13' + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:9292/v2/ + version: '2.15' + key_manager: + endpoint: https://api.gx-scs.sovereignit.cloud:9311/v1/ + name: barbican + versions: + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:9311/v1/ + version: '1.0' + load_balancer: + endpoint: https://api.gx-scs.sovereignit.cloud:9876/v2.0 + flavors: + - description: Active Passive + name: amphora + name: octavia + versions: + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.0' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.1' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.2' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.3' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.4' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.5' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.6' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.7' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.8' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.9' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.10' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.11' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.12' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.13' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.14' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.15' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.16' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.17' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.18' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.19' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.20' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.21' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.22' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.23' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.24' + - status: SUPPORTED + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.25' + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:9876/v2 + version: '2.26' + network: + availability_zones: + - nova + endpoint: https://api.gx-scs.sovereignit.cloud:9696 + extensions: + - address-group + - address-scope + - agent + - allowed-address-pairs + - auto-allocated-topology + - availability_zone + - default-subnetpools + - dns-integration + - dns-domain-ports + - dns-integration-domain-keywords + - expose-port-forwarding-in-fip + - external-net + - extra_dhcp_opt + - extraroute + - filter-validation + - floating-ip-port-forwarding-description + - floating-ip-port-forwarding-detail + - floating-ip-port-forwarding-port-ranges + - fip-port-details + - flavors + - floating-ip-port-forwarding + - floatingip-pools + - router + - ext-gw-mode + - multi-provider + - net-mtu + - net-mtu-writable + - network_availability_zone + - network-ip-availability + - pagination + - port-device-profile + - port-mac-address-regenerate + - port-numa-affinity-policy + - port-resource-request + - port-resource-request-groups + - binding + - binding-extended + - port-security + - project-id + - provider + - qos + - qos-bw-limit-direction + - qos-bw-minimum-ingress + - qos-default + - qos-fip + - qos-gateway-ip + - qos-port-network-policy + - qos-pps-minimum + - qos-pps-minimum-rule-alias + - qos-pps + - qos-rule-type-details + - qos-rule-type-filter + - qos-rules-alias + - quota-check-limit + - quotas + - quota_details + - rbac-policies + - rbac-address-scope + - rbac-security-groups + - revision-if-match + - standard-attr-revisions + - router_availability_zone + - security-groups-normalized-cidr + - security-groups-remote-address-group + - security-groups-shared-filtering + - security-group + - service-type + - sorting + - standard-attr-description + - stateful-security-group + - subnet-dns-publish-fixed-ip + - subnet-service-types + - subnet_allocation + - standard-attr-tag + - standard-attr-timestamp + name: neutron + versions: + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:9696/v2.0/ + version: '2.0' + object_store: + endpoint: https://api.gx-scs.sovereignit.cloud:8080/swift/v1/AUTH_${OS_PROJECT_ID} + name: swift + versions: + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:8080/swift/v1/ + version: '1.0' + orchestration: + endpoint: https://api.gx-scs.sovereignit.cloud:8004/v1/${OS_PROJECT_ID} + name: heat + versions: + - status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:8004/v1/ + version: '1.0' + placement: + endpoint: https://api.gx-scs.sovereignit.cloud:8780/ + name: placement + versions: + - max_microversion: '1.39' + min_microversion: '1.0' + status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:8780/ + version: '1.0' + volume: + availability_zones: + - nova + endpoint: https://api.gx-scs.sovereignit.cloud:8776/v3/${OS_PROJECT_ID} + extensions: + - os-volume-transfer + - backups + - encryption + - scheduler-stats + - OS-SCH-HNT + - cgsnapshots + - qos-specs + - os-vol-tenant-attr + - os-quota-sets + - os-snapshot-unmanage + - os-extended-snapshot-attributes + - os-admin-actions + - os-snapshot-actions + - os-extended-services + - os-vol-host-attr + - os-types-extra-specs + - os-volume-unmanage + - os-quota-class-sets + - os-volume-encryption-metadata + - os-vol-mig-status-attr + - capabilities + - os-volume-actions + - os-services + - os-types-manage + - os-volume-type-access + - os-used-limits + - os-hosts + - os-snapshot-manage + - os-vol-image-meta + - os-availability-zone + - os-volume-manage + - consistencygroups + name: cinderv3 + versions: + - max_microversion: '3.70' + min_microversion: '3.0' + status: CURRENT + url: https://api.gx-scs.sovereignit.cloud:8776/v3/ + version: '3.0' + volume_types: + - name: LUKS + public: true + - name: __DEFAULT__ + public: true + auth_url: https://api.gx-scs.sovereignit.cloud:5000 + regions: + - RegionOne + From 1292ebd3bf0e7d49ad2b02ed269b246af4b5aa64 Mon Sep 17 00:00:00 2001 From: Juan Date: Thu, 4 May 2023 11:16:31 +0200 Subject: [PATCH 098/175] Feature/generator output (#44) * Info about timestamp and ext added to readme Signed-off-by: Juan Lopez de Armentia Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1282b14..62c91db 100644 --- a/README.md +++ b/README.md @@ -75,10 +75,14 @@ pip install -r requirements.txt 3. Generate Gaia-X Self-Descriptions - - OpenStack (script assumes OpenStack access (as normal tenant user) + - OpenStack to stdout (script assumes OpenStack access (as normal tenant user) ```bash ./gx-sd-generator.py --gaia-x --os-cloud= ``` + - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + ```bash + ./gx-sd-generator.py --gaia-x --os-cloud= --file= + ``` 4. Start the gaiax-pipeline - To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder From 23c4a808950d34ad55f6fe4b44f70c646b193f8d Mon Sep 17 00:00:00 2001 From: Roman Hros Date: Thu, 4 May 2023 12:11:39 +0200 Subject: [PATCH 099/175] Modify SD generation, so it is compliant with latest gaia-x shapes (#45) It can be verified as follows: 1. generate SD: ./gx-sd-generator.py --gaia-x --file sd.json 2. verify SD: ./sd/validate.py sd.json sd/gx_shapes_latest.ttl Signed-off-by: Roman Hros Signed-off-by: Kurt Garloff Co-authored-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx-sd-generator.py | 78 ++++++++++++++++++++++++++++++++++++---------- gx_context.py | 15 ++++----- 2 files changed, 67 insertions(+), 26 deletions(-) diff --git a/gx-sd-generator.py b/gx-sd-generator.py index 10ae04c..ba620bb 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -32,6 +32,8 @@ uriprefix = "https://scs.community/sd/" gxid = "test" svcname = "SCS Test" +gxsvo = "gx:" +policy = "IaaS Test" def valtype(val, typ='xsd:string'): @@ -56,37 +58,79 @@ def getdocsha512(url): def getdocsha256(url): - "Calculate SHA512 from terms document at URL" + "Calculate SHA256 from terms document at URL" import hashlib return getdocshash(url, hashlib.sha256) +def gettandc(): + "Generate Terms and Conditions structure" + return { + "@type": gxsvo + "SOTermsAndConditions", + gxsvo + "URL": valtype(uriprefix + "terms.pdf"), + gxsvo + "hash": getdocsha256(uriprefix + "terms.pdf") + } + + +def getdae(): + "Generate dataAccountExport structure" + return { + "@type": gxsvo + "dataAccountExport", + gxsvo + "requestType": "API", + gxsvo + "accessType": "digital", + gxsvo + "formatType": "application/json" + } + + +def getprovby(): + "Generate providedBy structure" + # import requests + # req = requests.get(uriprefix + "participant.json") + # req.raise_for_status() + # return req.json()["selfDescriptionCredential"]["credentialSubject"] + return { + "@id": "https://scs.community/LegalPerson-khnps661nnlgghoq4is18", + "@type": gxsvo + "LegalParticipant", + gxsvo + "legalAddress": { + "@type": gxsvo + "legalAddress", + gxsvo + "countrySubdivisionCode": valtype("DE-BE") + }, + gxsvo + "headquarterAddress": { + "@type": gxsvo + "legalAddress", + gxsvo + "countrySubdivisionCode": valtype("DE-BE") + }, + gxsvo + "legalRegistrationNumber": { + "@type": gxsvo + "legalRegistrationNumber", + # At least one of taxID, vatID, EUID, EORI or leiCode must be defined. + gxsvo + "leiCode": valtype("123"), + gxsvo + "vatID": valtype("123"), + gxsvo + "EORI": valtype("123"), + gxsvo + "EUID": valtype("123"), + gxsvo + "taxID": valtype("123") + } + } + + def gxjsonldheader(): "Dict to generate JSON-LD header for Gaia-X SDs" import gx_context - gxsvo = "gx-service-offering:" jout = gx_context.gxcontext jout.update(gx_context.gxtype) myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{int(time())}.json" jout["@id"] = myid - provby = valtype(uriprefix + "participant.json") name = valtype("OpenStack IaaS Service " + svcname) # svcmodel = valtype("pay per use") webadr = valtype(uriprefix, 'xsd:anyURI') - termsdoc = uriprefix + "terms.pdf" - # calc sha256 - termssha = getdocsha256(termsdoc) - tandc = {gxsvo + "url": valtype(uriprefix + "terms.pdf"), - gxsvo + "hash": valtype(termssha)} + # TODO: dependsOn # TODO: aggregationOf - jout["credentialSubject"] = { - "id": myid, - gxsvo + "providedBy": provby, - gxsvo + "name": name, - gxsvo + "webAddress": webadr, - gxsvo + "TermsAndConditions": tandc, - gxsvo + "SDAutoGeneratedBy": "https://github.com/SovereignCloudStack/gx-self-description-generator/"} + jout[gxsvo + "providedBy"] = getprovby() + jout[gxsvo + "policy"] = policy + jout[gxsvo + "name"] = name + jout[gxsvo + "webAddress"] = webadr + jout[gxsvo + "termsAndConditions"] = gettandc() + jout[gxsvo + "dataAccountExport"] = getdae() + jout[gxsvo + "SDAutoGeneratedBy"] = "https://github.com/SovereignCloudStack/gx-self-description-generator/" return jout def usage(err=1): @@ -113,9 +157,9 @@ def output(mycloud=None, myk8s=None): if outjson: dct = gxjsonldheader() if mycloud: - dct["credentialSubject"]["gxsvo+OpenStackService"] = mycloud.values() + dct[gxsvo + "OpenStackService"] = mycloud.values() if myk8s: - dct["credentialSubject"]["gxsvo+K8sClusterService"] = myk8s.values() + dct[gxsvo + "K8sClusterService"] = myk8s.values() return json.dumps(dct, indent=indent) dct = {} if mycloud: diff --git a/gx_context.py b/gx_context.py index e23ccfc..b7f2810 100644 --- a/gx_context.py +++ b/gx_context.py @@ -9,13 +9,10 @@ SPDX-License-Identifier: EPL-2.0 """ -gxcontext = {"@context": - ["http://www.w3.org/ns/shacl#", - "http://www.w3.org/2001/XMLSchema#", - "http://w3id.org/gaia-x/resource#", - "http://w3id.org/gaia-x/participant#", - "http://w3id.org/gaia-x/service-offering#"]} +gxcontext = {"@context": { + "gx": "https://https://registry.lab.gaia-x.eu//v1$/gx#", + "xsd": "http://www.w3.org/2001/XMLSchema#" + } +} -gxtype = {"@type": - ["VerifiableCredential", - "ServiceOfferingExperimental"]} +gxtype = {"@type": "gx:ServiceOffering"} From 769d873d7c605a73458a4088338b2c3dfbd05462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Raul=20Mi=C3=B1om?= Date: Thu, 4 May 2023 13:42:20 +0200 Subject: [PATCH 100/175] Adds K8s functionality for self-description generation (#47) * Adds K8s functionality for self-description generation * Cleaning the file with os code * cleans output from python class tags * Fixup permissions. Signed-off-by: Raul Minon Signed-off-by: Gorka Benguria Elguezabal Signed-off-by: Kurt Garloff Co-authored-by: Raul Minon Co-authored-by: Gorka Benguria Elguezabal Co-authored-by: Kurt Garloff Signed-off-by: Anja Strunk --- README.md | 26 ++++-- devops/.env | 0 devops/docker-compose.yml | 0 gx-sd-generator.py | 83 +++++++++++------ gx_context.py | 0 k8s-discovery.py | 190 ++++++++++++++++++++++++++++++++++++++ requirements.txt | 3 +- 7 files changed, 262 insertions(+), 40 deletions(-) mode change 100755 => 100644 devops/.env mode change 100755 => 100644 devops/docker-compose.yml mode change 100644 => 100755 gx_context.py create mode 100755 k8s-discovery.py diff --git a/README.md b/README.md index 62c91db..2984882 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,12 @@ Notes from reviewing the SD attributes: Same thing for k8s Collect information on a k8s cluster: -- API endpoint, k8s version -- number and type (flavor) of workers and control nodes -- services (CNI, CSI, registry, ingress, metrics, ...) +- Metadata +- API Version +- Nodes information +- Pods information + +## K8s as-a-Service (KaaS) offering considerations For typical k8s aaS offerings, every cluster is different, and we probably don't want to have a description for every single @@ -60,6 +63,7 @@ For KaaS, the option space really needs to be described. As of now, this can not be discovered, short of using external sources, like the IaaS SD, the list of node images (osism minio), ... + ## Quick Start Guide 1. Clone the repository into a location of your choice @@ -75,13 +79,13 @@ pip install -r requirements.txt 3. Generate Gaia-X Self-Descriptions - - OpenStack to stdout (script assumes OpenStack access (as normal tenant user) + - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) ```bash - ./gx-sd-generator.py --gaia-x --os-cloud= + ./gx-sd-generator.py --gaia-x --os-cloud= --file= ``` - - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + - K8s (script assumes K8s access) ```bash - ./gx-sd-generator.py --gaia-x --os-cloud= --file= + ./gx-sd-generator.py k8s ``` 4. Start the gaiax-pipeline @@ -113,7 +117,7 @@ required attribute and check validation result): ./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl ``` -## Status (2022-06-24) +## Status (2023-05-04) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, (micro)versions, availability zones and extensions (where supported). @@ -134,6 +138,12 @@ From an OpenStack perspective, this still incomplete. - We lack a list of public images (along with image details) - Neutron probably has a few things to detect. +During Hackathon#6, the JSON-LD was updated match the current +shapes thanks to the work from dNation. A validator was added. + +Tecnalia contributed work to characterize K8s clusters in Hackathon#6 +as well as an Airflow automation pipeline. + TODO: Create cmd line tool that does signing and interacting with the compliance service, so we can set up CI testing. diff --git a/devops/.env b/devops/.env old mode 100755 new mode 100644 diff --git a/devops/docker-compose.yml b/devops/docker-compose.yml old mode 100755 new mode 100644 diff --git a/gx-sd-generator.py b/gx-sd-generator.py index ba620bb..a10e9c0 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/usr/bin/python3 # vim: set ts=4 sw=4 et: # # gx-sd-generator.py @@ -13,16 +13,15 @@ import os import sys import getopt +import importlib import json +import sys import yaml -import importlib - from time import time +import importlib ostack = importlib.import_module("openstack-discovery") -#k8s = importlib.import_module("k8s-discovery") - - +k8s = importlib.import_module("k8s-discovery") # Global variables debug = False @@ -47,7 +46,7 @@ def getdocshash(url, hashmeth): req = requests.get(url) req.raise_for_status() # req.raw.decode_content = True - hval = hashmeth(req.content) # .text would be better for HTML + hval = hashmeth(req.content) # .text would be better for HTML return hval.hexdigest() @@ -133,22 +132,23 @@ def gxjsonldheader(): jout[gxsvo + "SDAutoGeneratedBy"] = "https://github.com/SovereignCloudStack/gx-self-description-generator/" return jout + def usage(err=1): "output help" - print("Usage: gx-sd-generator.py [options]", file=sys.stderr) + print("Usage: gx-sd-generator.py [options] [command]", file=sys.stderr) print("Options: -g/--gaia-x: output Gaia-X JSON-LD instead of YAML (YAML is default)") print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") print(" -f FILE/--file=FILE: write output to FILE_time.yaml/json (default: stdout)") print(" -c CLOUD/--os-cloud=CLOUD: use OpenStack cloud CLOUD (default: $OS_CLOUD)") - print(" -k KCFG/--kubeconfig=KCFG: use kubeconfig file KCFG (default: $UKBECONFIG)") + print(" -k KCFG/--kubeconfig=KCFG: use kubeconfig file KCFG (default: $KUBECONFIG)") print(" -K KCTX/--context=KCTX: use kubeconfig context KCTX") print(" -f FILE/--file=FILE: write output to FILE (default: stdout)") print(" -u URI/--uri=URI: use URI prefix. URI/particpant.json and URI/terms.pdf needed") print(" -n NAME/--name=NAME: use name in self description") print(" -i ID/--gxid=ID: use ID in self description") print(" -t TMO/--timeout=TMO: Timeout for the API connections/requests") - if not cloud or not kubecfg: - print("You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) + print("Command: openstack: collect OpenStack data (default)") + print(" k8s: collect Kubernetes data") sys.exit(err) @@ -166,9 +166,14 @@ def output(mycloud=None, myk8s=None): dct["openstack"] = mycloud.values() if myk8s: dct["k8sCluster"] = myk8s.values() + yaml.emitter.Emitter.process_tag = noop return yaml.dump(dct, default_flow_style=False) +def noop(self, *args, **kw): + pass + + def main(argv): "Entry point for main program" global debug, ofile, outjson, indent @@ -176,10 +181,21 @@ def main(argv): timeout = 12 mycloud = None myk8s = None + # Defaults for OpenStack and K8s + try: + ostack.cloud = os.environ["OS_CLOUD"] + except: + pass + try: + k8s.config = os.environ["KUBECONFIG"] + except: + pass + # Arg parser try: - opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:", + args: list[str] + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:k:K:", ("os-cloud=", "file=", "help", "gaia-x", "json", - "debug", "uri=", "name=", "id=", "timeout=")) + "debug", "uri=", "name=", "id=", "timeout=", "kubeconfig=", "context=")) except getopt.GetoptError: # as exc: usage(1) for opt in opts: @@ -206,26 +222,33 @@ def main(argv): outjson = True ostack.outjson = True indent = None - if args: + elif opt[0] == "-k" or opt[0] == "--kubeconfig": + k8s.config = opt[1] + elif opt[0] == "-K" or opt[0] == "--context": + k8s.context = opt[1] + + if not args or args[0] == "openstack": # default + if ostack.cloud: + conn = ostack.ostackconn(ostack.cloud, timeout) + mycloud = ostack.osCloud(conn) + elif args[0] == "k8s": + if k8s.config: + conn = k8s.kubeconn(k8s.config, k8s.context, timeout) + # conn = k8s.kubeconn(k8s.config, ctx) + myk8s = k8s.KubeCluster(conn) + else: usage(1) - if ostack.cloud: - conn = ostack.ostackconn(ostack.cloud, timeout) - mycloud = ostack.osCloud(conn) - if False and k8s.kcfg: - # Do the kubernetes things, fill in myk8s - pass - if mycloud: - if ofile == "/dev/stdout": - print(output(mycloud), file=sys.stdout) + if not mycloud and not myk8s: + usage(1) + if ofile == "/dev/stdout": + print(output(mycloud, myk8s), file=sys.stdout) + else: + if ostack.outjson: + file_name = f'{ofile}_{int(time())}.json' else: - # When output is file type, timestamp and file extension is added to the file name - if ostack.outjson: - file_name = f'{ofile}_{int(time())}.json' - else: - file_name = f'{ofile}_{int(time())}.yaml' - print(output(mycloud), file=open(file_name, 'a', encoding="UTF-8")) + file_name = f'{ofile}_{int(time())}.yaml' + print(output(mycloud, myk8s), file=open(file_name, 'a', encoding="UTF-8")) if __name__ == "__main__": main(sys.argv) - diff --git a/gx_context.py b/gx_context.py old mode 100644 new mode 100755 diff --git a/k8s-discovery.py b/k8s-discovery.py new file mode 100755 index 0000000..b233bfe --- /dev/null +++ b/k8s-discovery.py @@ -0,0 +1,190 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# k8s-discovery.py +""" +Talk to K8s APIs to discover environment +Save discovered information in classes that reflect G-X attributes +These can then be dumped as YAML or as Gaia-X JSON-LD Self-Description. + +(c) Tecnalia: Raúl Miñón, Ana I. Torre, Gorka Benguria, Gorka Zarate, Juan López de Armentia , 3/2023 - 4/2023 +SPDX-License-Identifier: EPL-2.0 +""" +import os +import sys + +from kubernetes import client, config as cfg + +# Global variables +if "KUBECONFIG" in os.environ: + config = os.environ["KUBECONFIG"] +else: + config = "" +context = None +debug = False +outjson = False +ofile = '/dev/stdout' +indent = " " + + +class ContainerVolume: + def __init__(self, mount_path, v_name, read_only): + self.mount_path = mount_path + self.v_name = v_name + self.read_only = read_only + + +class ContainerPort: + def __init__(self, container_port, port_name, protocol, port_host_ip, host_port): + self.container_port = container_port + self.port_name = port_name + self.protocol = protocol + self.port_host_ip = port_host_ip + self.port_host_port = host_port + + +class KubeContainer: + def __init__(self, env, c_image, command, image_pull_policy, c_name, ports, volumes): + self.env = env + self.c_image = c_image + self.command = command + self.image_pull_policy = image_pull_policy + self.c_name = c_name + self.ports = ports + self.volumes = volumes + + +class KubeNodeCapacity: + + def __init__(self, cpu, ephemeral_storage, hugepages_1Gi, hugepages_2Mi, memory, pods): + self.cpu = cpu + self.ephemeral_storage = ephemeral_storage + self.hugepages_1Gi = hugepages_1Gi + self.hugepages_2Mi = hugepages_2Mi + self.memory = memory + self.pods = pods + + +class KubeNode(): + def __init__(self, hostname, internal_ip, capacity): + self.hostname = hostname + self.internal_ip = internal_ip + self.capacity = capacity + + +class KubePod: + def __init__(self, host_ip, pod_i_ps, phase, start_time, qos_class, image, image_id, name, namespace, labels, uid, + containers): + self.host_ip = host_ip + self.pod_i_ps = pod_i_ps + self.phase = phase + self.start_time = start_time + self.qos_class = qos_class + self.image = image + self.image_id = image_id + self.name = name + self.namespace = namespace + self.labels = labels + self.uid = uid + self.containers = containers + + +class KubeCluster: + "Abstraction for K8s with all its pods and nodes" + + def __init__(self, conn): + self.conn = conn + nodes = conn.list_node() + api_version = nodes.api_version + metadata = nodes.metadata + self.metadata = metadata + self.api_version = api_version + self.kube_nodes = [] + for node in nodes.items: + addresses = node.status.addresses + cap = node.status.capacity + capacity = KubeNodeCapacity(cap['cpu'], cap['ephemeral-storage'], cap['hugepages-1Gi'], + cap['hugepages-2Mi'], cap['memory'], cap['pods']) + + hostname = None + internal_ip = None + for address in addresses: + if address.type == 'Hostname': + hostname = address.address + elif address.type == 'InternalIP': + internal_ip = address.address + self.kube_nodes.append(KubeNode(hostname, internal_ip, capacity)) + pods = conn.list_pod_for_all_namespaces(watch=False) + self.kube_pods = [] + for pod in pods.items: + host_ip = pod.status.host_ip + pod_i_ps = pod.status.pod_i_ps + phase = pod.status.phase + start_time = pod.status.start_time + qos_class = pod.status.qos_class + image = pod.status.container_statuses[0].image + image_id = pod.status.container_statuses[0].image_id + name = pod.metadata.name + namespace = pod.metadata.namespace + labels = pod.metadata.labels + uid = pod.metadata.uid + containers = [] + for container in pod.spec.containers: + env = container.env + c_image = container.image + command = container.command + image_pull_policy = container.image_pull_policy + c_name = container.name + ports = [] + if container.ports: + for port in container.ports: + container_port = port.container_port + port_name = port.name + protocol = port.protocol + port_host_ip = port.host_ip + host_port = port.host_port + ports.append(ContainerPort(container_port, port_name, protocol, port_host_ip, host_port)) + volumes = [] + if container.volume_mounts: + for volume in container.volume_mounts: + mount_path = volume.mount_path + v_name = volume.name + read_only = volume.read_only + volumes.append(ContainerVolume(mount_path, v_name, read_only)) + + containers.append(KubeContainer(env, c_image, command, image_pull_policy, c_name, ports, volumes)) + + self.kube_pods.append( + KubePod(host_ip, pod_i_ps, phase, start_time, qos_class, image, image_id, name, namespace, labels, uid, + containers)) + + def values(self): + "dict representing stored data" + inner = {"kube_nodes": list(map(lambda x: x, self.kube_nodes))} + inner["kube_pods"] = {"kube_pods": list(map(lambda x: x, self.kube_pods))} + inner["api_version"] = self.api_version + inner["metadata"] = self.metadata + return inner + + +def kubeconn(config_file, context, timeout): + "Establish connection to K8s cluster" + cfg.load_kube_config(config_file=config_file, context=context) + return client.CoreV1Api() + + +def main(argv): + "Entry point for main program" + global cloud, outjson, indent + global debug, ofile + timeout = 12 + conn = kubeconn(None, None, None) + my_kube = KubeCluster(conn) + if ofile == "/dev/stdout": + print(my_kube, file=sys.stdout) + else: + print(my_kube, file=open(ofile, 'a', encoding="UTF-8")) + + +if __name__ == "__main__": + main(sys.argv) diff --git a/requirements.txt b/requirements.txt index 60a81f0..d3962ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ +kubernetes==26.1.0 openstacksdk==1.1.* PyYAML==6.* -pyshacl==0.22.* -rdflib==6.3.* From b888793c0de08f93992f7a6fff699c2d9c06b250 Mon Sep 17 00:00:00 2001 From: Mark Emodi Date: Thu, 4 May 2023 13:44:19 +0200 Subject: [PATCH 101/175] feat: Add Dockerfile and basic description (#46) Signed-off-by: maystery Signed-off-by: Kurt Garloff Co-authored-by: Kurt Garloff Signed-off-by: Anja Strunk --- .gitignore | 5 ++++- Dockerfile | 4 ++++ README.md | 23 +++++++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 Dockerfile diff --git a/.gitignore b/.gitignore index 6df2777..83df0a6 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,7 @@ venv/ __pycache__/ devops/logs/ -devops/plugins/ \ No newline at end of file +devops/plugins/ +# Make sure credentials not push to the repo +os_secret +k8s_secret diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..d1caed2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,4 @@ +FROM python:3.11 +WORKDIR app +COPY . . +RUN pip install -r requirements.txt diff --git a/README.md b/README.md index 2984882..b8cc8cd 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,29 @@ required attribute and check validation result): ./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl ``` +## Docker + +The docker environment creates a general and portable environment for the gx-sd-generator module. Before running the container, don't forget to mount your credentials for the correct path. OpenStack-related secret located under `~/.config/openstack` + +**Example codes:** + +Running the gx-sd-generator.py on an example cloud: +```docker +docker run -v ":/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + +Running the container in an interactive mode: +```docker +docker run -it -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) test bash +``` + +or you can use the following to create a temp location for the secrets: + +```shell +mkdir -p os_secret && cp secret1 /os_secret +docker run -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + ## Status (2023-05-04) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, From 3d800244561c755e428231920af109b4b4d1ce6a Mon Sep 17 00:00:00 2001 From: Roman Hros Date: Thu, 4 May 2023 13:45:51 +0200 Subject: [PATCH 102/175] Add prefix 'ex:' to the OpenStackService dict (#48) It is now compatible with Gaia-X Wizard Signed-off-by: Roman Hros Co-authored-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx-sd-generator.py | 3 ++- openstack-discovery.py | 26 +++++++++++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/gx-sd-generator.py b/gx-sd-generator.py index a10e9c0..08744cc 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -157,7 +157,8 @@ def output(mycloud=None, myk8s=None): if outjson: dct = gxjsonldheader() if mycloud: - dct[gxsvo + "OpenStackService"] = mycloud.values() + prefix = 'ex:' + dct[prefix + "OpenStackService"] = mycloud.values(prefix=prefix) if myk8s: dct[gxsvo + "K8sClusterService"] = myk8s.values() return json.dumps(dct, indent=indent) diff --git a/openstack-discovery.py b/openstack-discovery.py index 7a89bea..9e383c0 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -43,6 +43,28 @@ def appenddicts(dct1, *kwd): return dct +def add_prefix_to_dict_keys(d, prefix): + res = dict() + for key in d.keys(): + pre_key = key + if not key.startswith("@"): + pre_key = prefix + key + + if isinstance(d[key], dict): + res[pre_key] = add_prefix_to_dict_keys(d[key], prefix) + elif isinstance(d[key], list): + res_list = list() + for item in d[key]: + if isinstance(item, dict): + res_list.append(add_prefix_to_dict_keys(item, prefix)) + else: + res_list.append(item) + res[pre_key] = res_list + else: + res[pre_key] = d[key] + return res + + def versinfo(connprox, stype, region): "Get list of supported versions and microversions from OS service" vrdata = connprox.get_all_version_data(region_name=region) @@ -371,7 +393,7 @@ def __init__(self, conn): self.ostacksvc[reg] = ostacksvc # TODO: Iterate over non-consumed services (global, non-region specifc) - def values(self): + def values(self, prefix=''): "dict representing stored data" inner = {"regions": list(map(lambda x: x.id, self.regions))} if outjson: @@ -385,6 +407,8 @@ def values(self): inner[reg] = appenddicts(inner[reg], svc.values()) if outjson: inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") + if prefix: + return add_prefix_to_dict_keys(inner, prefix) return inner def __str__(self): From 6041a80d3a838c3c1522b8211dbc5e8a87505ba2 Mon Sep 17 00:00:00 2001 From: Max Wolfs Date: Fri, 5 May 2023 11:25:17 +0200 Subject: [PATCH 103/175] fix py env (#50) Signed-off-by: Anja Strunk --- gx-sd-generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gx-sd-generator.py b/gx-sd-generator.py index 08744cc..c5a46f2 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -1,4 +1,4 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # # gx-sd-generator.py From d74dbdfbdf654099e6eb0b80bda277d3a745eee2 Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 5 May 2023 17:22:33 +0200 Subject: [PATCH 104/175] Cleanup: No need for double default setting. (#49) Initializing OpenStack and K8S config environments from the environment variables OS_CLOUD and KUBECONFIG is already done by the imported openstack-discovery.py and k8s-discovery.py respectively. No need (although no harm either) to do it again. Signed-off-by: Kurt Garloff Signed-off-by: Anja Strunk --- gx-sd-generator.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/gx-sd-generator.py b/gx-sd-generator.py index c5a46f2..425d5bb 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -10,7 +10,6 @@ SPDX-License-Identifier: EPL-2.0 """ -import os import sys import getopt import importlib @@ -182,15 +181,7 @@ def main(argv): timeout = 12 mycloud = None myk8s = None - # Defaults for OpenStack and K8s - try: - ostack.cloud = os.environ["OS_CLOUD"] - except: - pass - try: - k8s.config = os.environ["KUBECONFIG"] - except: - pass + # Defaults for OpenStack and K8s are set by imports # Arg parser try: args: list[str] From 118d9e8412da00779152f2993668cff30d1fe075 Mon Sep 17 00:00:00 2001 From: Roman Hros Date: Fri, 12 May 2023 13:46:57 +0200 Subject: [PATCH 105/175] Add option to generate SD working with Gaia-X Wizard (#51) * Add option to generate SD working with Gaia-X Wizard Signed-off-by: Roman Hros * Explain why we have to adjust SD for Gaia-X Wizard Signed-off-by: Roman Hros --------- Signed-off-by: Roman Hros Signed-off-by: Anja Strunk --- README.md | 2 ++ gx-sd-generator.py | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b8cc8cd..ba487e7 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,8 @@ pip install -r requirements.txt ```bash ./gx-sd-generator.py --gaia-x --os-cloud= --file= ``` + - To use generated Gaia-X Self-Description in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option + - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard - K8s (script assumes K8s access) ```bash ./gx-sd-generator.py k8s diff --git a/gx-sd-generator.py b/gx-sd-generator.py index 425d5bb..ae5b0b5 100755 --- a/gx-sd-generator.py +++ b/gx-sd-generator.py @@ -25,6 +25,7 @@ # Global variables debug = False outjson = False +wizard = False ofile = '/dev/stdout' indent = " " uriprefix = "https://scs.community/sd/" @@ -116,6 +117,11 @@ def gxjsonldheader(): jout.update(gx_context.gxtype) myid = uriprefix + "gxserviceIaaSOfferingOpenStack-" + gxid + f"-{int(time())}.json" jout["@id"] = myid + if wizard: + del jout["@context"] + jout["id"] = jout.pop("@id") + jout["type"] = jout.pop("@type") + name = valtype("OpenStack IaaS Service " + svcname) # svcmodel = valtype("pay per use") webadr = valtype(uriprefix, 'xsd:anyURI') @@ -136,6 +142,7 @@ def usage(err=1): "output help" print("Usage: gx-sd-generator.py [options] [command]", file=sys.stderr) print("Options: -g/--gaia-x: output Gaia-X JSON-LD instead of YAML (YAML is default)") + print(" -w/--wizard: remove @context and '@' from @id and @type in generated SD to use it in Gaia-X Wizard") print(" -j/--json: output compact Gaia-X JSON-LD instead of YAML") print(" -f FILE/--file=FILE: write output to FILE_time.yaml/json (default: stdout)") print(" -c CLOUD/--os-cloud=CLOUD: use OpenStack cloud CLOUD (default: $OS_CLOUD)") @@ -176,7 +183,7 @@ def noop(self, *args, **kw): def main(argv): "Entry point for main program" - global debug, ofile, outjson, indent + global debug, ofile, outjson, indent, wizard global uriprefix, gxid, svcname timeout = 12 mycloud = None @@ -185,8 +192,8 @@ def main(argv): # Arg parser try: args: list[str] - opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgjdu:n:i:t:k:K:", - ("os-cloud=", "file=", "help", "gaia-x", "json", + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hgwjdu:n:i:t:k:K:", + ("os-cloud=", "file=", "help", "gaia-x", "wizard", "json", "debug", "uri=", "name=", "id=", "timeout=", "kubeconfig=", "context=")) except getopt.GetoptError: # as exc: usage(1) @@ -208,6 +215,8 @@ def main(argv): elif opt[0] == "-g" or opt[0] == "--gaia-x": outjson = True ostack.outjson = True + elif opt[0] == "-w" or opt[0] == "--wizard": + wizard = True elif opt[0] == "-t" or opt[0] == "--timeout": timeout = int(opt[1]) elif opt[0] == "-j" or opt[0] == "--json": From d8c8a08c29887683d961c75278ad49829308d03e Mon Sep 17 00:00:00 2001 From: Kurt Garloff Date: Fri, 19 May 2023 23:37:36 +0200 Subject: [PATCH 106/175] Feat/os lb provider (#52) * Add LB providers and external net info. * Handle failing connections to endpoints. When endpoints are unreachable (and maybe unresolvable), collecting information goes wrong. Notice and report this, but continue. Output number of errors as exit code. Fix flake8 assessment. Signed-off-by: Kurt Garloff Tested-by: @matofeder Signed-off-by: Anja Strunk --- openstack-discovery.py | 90 ++++++++++++++++++++++++++++++++---------- 1 file changed, 70 insertions(+), 20 deletions(-) diff --git a/openstack-discovery.py b/openstack-discovery.py index 9e383c0..97a19e7 100755 --- a/openstack-discovery.py +++ b/openstack-discovery.py @@ -28,6 +28,7 @@ outjson = False ofile = '/dev/stdout' indent = " " +errors = 0 def valtype(val, typ='xsd:string'): @@ -39,6 +40,7 @@ def appenddicts(dct1, *kwd): "Return dict d1 with items from kwd added" dct = dct1 for k in kwd: + assert(k is not None) dct.update(k) return dct @@ -114,6 +116,7 @@ class osService: "A generic openStack service, with a proxy connection object from SDK" def __init__(self, conn, stype, name, region, prj_id, ept, quiet=True): "c'tor for the OpenStack service to be caled by subclasses" + global errors self.fulltype = stype if stype[-2] == 'v' and stype[-1].isnumeric(): stype = stype[:-2] @@ -126,6 +129,7 @@ def __init__(self, conn, stype, name, region, prj_id, ept, quiet=True): self.versdata = None self.extensions = None self.azs = None + self.name = name try: if debug: print(f"#INFO: Creating Conn for {stype}:{name}", file=sys.stderr) @@ -135,10 +139,11 @@ def __init__(self, conn, stype, name, region, prj_id, ept, quiet=True): self.apiver = self.conn.get_api_major_version() except Exception as exc: if not quiet: - print(f"#ERROR: No service proxy of type {stype} in SDK.\n{exc}", file=sys.stderr) + print(f"#ERROR: No service proxy of type {stype} in region {region} in SDK.\n{exc}", file=sys.stderr) + errors += 1 # return if self.conn is None or (self.conn.version is None and self.apiver is None): - print(f"#WARNING: Skipping over {stype} b/c it advertizes no version", file=sys.stderr) + print(f"#WARNING: Skipping over {stype} in region {region} b/c it advertizes no version", file=sys.stderr) self.conn = None return try: @@ -150,6 +155,7 @@ def __init__(self, conn, stype, name, region, prj_id, ept, quiet=True): if self.conn: print(f"#ERROR: No endpoint found for service {self.stype} in region {region}", file=sys.stderr) + errors += 1 # raise exc self.conn = None return @@ -159,7 +165,7 @@ def __init__(self, conn, stype, name, region, prj_id, ept, quiet=True): self.extensions = list(map(lambda x: x.alias, self.conn.extensions())) except Exception as exc: if not quiet: - print(f"#WARNING: Service {self.fulltype} does not support getting extensions.\n{exc}", + print(f"#WARNING: Service {self.fulltype} in region {region} does not support getting extensions.\n{exc}", file=sys.stderr) try: self.azs = list(filter(lambda x: x.state['available'] is True, self.conn.availability_zones())) @@ -168,13 +174,22 @@ def __init__(self, conn, stype, name, region, prj_id, ept, quiet=True): self.azs = list(filter(lambda x: x.state == 'available', self.conn.availability_zones())) except Exception as exc: if not quiet: - print(f"#WARNING: Service {self.fulltype} does not support getting AZs.\n{exc}", + print(f"#WARNING: Service {self.fulltype} in region {region} does not support getting AZs.\n{exc}", file=sys.stderr) # FIXME: We are not using ept, is that right? + try: + self.conn.get('/') + # We could check for a 200, but even if a 'GET /' did not succeed, we could establish a conn + except Exception: # as exc: + print(f"#ERROR: Service {self.name} in region {region}: Could not connect to {self.ep}", file=sys.stderr) + self.conn = None + # Will not normally be seen: + self.ep = "ERROR: " + self.ep + errors += 1 def values(self): "return dict representing stored values" - dct = {self.stype: {"name": self.conn.service_name, + dct = {self.stype: {"name": self.name, "endpoint": self.ep, # "region": self.region, "versions": self.versdata}} @@ -221,11 +236,15 @@ class osCompute(osService): # def __init__(self, conn, region="RegionOne"): def __init__(self, conn, stype, name, region, prj_id, ept): super().__init__(conn, stype, name, region, prj_id, ept, False) + if not self.conn: + self.flavors = None + return self.flavors = self.get_openstack_flavors() def values(self): dct = super().values() - dct[self.stype]["flavors"] = self.flavors + if self.flavors: + dct[self.stype]["flavors"] = self.flavors return dct def get_openstack_flavors(self): @@ -258,6 +277,9 @@ class osVolume(osService): def __init__(self, conn, stype, name, region, prj_id, ept): super().__init__(conn, stype, name, region, prj_id, ept, True) + if not self.conn: + self.voltypes = None + return self.voltypes = list(self.conn.types()) # TODO: Fixup azs and exts req = self.conn.request('/extensions', 'GET') @@ -272,7 +294,8 @@ def values(self): dct = super().values() # dct[self.stype]["volume_types"] = list(map( # lambda x: {"name": x.name, "public": x.is_public}, self.voltypes)) - dct[self.stype]["volume_types"] = [{"name": x.name, "public": x.is_public} for x in self.voltypes] + if self.voltypes: + dct[self.stype]["volume_types"] = [{"name": x.name, "public": x.is_public} for x in self.voltypes] return dct @@ -289,9 +312,18 @@ def __init__(self, conn, stype, name, region, prj_id, ept): except Exception as exc: print(exc, file=sys.stderr) self.flavors = None + try: + self.providers = self.conn.providers() + self.providers = list(map(lambda x: {"name": x.name, "description": x.description}, + self.providers)) + except Exception as exc: + print(exc, file=sys.stderr) + self.providers = None def values(self): dct = super().values() + if self.providers: + dct[self.stype]["providers"] = self.providers if self.flavors: dct[self.stype]["flavors"] = self.flavors return dct @@ -299,6 +331,14 @@ def values(self): # TODO: List of public images with properties +def ext_net_dict(net): + "Return dict with extNet properties" + dct = {"name": net.name, "mtu": net.mtu, "shared": net.is_shared} + if net.description: + dct["description"] = net.descrption + return dct + + # TODO: Network class needs more detection; have AZs for routers and nets, endpoint not per region class osNetwork(osService): "osService specialization for network" @@ -307,7 +347,17 @@ class osNetwork(osService): def __init__(self, conn, stype, name, region, prj_id, ept): super().__init__(conn, stype, name, region, prj_id, ept, True) self.ep = ept - # TODO: Fixup AZs + # TODO: Fixup AZs + # external network list + self.extnet = list(filter(lambda x: x.is_router_external and x.is_admin_state_up, + self.conn.networks())) + self.extnet = list(map(ext_net_dict, self.extnet)) + + def values(self): + dct = super().values() + if self.extnet: + dct[self.stype]["externalNetworks"] = self.extnet + return dct # Known-classes @@ -325,6 +375,10 @@ def values(self): "return dict with stored values" return {self.stype: {"name": self.name, "endpoint": self.ep}} + def __str__(self): + "textual representation" + return str(self.values()) + class osCloud: "Abstraction for openStack cloud with all its services" @@ -379,7 +433,7 @@ def __init__(self, conn): if newsvc.conn: ostacksvc[newsvc.stype] = newsvc if debug: - print(f"#DEBUG: Region {reg} added OS Svc {newsvc}" % (reg, newsvc), file=sys.stderr) + print(f"#DEBUG: Region {reg} added OS Svc {newsvc}", file=sys.stderr) svc.consumed = True elif debug: print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) @@ -437,7 +491,7 @@ def ostackconn(cloud, timeout): conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4) try: conn.authorize() - except: + except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout*1.5+4, default_domain='default', project_domain_id='default') @@ -448,12 +502,12 @@ def ostackconn(cloud, timeout): def main(argv): "Entry point for main program" global cloud, outjson, indent - global debug, ofile + global debug, ofile, errors timeout = 12 try: - opts, args = getopt.gnu_getopt(argv[1:], "c:f:hjJdu:n:i:t:", + opts, args = getopt.gnu_getopt(argv[1:], "c:f:hjJdt:", ("os-cloud=", "file=", "help", "json", "json-compact", - "debug", "uri=", "name=", "id=", "timeout=")) + "debug", "timeout=")) except getopt.GetoptError: # as exc: usage(1) for opt in opts: @@ -463,12 +517,6 @@ def main(argv): cloud = opt[1] elif opt[0] == "-f" or opt[0] == "--file": ofile = opt[1] - elif opt[0] == "-u" or opt[0] == "--uri": - uriprefix = opt[1] - elif opt[0] == "-n" or opt[0] == "--name": - svcname = opt[1] - elif opt[0] == "-i" or opt[0] == "--id": - gxid = opt[1] elif opt[0] == "-d" or opt[0] == "--debug": debug = True elif opt[0] == "-t" or opt[0] == "--timeout": @@ -482,13 +530,15 @@ def main(argv): usage(1) if not cloud: print("ERROR: You need to have OS_CLOUD set or pass --os-cloud=CLOUD.", file=sys.stderr) + errors += 1 conn = ostackconn(cloud, timeout) mycloud = osCloud(conn) if ofile == "/dev/stdout": print(mycloud, file=sys.stdout) else: print(mycloud, file=open(ofile, 'a', encoding="UTF-8")) + return errors if __name__ == "__main__": - main(sys.argv) + sys.exit(main(sys.argv)) From a63ad906aab6f69ccede8c320a3017d8a85ff8c7 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Thu, 28 Sep 2023 13:39:32 +0200 Subject: [PATCH 107/175] Add concept to integrate scs gaia-x generator into Federation Services (#58) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add concept to integrate scs gaia-x generator into Federation Services Signed-off-by: Anja Strunk * Remove unneccessary files Signed-off-by: Anja Strunk * Fixed typos, added a few articles here and there Signed-off-by: Matthias Büchse * Made OCM and TSA introduction consistent (link the whole word, abbreviation in parentheses) Signed-off-by: Matthias Büchse * Add link to gaia-x integration to READMe.md Signed-off-by: Anja Strunk --------- Signed-off-by: Anja Strunk Signed-off-by: Matthias Büchse Co-authored-by: Matthias Büchse Signed-off-by: Anja Strunk --- README.md | 2 ++ doc/figures/architecure-xfsc.png | Bin 0 -> 36381 bytes doc/figures/figures.drawio | 31 ++++++++++++++++++++++++++++ doc/xfsc.md | 34 +++++++++++++++++++++++++++++++ 4 files changed, 67 insertions(+) create mode 100644 doc/figures/architecure-xfsc.png create mode 100644 doc/figures/figures.drawio create mode 100644 doc/xfsc.md diff --git a/README.md b/README.md index ba487e7..1b2be00 100644 --- a/README.md +++ b/README.md @@ -172,3 +172,5 @@ as well as an Airflow automation pipeline. TODO: Create cmd line tool that does signing and interacting with the compliance service, so we can set up CI testing. +From a Gaia-X perspective, SCS generator is still incomplete, as it does not generate W3C Verifiable Credentials. A concept on how to make generator Gaia-X compliant and integrate it into Gaia-x Tool box, can be found [here](doc/xfsc.md). + diff --git a/doc/figures/architecure-xfsc.png b/doc/figures/architecure-xfsc.png new file mode 100644 index 0000000000000000000000000000000000000000..9367138a57e2a5416648de2c64e74dbc807185a0 GIT binary patch literal 36381 zcmeFZ2UOI{)+Z{6(uim`2q;OqiGqM+5Kw4xjsg-TG#MJ2)JPDd!ImUZq9B+skdYje zoTDVk*+51KA~4nHx%ZrJ?mhG7y*Kl|@2y#@7yd(4{deu!wNw4J_q8+>DNfOyI(FI&aq?15yy@ZIY3T=CkrDhUf>@hcO6CKvD_|(&&Q5ID?Q{5J)E&N_D-l{Y=W}C zuGj>w*rDA$*aYR+1O()rP*xrovtF8#t_TS7ToK{n7t-SwV-u7S z6a{~Tg?L4UMT~y6x3ERI{2oXhecRs2$%0KlL74Xn7>d)7pPx+-39i)aT|BYiU#ysj zxropua3$mF>Vz^tS*qH55ZVih@(PL&x~MAYsjIOG$bxGpdq))bM-gS^h$eKg##ngs z+M_{p0e)UVUQzH!)((Sq28|T>`2~2d@Cu9Y3-bzG5dv@iIVlAJA>Lo~=vvrVVC?_& zIl_EV9u~I0=IV(x5O)`H($Ueh5V3Icvi1(AmSs74_?> zHOkB03Q!`zCMeH#MFzYh`~+pK?JaCE7S7<*e*9gn5oy{CVU*#&^alVk}(k)X~-`CoqIH_SYvwMZ|xN zY3=jtfsh#Z0^uXJm_I(l|IY`y_P2l2#t-N|YUXKgjdK6h_jf}NG}_6--u15!t)*g1h+KLH)RVR=~Xsv{@ zx3&A@%lv;#*xBNb#=mFcZf9YQ_WsrX=+S@A#y^;eL8HNVe_Fp^FaG?Ou!Ce#P6S^6 z!N=d<0dn;}-}fKf!2Dwu{XZE_)kEBs-%!lP(9J1Zg=jVKH@w1s+{zKe_a86i2(nAK`!xXq zf#3nS`4?RK{m32di2>X2sMWt@#_x6>78qO9Z`t{m?EuIAx|RPd1b@CJ2!tXEXdy5) zz-0`|32bbyzY=Qkdo$Snqa9&E{;voOX!Bd%{-?$AUry`y_W83cc%U&ydQ0HS|6XDE z|6oxC|NptDzh(MQi>fQD3j|Ej!rp?%kZ^%=K>>S%#{A;>pVs-WTiV;s-UFrUYH_rK zyn$W$>-PQC8yG_m)NeEM?>6G!3+u1#^B*?O?-2z>e(S$K?ADdv_ul`s0{nyl2s_B` zPZr>he*by)+K~$Ri{91K1&#rM@c+y!AT0DhUIDTH5({v&-T$%xnzHKu`4>Ro5Apt+ zE%0As0fc{RjDLC_7?g!IkbhSU+7+k~d*EUI$NliX)eZTl=Rt5p2oB7VSMqP%5ERzl z=SktD|;;$p3^^QTSh3MZtfel>g8Z|0}JcAP7zs{!Qp~^zJV) z>YwHB=!5%b6>fzGP1Zd zU75akjlz4idhkcp-cnJ`9^;@xQ_>9ubrKb|TLWC$(kC+_`f|W2PUPR4Fh){yTH4&B=GK6`{NrqrZ+^U7D_Ne; z7u|ccUOzbnVa4H@geo*uWZp?ZJP#A@)*Sk`)f@=wpG8d368Q)0Bj_W(w$;4Pmo-tG zUb#*dQ#L_Flw8V$BjU$t)<^sM6TfZ`lZHV)Z5orbuq`3Cc;J4X&a84CR3vu;nQ%c@ zg3-aCmF#Qs@W54)Z@b?a-IOJw{Z+%RZ#`1QHyqG_+>jI`*n+fH0lxP`UVn(1=#cEw z=GW`9I$O+p4`XY7JcRa2K_SGqp(pE3*H9q0zEkAzUM8-g>RBA}ZeUxM-r~7*Fzn3> zr`$7UK7Z^R^XX8=pL8KhUukce8j$?tc-)6MW^o*P7$G!aQ?pPgB@hM&PyD z13_NY*+TTC&#%#Bu<_$T%#TSem^-FMnXSzyd%n~mrX&E<{1r|5&R9>z&OGp6q(l_d zp14aSeYWn_@cTUNmYRT=0Z;jNcZh%d{Lx(&FV#}>>}g&No1Dkl|HH8V!?6D&VgI$a zB#d_NV6Fb_LX^bHmG0|@RlDE%H7O2lR)ifsT#;DH4;G)nv#4#ajCbDtnv+QL{rcfg zD<+>gn4rs;n4td;kIixK$>iF@gHfl7&(ELR_dj1qvWnv8NXKTq)On`T=IFW(!fG5?+4X z2Dxe`cP9O}-?}^XJeDyV()84Mq4B8W_*uzYxz$@n?!EG~)Jqkuv~+?t5uXQhQePUq zeYHCkd{(Xc_V>Om&-W*2limlDraG65G%=A+W|x%t1w3)6Rojg97lie#?z1w(XE;nv zB^-g8wu$75CvAFP)Bjvu@ZQCMGSi*Bnjc@DThxczY<7x@-Z|KPakI=d^JcMK%v;98 z!#3``;Yl{phW1{?i_Y?=ojZkxgur)_E!Gd0OD9uqyw)E%ME5AC z*)#ltHXZqgovV&Rxz2+|jyz!C$)u4Y+tEYY-i}>hH8nN1`#CcFETg2h4C^yo{2;7N z_nCM1wW*UovQL&u`yGEMbp2`q!)f&>h zoku;Z5xF9%1@eW&@}jsCElXdh6B zW=H<0&LClx`}y>>qpdoy&Tq6sHr{2AZcq5GzD+;5A#Kx{aw9XcW@m={>$1;&O43 z{Ws5_>&>IH>tlNH67RpaDEsVxA9BX_U;X+Qen(|EtW+Dr^CT)Tq~}b7zbq zlYRB+)?FIv5F4qjVJn+&pL+F&d2SXqys6&$IC#di(o0zC_BW*qMhTs1kCG6lSAfQN zd-wQs0gy1G%=^PnGQ^6r?*z==st;S>+-urD!@2yEO-`lVy!!Aukrd>KKeya?%^c-Y z_4b5U@7_Wx`XltU$wy_5N7hpG*cNzv^u?^}_b9mUQ@I?sqr-~;x5%zHl4pPDY3ea*lDO`}GYmU3JXTQP(G)3|!Tw{qG)IN;nyOw~?R~IV$(}=|L%cdS ztBPFJ6PD7Pk}EvFrko(B8U7hoVT)Esl?gA z(&N!AtFy)Z8iF7?(43*falvEH*AtO4+>#>wj4|x{u4+gb{=+uIe~>+UaWrXGm9N^m zng;T0PM}HeBZ92PsyRyJPUBlWB+i6Ek^`%+)Til!&0fnprnyZ|mE)XZJy7&M>`V9G)B8!Do=_n6=}wn&wjX!m zvVprm1%;65!yK&TuoBOe^2O&2BI%jHHaz>u2)~I%LdA>sR%<7txW(moQa7sG6ZuNv zW>`}@tV_}%SZLdp?Uqt)>0^2LcB@@rXNzVYqVLE^^6_R&G8ghSC0S2eYUyA63{k>= znt+f1X*q6ja`GfhaSx%Q^mrjh^8P4pGvDxeL4M6@%^qcyPrt^9p~|X_ZX*}1EbL_C z`5lYXn~UA0FLWP;3)GA_H7JH$Zrdu{hWI{X6_vd5A`PR`W)ah{`n@Nb^zKk_c}4Y& zSj`6C218R-4!LUwJ67%kHw-S2FburYdE4f67f*UGn(tLejGE>S1L6#ya+(pt_1Z#o z8pJO58L*f-ARv*D0ijuM%>`?7DupyDX7J_}RIwvWpcbp}j ziyn@o6rZ+P%0qhciri(jZkw+^&3N@g6%cgP7O_RMciuagZvDon(|XlLfFsG5{clm z0z?es99TOS<70teOt4mUCD&C%yi`3SuGQ|wk~jMlqQ#cZ4QQ+2SM5IUuO7RbnY9IEZIrSCM_;a$6Bgw?e_#A0pX}Gc9Ki{qmpI7$9px595(+w@ z>@ne%N9DldDxyT3BW7mcHZ`MQIwQ%qi?b=XNakA}t@og1oxNUyNUl(dVYVmh=Wb;1 zzCfq;R;Qd&?RH!s4xi!Sx%`IglT4EED=nt;sJ&RHDBHX8-001lfiE2Ou$DopN&Qpr zgPmutMn+$1ASGKdA!7mdEFWEm%eX7Omdv0b<4zTQY{E7;h;pVls{A-OJRjD0uS;^+o9(%Z_a zGx%T}f4x?_)Kp|M&c7)0snt&elp9``h)4}xZ~Bfp4;;(UOeh#w*%Hq^VkUB#cur z_y1H`-$P!5+$7Pypu{6aa>{;ks^d#-Otj+E*3gtDiNXewk?-U#9Cs4dCrezs?Nd*j z*kG5=@iX9EAkkLxT-}|PkjJmi(SKe4iOkLy^ogVsUXmV`2&UM{#=Jc|*c)}w##5qa zCAU5?4;^0@beoamb||!u2p4z!X! z9xN0!f1&FAN&4Z9npTMqFDMbYl6-Gqp1H7(q0+%;)7k4L@-<5+u3<~CB2)n(i)`iP z(44aP%}8MOMtxcAnyJ53@}Al9F@(Ul2GW3)-l9l!6m}deHoqM|^mBJHWBE?eJKIDv zm!}?)qRCZ0bDDH0(VJ>oA7l7*YsT!C&Zvc4m|&_{pho;O7eTT4IDTe)fK&SMfD3JZ z^Qm^phjyvli!02X5@*akSd%xm9@!FYqNt?J5Nol-MDI3(6at9CJ-29;U0Qu(@^4-o zn!0ULFJ(S_mP9+2;bc?R#j_-4C+O}5oe-Y){(P~ZKKxv|C)NcsZXUeImUWCs*2>Q$ zgZ6U!L!P39S`(Jj;f2)`-3Y5&9G>ar*w8g==*h;S3o>$1kX@E5bK>o1;npv4_@S>d z8f4)oy`&b!rFl;|i9IOyS{WOO&Q8DF5xZL?b_@2t=&COAYU>x)8jeJ|GkuG>T2}XG z7HRoAEMr$ULMiBJPTkPXD{`Gi_P=#B*y}^wxVh{^N+rL?-u*~Yw9cS9a`Do1s!+Oa zu3EW7XrgkLV7uV`pH~csq7yGmzHV`!EpG{DGb3JCn`>+Vo~8jjK*SwY{h4l2)ZqiC zah&{@vKDe!O|;L{TK+VTctNY5csZY|i`;}BW_F4vv*7XL+v=EE)hNg5XVUv-{@({e z=M)XrLqs2zeeu!7>nJQ~bx-<8r9r1pE*QFCTx!DTZdjC^qz{8}t)}n}Y4=6RCs-crUZb%%M)s9{PRbxF zY5KeG;tp? za{c%$BWy*xZ6;J^VxH>^!4w%Rx)&u$PVhZCkCqP?#`ts6yt@Wpn`YCJ@1)O?&m=1S zY*C{Y>}PiFdMyN1g~v`o3oM)=u!$abbkSCeVzgXu&B$>79wx~*Xi>33VW3K|TeAPQ z(mGzJY0Sq%{NDEqUsc0yzl&R>?~c=p3~(HHh05r3+0-ATkldabM)1k)^ewcX(hf|m zK{U3i2c}+>563ipU!^loS_+G>%RIPNyO{El4$Z4f)A+1;RFcDWOuah`CmMvaTT@^k z?^H=TepZQw56AD?uY&)nIL0kKc3AgDZvt9+T#&rz<6Fn(b)Q(TF1P)xesyMIZRW?_ zXxALP0WOOwcb-LQ#$nO~2jL5X(!QbM-tb!6NV>vphJQ*$Gxumc78iY^3W2roiK!=d zGP~NGBX5NFJJ?+uoDWl72JvDk`m=zr9&c+Z?pn0i7drUaDjA~lOsDEjaXC~)K24#h zJVhlU?Jg>XZYPtOQa`y;2iyUk`DbfwYoWoVsSTHBYQJ^L1VOM2o< zq4J}P$hjf&J2`7Sx1aA-e5if!mDcoS`Rh9{P7;vCB$w%}brj3Pm)M0T-3R527z8tiasOd88E zX3dRUY15mbe*axVQZ(|Zwj_PReNrz`sr3(>=5_UDH);9IOn60NuHAojFcZ$Vv?{)p zS9=il7OKo4ohG%v77DG^NY>uso(f>@IEf~O``{v?->4wD#bsJMjrHSQFRUoGRp~qp z97Dv~Um{X@#)c*$enke`QjCH%_gz=MkJlQy#c$mL{i@BP7j1G3X(^VdmH7B=SwQcJ z&NFlmAakPLqB0e#oH3D zeyTVB?3r#1UHOHob1W4>0T4FUZ_&2G7SXh(9x;(&Yn5!i@)&AXivo0}_yR%>E3Te( zmGAXPMhpGJg!ZyBzH-r>E{@xwT6|&mT=Q5B$UEjMEUt<4A#q|BGyx#C%YXa1$iCq! zm1-xwor=ZGiA-_fj+s34WX*`lt1p|5N|vfM zmv@k3=-T}^*>ZN!2VJAED)ewt=-L!{B%j8s{k5rC3i5JNA2uV=BU%*R!WnSprU?mc>Z!sK=MGtK`;et4Qg4c(9 z+?t7ew>Fq6Iv_a<HP2KEnXEmcNz|JSHdaKS; zx9UgZ8f!vqlER_WdkGGHLUo^8?PrZWTs-dw9}z{GCzIC&n$$SJ^_hGcS-# z-;SX{=qXL-D2NQatZJH)L4H3M8;8yBG5qG%Pnjj3-0Ejk2$f-lKOANb|M7ET!Arnv zzfl`+%_7Yp2$%BG)1;pe50^q!P90esOlG@*vUr1-Wy36WkvAN$$|R3-<6jW7tHf>t-3<;mG;-Qjc4Dr#gkm6}C&Rj`ITf z61|CE8w_b9la#($RdMBti~d1ZJ;e~?w6q%~q8tJ(+x!05+xNuNw%PYy!}l%@fkmxi zTZtswyTZ&{6)BJ{S><}TDblq!KUj!TO=Vbg?lP`3rmkU#OQo8`h5N{>h-|;eXm0o( z-lh4xq6Bg-T>AXA+A8JeWvUxYLQ$~E*Jf_9m*vu;GwbN?cu(%8b<+iE8JS_9Q6j3e zSS8y>ZMxFzLzMZq@hx-I${b2{x6H4vd^ZV!Slv=@q9Lkcecng29qRaI05WN{oWv!U z!T`-W&zW7n|3#fv8po`#7QxI_?MQxof$6EEf)Tz9_t?aH5Jl8XPmNYqpo!DV$$InL zy?frF#Ts6>t7l#YqNL@l*haR;r4?b^xi^He4qwIc!@YrL?bVS;M93GOM;! z0@Q+!Uggl2zB~l0y%X@FkDcd_$s6e7StnVXR^L@n@ux8$B1uX3$Rf%)bV6KXD5Wjv z&Ac{|S9y8*kPXXUrIV-zUbv>B99W;Nzi$XpC5BN`*sVB2lvNrQZ2MiO%R5htUrT^a zAC6?;NU7_BZ%;)e(hpXSSO7t|s3VDJn6lwk`gy7oBeI}=V*3R85|n*K^+cisTGXWR zbr?=be&7mJu&Q(R;Bj;i72;*h*jOURL{u2%$Fh6jG0e%Gi|_VMFqHCDIPHECgFys> z@bYIQ*nY7n@M{Dx{Rf zcX-K|Gb)4z5fN@Ff*rW^10-WO+IBW{VrEW`2o1i{`}~y7hQSD|uv@yM-x@~C9zTu| z6kd!}irSqcTJXAzdH|()NG%-CAC`ovZ8%YAsLmlb+!K20^irGh3D&y6GK))#3r1-; ze5yO|-G&F&-#xbG)oEw$kwzI@eoBeJ@~v6sub$qP!^|#|l0C#4xo-AxQ6g3j)Na`G z^jDj;MIbaQfRYI=+0<8a}>vH~R}tvMq&8qCWPYfz^Mk zqt7)@77v{sQzD0*4&y4%+{PhSiT z1kOgtw5qh#xga%y8EACxeC{eot@UbXbcZoqDJ&#kRF4Z@H(}Set!A*rL=*;{XRZvNPraKLsk zUMV@uOLOrVA?3Dg#xmCJW*0+?D6`g1ieH~+ulwrScIkzo=6%OG8!dg$rQw3DS|z4t z*_bic1h_R;si3SOrD2l zrq2u*6CG164wFQH=zv=IQ@Hi*p|JoqzwGiCakUYuyVB(K$mj8XA4(x4$prHtY1}Qf zZDMTWJ@qaKJlvp{=t@5lOX z%ODH#yXpqkM@CIah%e{9*E&t^^!crPxB-6Os?0naqbxBOE$bA;X&L%fRz9)?GWepZ zft59l_>?vpFzh@uD6r1D9!?k6v?(o2A$Ouuzkf$GwTTVQ`>C32%`4v^xSh&ErbWG8 z7WhUm)N}Oxmbqj1;$0{rc1hM<|7auNU);4m9w|? z4|%arnFt}-Ix#IVyv&EBJLVf4^Y#6Hvp>!t2ay-PUG#a2>B-t%Uzzk(ThY^tjYzzh zY(BjRxjdJHtNWVQ@$KZ%kc2NvAkB1Bp>ld*K1f07OghcXfgR3ZeQlPgsZO~32CLjK zCz7@gPv-kzv`v= zEGAFRkeV!J%-63M?zBTJ!|Ll8YDnG3dmDX!bt1 z&tZYu;=SeV0!oC1phjAgaWdc4JmyQq2CNz)Ywo!T1$h~>T=Q>X41V@Lsv$aMfqcT2 z;V;W(=qCF1Rx0zx$isA^YUBNjm~rZeiJ9!9;hW3sFJWa?>mit|t-)UN2YJ96b^nSiz!s`BHr*sko-HkV0bf#Tz!0J?I zrm;3nfW-UYW(e)WBx@vbus;6rxl&Pd5m`bs^wODqq+~|8U|-vJW%eaYEL zK#f%nB_fdE-;$UN7pomqgg%lnhrit-7CLyroE|*D8NlDhPI+X6aB3@a*b@~#cMz&HCJ@wp<+urKjRazt* zl05BKi-X*~P>|$euwv58ur)iovCF3R@Rd9(!|bkWq^ogVCFCWWp8)41U&xQ#@Nob7 z1M!G2J8W`U4kOW>s%Pt>FI;Y(ZmT&YvVzNQAjlmkVaiG!A2?~%Lxc=6`F62fD=`ep zU374BhI`E+T*%fN2A|?ev-RBR#W7FI7g8LZOeCo-hPC2MShxPYNP766!#_D(Ne?xR6iB;ZDm{nQ;JLPjuEuaW@m*{a=FWU=ii1Z z43%`KZS8m0Ku*#KE~SKXu0IUySmeFsrm3tnF<5xs_PypXWjaln?(xY=Y*x!jMBoW= zwBF5ZDzCec_p`_y+B+{!3;S}EDNLV~BMKK%iPPPu=#_;*4<2M)#3{xu&ZPL(`+XlU z7$vzCCJ~L(oVl_m07ve`;rtuwz=54}<7o?fJ+3UD*AM}(HhbOiX#NU;uX;k3%}z9J zxH5RaT9T`CY{E-BLe4eS={Di;pm!nV_1;;ks8msO`gs5S@~y8!d>7;7R?@`$17Iwy zFWfV<$>MMpa+kO1(px!8#70EJw#fI=Smo+m-s2<8&(`733v>!uPaeL@*Lto(gA9yq zPq43g`D{!q97{r!>QE7y{dkNO#d6=*+qbKSgRSKfPpd|MLzVCA5^b*(`8|-|v)$CS zGYNjhx1q_Nn2@^#FRC4%Shj0}OhZwb1`mIF@dLEdQX2NrO&r*QQSaKrY%fuA1l8L143z%oxs z($8GGTBczqs=ZlwIOOulTFbu!Hub+9l}~c3h`d4OpJgpP-?@ICHIep31RJ>zof%WZ z@f^*JYYPC3@Yd{1l=6f%6(4!sUH?b1vMmr(S!fw!(WC5aCA^U1V8?AtpRx2?W%?<_OOKzwo%eY&mAk-|k#8@w-AtQ42dDJmGF{&;K-uZkqr{y?wy$e7 zJdO*V8b99|9+Twp3i-_8@|JjF(*eKJtNW#QPgHMWvE5dp=37D=gZbX%XqrP@I;$u~ zc$hP82TRK&zri~JtK!2cK67v}4<&#Yia|Cc0!qNrEHPcB7A7Ixg*!=q#lTWT(JtFl z7PSm=v^ewWLqm)}w8JW-%9MvQRFt>wQlEI{69)j6-6F?so-2V6>R zi{j-pLcobE2FS@$KfwJh(Y(R_1WfjWB+fWjiGFKUPPlSku|NPwlB2h4nimP&^;x$EL7Nh3}?UO+=o_t-Z11)FaLHnWf zE=qIyVhGvvLFo2+DjZCqDM^4=2_gUO)y8uUbv4eQL?Ay2>Q zMdl08hJ`AUbStqljdX~AY5ufH?@ZqQZ-mnG#_QoHcYCtuVoP7H;Pj9UdtMnNOLJ9` z9^QJ-L%g}*Ga~L!!p<>0a59!hk`zdHks)UR3PEJ9h*dOph%B*90q+N(6(t|3BOO_k zVp9`GR%;JkxY4MYm}QeEeraG&l;pmmQy8syPdJiXb3PXi`x4Ik(dME5VG-XREV?5S z`}oZ=TcSy9?+)4+XNbbuOQL6>k_^XE-^)K_rG z_%Env|Cq>SKx^U}G`<(CQ|OfbFt;GzW|HESl#gtY*aTZm5p42Z(D8QDyIQOpOb{Oo zQyj>nf;b3M6aT%@SC$E)Jlz^8@D2}0_xZ^q8+KJ%lcNTyv{5F6zdU%epTD zR8;4R)r>QbQE|QxAM0RTaNO9iEKdEDa+B>L)QFv__rTglRKh=?X!hLT6YI%*BVM}M zhtT_>jI!6sr698Cx>FngUE3&&;&>&hO_Lb1Gh&?qTpA2z zk81U$03b~kVxWPMoYV~GB=yU{cX(%e%-=~ z&D+q2jVB+>bx!RY=HCjUwqJS`#VIpY>^Ri5f{nDjcQBGjB7=O(y`Y5RrK^1N;DTV2 zegnoggMidp8AqO{Pvwf0%(%SJ$F{m?H>kvvyXel^nUWO0MDM(J(%*{`AycZQ*7SnZ zqL_kb?|CU-rULeyneVc2{oQ0gvIfX5%xR;UI4z&E`N}}T8mAUhVm@nZ?K)+?^y*l7 z(dWKrs>%5;{6Zl6GePGCK%Vv%GY#a0Wm?1ob*i}Sl@?aH>^aZ*1cQ&`!y}Lwx1v3t z!-M_hmCxULfiqGmC~1lFS09!S*qCb_92K~8;OBd$Tm%B8n~AK}Qi!BONh!}oxt_Lg zihva?I45J}_TrMqm%ikAdLV&fARAR$^Ztf(D&xYL1f8ISwRW1n4ToAkH-gSA0731 z1i>W+rgu-jH5Fk={C%1XkcI%+Ey@9qh6^}u57PFUOu^)nmx*s%F~#{xcP}QLzxud8 z9!i#NF(Yyr0G^!PMnpeu4J>7;1CTekBoV6A0YIEfZ2sSKL|ypHNsFWJ-_I28RHE!z z6pghR*hUw3(xr?j<8e)Ty-e9PpR6bCsCt&eAEu>b`eBlNoF&J*Xso(>HptI+eXE$Q#_9D53> zfi@h((`=6y-LcMzoh_(IC(h63YXRP62SDdL?*m|w`1Gmq_l4+BYR`$n11FN2=a_mn z#o0s8d=g@lBX&qCqX1s7ow3PQWQo6UC79Ww!B(UQQD<&E0K=&$oBMx_G*(+7;<2{0 zv{M(11&IB~r#HXv(>oW1+5jQV>z=rK#oSvxotm8@e*3@bQHW9@vkI%$_GEL0Q+C5wESC8g!x+j_*v z`_fplPrD3eqbNblh$y|v)h0d=XAq$F?g)U;*C<1J=P%J;jkAA;cr3aAR{fh_)cwrk zSJla40_oUY>idGPe56VAf8uQ3$@>vZI>G;mx^xjY8xdKIPM^W#?O7TiT;$0~=Z*R! zSb-^KvDf!MR2Y4enGB4Oof`FW(3fzHBSvbF)Tsh7T>HqI8q;1gqSePA079l+E8>ZvC1K>UfG@1Gxzw#NCec3`1ZAXLtY~hCR?4Mu~F;c z0Ad1a8OGB<2}BZAZV%(-z0fXex_ro|NFT83QW;j3p8_>>k*tqH?~mqxV~!|kL`~X_ z8We?#fJuW(uoG02r9mk9ZJ>0btPuzolAS$tP>4lYI%85P<;G-fuZW|a4e(Xzbme^? z|Hz6vVkA}28YK|Js*-k_xk9u^yhnsN0egvf{dGYOU@y~LLso8$hWS}7Jpap8%4H5Y;;R}I z-0UR!IY!iR$xV(aD>77hHyuk5P#(Z$#rAX;5%5ocu0`sAL(}=3WA!#~AyEeA9x$O- z{0ac&Rs7n9nvc-3f8rnQUVp=prFIIL!JtHh12q5b@u9Fz12Z2s=xi@DI1m88I1Bd8m z#MbU?gf;Bu_KY2U+Z(XET(JKF;d@YH;+Iu$@OI0qr-AVHu?|>Kt`JR*qv5L{Pd7qa zxGD2|rHep`5;O=2Ho>KH%BG5hDIqi-BhdIN1WdH%IR}CKYf!L7h+gqtBHU=RYQ>1k znZ;BEZfiXZ0)Z=tZ3MnYfw>DQTIgueF)Hfi|S7c&A?cQu%42~^3HK5sgr>OGtp zPRU?w$9gnjF=F6}*4PiexmoV!382@K0L!}YA|pV6BhB@$4*+?$F#=Tjc>pFEde^CZ z{D^WG2&)n#O)0Gu!6+fZFGA81NOZhIWYo#(l|h~h0d)P4&)fxoorT@| z)kQ}#F5das%hb(JPIDPDS0%*xYXSSH01vAvgop{Z5Z0g&a@rK<((%ElP5?x><@h1n zLcWE7!j&gm2Ecnx7Nt3AvZwaKN4)_Wk}O6#NhbJ+kSUm}#f`4xv66M_A|nl9(Wv%^ z7v%1jipvOqLIhcCVhTY9z>gJtu~!QIOTuE0F~RCy_q|OKb~J(&dVJOi=2RYlvK9mA zwNgAm1PD@ant+Ul5*Wrz>;oJ2=vU8y?1GT@be5d@Q447j3}9<4IS(WEuVI<w$H0CMmqr*4r%FnYi9m=L@mq(1Ld4wHyjl@FrSQ=g z!3OvP>v}YK>ATX)AK&Ic2z3fF@!9u}I^v~yfs|u1pIQByFC_^m!{g>gf&vHbzazf- z`ye156dwEy@!7gBqNw5Ke(NEB^SNP9Mp)gMrGHQKyOL2CNBNe!C&>SX<65OIrrgMd z?hN$5Qy@VkLASquxd{_MPe}gF#6IMiPliR8yD!qo-Ty;o=8!;N(HdRVKU!{Pna480 zC&A||e^uvbQQjGV&(zEeG=j~ar7#7MQ^Ft+=h-a|k4LhX!(%R1%0e{lW4PGsCe*L^C8l&&ksyf&bmtaf)H)n+)~!lo(Wg3bC& zqYcn8f}N?NqWeF-3p#%+zU2KAs5h4%+pFjY<^%+7fq|)Kg3tE2cc=JbTHKAO77!IX zp1Jdn?>;kK#pUUkto_x~<1};xh6F^o>VCc*!R~DO+=T^Qx)UdM$vY zf1G@Tow+YkWq0s%cL5Z$2``V9mZEoxl=U-&>|?3LNf|w&87KLh8LU8o9*SV{x^7VNxe4^1Od(WM5HSBDmmP;p zy@h#ZU?a2ig{1ijmw zrX#;CiC|HTDmEh@TC-V`kURwva&klnoQU6!>)!K;w|q4_bxyVWTU!~IKZ<^|W7*pV zApX%)&j)jiQ-R{>x@~1rFS`LM7*jwMkP$lC5yJjM#%T&J26ETSd1NRgMCkU^ ze4=@mGQP|aex-^+8&`U=`!xEyJx-r+v~E*}BU=E|)nL#NGx+{xV7az-Z$*N;ugZC* z;r?^y(GvZ4Qz4JV;dMx+lM|uX>DxG2*vbu%5~mjl;ozbLqM~X(aw-NCr1m=jSpo1w zxeIr;MMxlKa7mR1Qd>#;)Mi)YNX@c3MMmFrtefy9zrE)4OX2@IQasY1_7E{Rvg>&3 z^n^kZO?o7#!0ZdX$yN#~BD%*wL77cQ6902hvpFBojmVJS2ZgSVcMO0pvI(?=G5jtw zJkc7Q_FrDS;YN!vm<2_Y-O6}q)HiTEkw8yQ9w13SS3gCRRURTWE#IYDcR2fY>MB;4 z(?4|#s*Wd679GxdJTtJIMWR3AI;(*t*fj_FC6CLrar^xBE~2<3Cplvnr7Uj`u;cmGI1zP;yq|i@+nfa3OX_ErbVmg4|^l@lakOp|s_aD{>C( z@FMD$u~ZYLikCkrOLoiSp<8l0x)_#kOW+8hB-2a}^4iYg0WIW#e8n2uhGaJLTS5^= z)mb1GIR9x=6&HxmE9V%(Wx3=CxM4eh<=HipY(%crB^O zs>gE-8C86_R0Kz#83`DTuvSx-2N6y_3CL{cX3^}DvM5Aw4i&WLxZXXEKCZm{vWlDc zeQLNEyly7JOn(FU(BveB4g*7&gi8sp>0s#x-eot;=PV?2u^>4qTjyCl;@+gE z^(;%WW5pq*8>eFQTECb)aJ+(EXswenC<&oNM7)m-VTk4_8O}P*LBcZAmMSPaz%O~R zwHbq;Zpbza&6XMa9h=0n0d`9KlbvOhMY*gw-kG1bMx=3C!r|45Q11B7WuPD}FH%;Z z;HuY%5)zd{%_=-z<~)?Q>JCp9wEgG~lg!l~58HUR8^4N*SruWMyN$n4#S83DO{ay$ zn`D|TPy`oN4m9jiQ^*8szy>=+zP{-F1Y`W}_fs%KICib0tmzv2TqHENDeKWg?oqW_ zPkJr^{iY=&`FY=D7KuV%`lalJM$dfG)*taE3Lew*8~QDXr;&ZtI43xl@|3}^0FV%N z9%+=DFd!MOL7)b6d_^zn#WbN(nEqS<@Qp(K0VuI-{-N>Gs{Li9k?3ei=*C&YrvbqC z5Gf|-Bcq>+dEyGZ?$Mtx+{r_Qr_5py15E0%*n2%s6wh*N@z(wXcjnsed-&*~_vy4) zT}U4C8x+}Kd@v_}`|1P8{uEgzhK3&K00`X5Ob=?M(Gj#!(nUXqEP}G*ObXDD8+8Q7 zpXv4|_}69lxk&!t;e>d|`lAOz2J0xuL=7*UJ7Vfeb6}zQXnH$_~ zt+6Cs^gBVvNsaj5WqnM&mF^O%fp?Xhwn(clQ+}*Cc10f-SqkttVo{AEOvJboOsA`e z^uiH784lVL{yJ$;nIw3VQdDz)@H^x={_8Y{tvs|P)RBp46b%<=j=AAVgMX%g<17AK ziVg6(Qw1SfmbFk48dP$%?+a+I{H~d#w37q=7|Pp|gdA~>=;g1_Jvs#>B3F*`Qg|^U z4mm@m*_=yW?nqYghBw2rT6caKmiGvdf4S^yCv@aG6MXy=im%9jWd!~j1zCf4G9^(> zN29NUjX-HW>bL;9@e@)wg#0mK2&e#P1{X{UJ<2?k6UuQDlA;J%B@p=#5;cV4(O;kb z$6pi(CO(A{%r{67gdcl`UF=Ayzn3&*`i=e=Q%*p8wmkWB;sPmFLiJ1^ljfe^-t2V6Bi8d(F3 zyy6|Wz(;uHLm-+eP2<-t$p>o5g9XHT;5SD|6Y@D-RX(y{Q-=h%L;nxDK_qB4>~Rzp z;t8Dp9lNzbnPv8Y?JXtyN~m7!c;=D&D=0cm*1|$5`^2%0zy~b|ATH!_wj<#~(td>L z3~i;96I$vKV$5f2pRJEXRtm6ic#@d-Xyfhz*Rb`!_4eieP`BZ~Oryp=$S%eZD%scU zj3q^s>{-jclr3And;qWh*|BmAt9y-&}I&b&p zKPr>ah1;d7u*pD$TM1k3hjXDz9NL9Oz~MuoVF7fXn}47>YIGBM zVE=aj32;|G_XC2E+SD9H-Cg|jr3=C%u7mW(Y-$yr_KxyLDB`-P7>RE|ROo14~fTGt7$gBTK9`#!DK4#|M1uUQ)@r!8V$ocgb>BC?lPRQ6bG>{*|-7sgfq~4Bt_bSc3KE!jDYaDvc z7F6id#?5Eb51Wfkb(bBUr%|M~0-F`kJUxzKzvqb4a@o z1EZnIkmyxhPhjR31;-0Jk(rxv=T3iaPt;J-rrigx2{>tFhW*9n4Nye!AKxb?8rC{b z_z@Mp)!M6vmB1yCAMxF5`2`JMDQ@aea;z&Xxi69w*E)7Z%OsJ+rHV#r!xdc>cprvb zU{eOCN9}9NknPzyKp@0sLhphzh%wQq==@O@|AMobb`+H3X@Hds%GbD$$S}mQP-C(l zA`^;m7t%s2ZOH-@dc^o97*MB1oN%-Am%H9c2%?)tRRFRCB$`RSy* z1wBI+uon{z(Cuu-?B>l>|N2^-Eufc`abt7n4VT}bZGm34j9N>{>i(dr!NPnP{Xk@Y zb`CMsf*7+4L66R{iP?mm>@7ByLxJnjb2}mrhr;s?Y0OSk9tp)mE_gO1nyPV&(YE3yvvsOd9w`iHX^NP(`954-emcp|bxGgYMACPz-ps z0NQH1DN~}yM@<@xBAA!V0igTrCu=DLsBwxLM5TB}V*y~%SO?_9)j91@_+Y6}2+$z^ zt@iVhDO6YPl^}19u^Z*MT#GTlgs1f(xqs;LO}!E}`R@(uOUimaoGnm8NS&6IQgDI4Be3~=rY;wy>%9V=X@Wj zS^}9|kbD=yfO{UrSoF;ipxilFuRDwDHRD+_VS$?UEz@TV@5E+^*+wi3R}~{nS{E$% z?y_e}fWx>VQsli~aN^)zs3HuJ6o^qEw_7yJ1AiZwMXy4k0h%qSnu_Mkf?g#PaY;hp zolU`y6ODf!U!E$TIP#uNWg9;_BE_sniq?~+Mh-xkT5e$g0vCqD!{La#OaiBDPXdq1 zxUfZaNmmu3fs~DR1y3$!9^o0V9m{Z&wFy$0ebgb9nV`PvF+YpSH{3xP?TMTgs}%qejfk;GGmtpQpVTCB$^Y}A z)Z$ah2Pg=NwcX>glA-q0fjLiXHQ*?K&$F0dfI5x+Cx82cu8EP=b>d~C{IB^3%e??d zTh!_MRAY!lRanAlIC=jCHD&l842Z#aY~kic z9E=*}#_7InH&Fvac}-B2x%L2^T+=SBw|=iu`_HK;ebbQ&g@C~$WQW96UtlXHRl;F; zZi!1l9E-MoLhUrM@%7`oxp1VZ-_^E3syxTuoPGB+829KWSNCJyKp0}a4PP1pcMvQH zllt%pRnm>eh~BgSmJ%7XCXlT->2L%Mtr-t|XX*R#VnOJiy=IsrIFu&RUr2rUssl^B zC<>Owr(<=&E0eFQ;}NDRP)%QX`|_(7AAB`&5@_z=6}5fL9|70{HK7P*&8&0A!%<#C zreSp3aq@xB?3fgvclbCL)0yx|ay6n``RjvraCa$3!)4ruGeG*xzRAw69PFR&xFCjP z&_XTLfG?$1A_K#`x3zs zL7i0T;L&-7J<@+8H+U`flF*H*-*dT{ts4U2CU(o={KDQ|DX zHA6jdKzF3!AyTyTs=pDOKKnA2&2DL?{FJG!m1FJvMi*;3Wa~5+2L6 zYf!f(T3vH8?Tm;x!X?NHkAi*dU#;76c(iF&rVXmS7Q& zKJo#|pDPx}PUzC6R>0oGjDYnyGtomk`9{#^%pL|?KT(Y>B!4^0Oayx`^2XVbva)v( zCoXr9WSwi@{GsN&YAg!j{J&dH+zNWQ#?#YVApgapB&T=|^anEEBg;#`Cc?z&W^Tx@ zw^A-2I?C^Kf*iOTDm{nfTv$Sez*7!J(#?LZ=bo!a!>X2~-;!y)+L5VCh!tNQum}Bt zhWkX^hQqXlYWMG3#C8TC3-pRxye(mjOmVHm10H`X@cuM9_rfHAQ( z$1v)0^sf{mS_6aadFZODKk?V)Dl#cjL7vDpt8%%m7cI!zHqs;ig-a4D(n@fIWN(j@ z%TNlcM*Q}=U5ZN`kV-Tv!qxIXFU{|Ap+68f?jncO!$OWxyqg%pJp~7{O)0n7NmYK{ zYSWFUkTW+Y4)f%RhZ4}Szh+`agV(zqW;<`E(_Xm(C$&~k&f=7`b%EwDdF)K|Oo;m6 z3K#D;tkk%SeLD@p(hiHmfNZ8u07vY;byEt_(M6k#0p>9VN6Q4Du7BBD>HilPPegtK6wLn<>#2c+oQQ58^A>GOfHd zd7%F4Vngd{*Cm5u0RpZ0mmf?OI+2L+C2u^n}X-614PQ+i;iQPyO0&Q z_50ROD9)`#q^Nrt)FYJNW~xorM$fwpJ$uB=M=Yz`HrS@}d<(PD;~*`^Ws$~>e_G|w zDgC&`d=X=%C_tJpQb+S%N2uc%?!b<@m8&_|xy{%`n+}~Op$FwSvM_`c$mrA4p*Qit3)ow!)oaYHG7d`-yD4|ZgT4dE2c)RW}wKvPA zzW^3BW8F7@vuzjbvAW^$T9@r0<}jlm3A&>G`7ZV~QmpUE2;K*;{SIPvm^ zJBA5GmMtLLfG0_`q9Vf5^-0+C6r!yZITD9FX_o1F@mUj<&UG-W&GcD{&~Rr$nXAG}Jf7uxiZ?Bo z&gwqW)%8RUJU+)$pCOP-Y+&TTQ-42O&3pB&I&qi1xgYWRN}Vs z4V;2F+mq8y<&e(qBfZISZ|8D6Rs|)pnKQHCbNgZQ*{I9zYZ9iauK<&Yy;^+M+ZmV9-vjh3sW_FLmmtL({cuF<5~nJioyW^9cr%}1TMLoV6})866c z_}lNQgCImWqHyYCFR z!|Y85jZhc%f!$ZIL~ZGre%i0V$yvf@cv5V*K5Ai@?w_4Gl_Hm;*TQtQjoF0lsdn=s zgDtC{;>ov(%Kr7e+20YsX6}xZ^FOWJT241dRK@$*)|m0*i}*YYll{c4Lp;HK=`>n{ zI0K1UQp&5Q01P(cs7a~UIQ>)XlU@WgbOwN84E!{b#IF|`y9FQR-83n>D_UM<0#b5Q-!`B`WG zFR?bb!|~55$7?%^hq;m9YROS*!+8n2=5vK3^+N$qo- zSZZ3){4GJB`+yZ=&5Cvyw!IZpSFiCLuctQ|!{dL_DsM9i|5KOl+QXM(`EnqZYVGWb znEx5fXG)tXy=HmO?q0diG(mOXt@1_8cXD}rH4K5;Q74-#8}e^fNQmAM{?-G2 zcbQDHK9^cXG)#@bgiu(t{avl|_zeOg)VWT){&t&m_OJGnG?7!Q<|V`3pplZAE5k3DCDkOUyUe#Aa}**ZKFR(nwI_qWsf|% zJ8@yUM*rTa=!S3vI-jG(#hE^QF`5`m#8|O1w!fu)ogEo-KuvSon!pshA`&~En5f6J z5WgZ$q-mxipZXCvnHffTG=6CL?kKDJ5iJ5%-mM1_UGS|bS80$l| z>sAMHqGTxt{dxTt^-Y=VBDko=hwCZ)Bo5VFb-31*pVPeykO*D&{JAYGH>(WEhq`xW zeU+-b!*POTO%!8`XN`&qz9Vv}(~T@68GB!4^Z5O__~Fp6QbTTS#TvhI zni0<+;}QP2{R=5Y=6HEUE)DOszx}Qo((ekC?LkYphVLu8q_7Spl$n}@-_l@18N-j8 z{DgdusphWat5RvdkEL7%JzX|9pp}ZT4qSw<5O9c0QXbVm1xer$uUNp^OzS}}aPf7j zvyAvB;kaodY`%EMt#%}_SWfFT%FAgVpU*RbrbJiM>NjM%nX_SE&5YjXpH8^-Mvymc z{Umce(_mMsI);Dn0)zWvX-(3R1A3-#B02a@ggtd40X|csz_nD5=x{pWGWppUQqvzM zxy6#oE)oOZ(yNC0Pt++$OLq&Q(26>Wtzj@5C;>PXtT=tIRcD;d*De9GvG}PsU9TXK zTWL65_wQUekAMeN6dzvw9m3JRTZC_Io`9on#0M}ko;@(&dCx!n=x$xC|=4|2c^f7{Ju9npf}x! zJ`QS<$0bi69MHsxphJEw2reF(a)cdjh!6ZJ$DCpeyb87|4dQtWg)Yq}si^HI`}F0OUh|W%Mh6laqLieDz=;Rhdjd zJI@YVoD&lrSM^+>SC9uewchvf#sf;5opc^RCOSYjB@5R14^B=5f~F&Tb9qG23k9^~ zz7_t^!&z_w97g)e2Dlc4!FYb@(2e^%8><%wLfTH{_P$0$p!Kf(1&N68G5%u}!UK{R z;Lh3DEiN#J*D|SwC9sJ%i>z)FKnr}yht6qNI&^nIRb zC>log4#0xKBYFLsrFS!>Un?Cj)U=gtEEcyi1#;M^s1Xs}++FXUV=-Zh z%raAF_I~Gv?l~W%=XPUy@(Qf#FO-@~TZEBu-u%uu!zslYPjwA z{*?Q$R6Uu1D3QwSn!E4ffHaWdVj9sj;z0j(Q)__vSyd@8N8{y!6gi3aHDa=0O$C`ymSoftun z(c5p<3WX71lJUbfWTWYNiS6C%~JQ z?0Z5vrcX;zAB-AgpMH_m78c_#ihn1o0t?t3 z$9%#KCHJuzIUD9vgfz7g(fY|8W3OoKB+46->6ep)LH{(xTM)|fsf6X_-o~ms+Wb6= z4%g{sb1APsOd-FYyuX^KAYzW-w+o7Jo+gGB<1Kb6r<6J%M-RxhpQq~xU@Cj@^?3iQ z&_4~)Uf8JRNbGJqG4O)9~VxnsICc{&}!^C89*o_*eo{R`Sa0aDef%figcK zbwU(Q$~ayqa_I$IgXQ4sfZ=Bf7TQRhHHAXZ`^dt&ONc<^5$>py*((fwgsoI_GnC`q zYtdszvnlvJ;mr+8g3~gRGg}~Sx-<+(@97h}*s!9k^?mbzIoMj)txGa+$p~ig+#aWu z9qmJ2yWy;acRPQ&xj_*>WGef|UMQ$rS!(HIGdJJgyQW9(x^RJO|E{lk&KA*VvYRkg ze(Yq-yY&tFBG*4m^am9jOg;>5U4`Zsp$ zs0aHi9nS@ks26li+TxE}@Ye)IVIGAe>LjKC1xQ_GClo~h#wsR~dSz8+Z&JR)kJ3NI z`0a17`tMdibW)fs{~};Q@gbGFc_9$=Ny_OJs@VJn%>RX5XIoNR|q zfADG4*obrJ?rKbFIYA<5O)Jj-lxgeq$@}@~BSFOVl`LE!G#F1M)X{2$3|4MYMMZx% zClc4%g$@;4I&dforNTzsG8EuXYt-B?264#Vk2=QwRU|R+^?|`45@eKg!qL9Hh)%(cOb02-GG3*KGo`A;Z!?6`xR)6W1lom@ivG1TL^V403EY) z{mHS4?IStI6_4^~3CgY+=y(bClASyF+gp)46CP!cfX2;H{jGFYMBq}|*EYBiv-k~Q zt7;!HTN@0X*vIMFU`VNcN}3ZjcpWewnNj+wC;O%3fA;QSxX2lAo;DD;mQHkm2ne5M znEz08bFB4Q{y*JqoQZ+Z-eNdm@|2tHx4l9dVPbdTZA5p1Tt&{p3weM&g_hl{W%| zubwhSuH^qHV6fIG0QqaiuIzO1B};+gCtef-EQzkF4b-}R-_sG4KHcJPYw({vljx)- zP|+0(nVSA!8h~|>5skmMd`Hw;L>Mj)pCSp5<8JB#8lF}jgB-B&U5T>e zPS^b$VjPh<{D+bYWZc!~S#n>&%KU5MejxBIB!u+q$TVVN4BukNPzikrOwEn1e9ibS zpd!u!8vFT>nj}j&o)O0tUtWULKnUkl06e$m(xpp~y$Q$$O(Wr=0A%~Jf%GE07^PAk z4;A7IXFyE4Vxf|mY5!)yw=E8R3L8e zVuk>RcNdz0bbe_|-$xVf#uSMC*r-hD(+s3T>d-Dprs2dhR0JpW;PiH;C9F7fR z;w8}&Fm``8w5~x6>cf&) z!ZR2%PWe7z#+`#kBcf@r!d~x7&pmrxLO<}3|E=bmu(bg8>g6imSn|jIE%(DepjkvL zojhLs_LKBqu~`SYbvQB!x@yj^gFsW*?qfR<&{`c6(!X>TrVI&el>yv{DL``?`hv{ zfF^*#bz^C$KLONsh_uZ(0VGIjZUkI4S{a%Q;?@?3B$>Fr4wSkEZp_cA#8yLZ}5 z&g;STm&$!P=YD=ZnbzkbjP5g}pwQm64*JQ$sLA=}+OD->rj2%G>w(jPClyR( z4bA*g@=3UeBv}T6Pk(rReOY{*KEYp)5%yDr8#v-X>w55axcmD7= zSpE3uH0(Pul==MtePwZduVSy`rd{Yxmt-Uv>OK>YAJI_^N>^MvQg~Ukp6ll*%KNa; z$kn2tue$l<$?>|-KQC|Hx@Ed-xe-m&-|EW*T@40@JwqO$BV0Aaio$GZP5$2b>6c|} zXqYGKAc}gWkU9MNl{Vi#)i+tModzxab9Vup1HYs$==p#%Z<^!x{wg*t3G8t zcI%r;Jv}|?5fLa0$w$(Hf`Zit>^w2JFjWQe2n^35G!|2(`b9OLE$}w(9`F00WPX1B z)=}+q_v?bUpIO#S82@f*g%qsU%Zt z?bVKX$s4BHMR8ZvYi~E;n5gLY@=&Ej%}_Hd=W zB4_nqn~6QS;rnDyee5N?9Lw_j`SXMt{pH<;vNC-aSJy}N?%v*&BQqeLT8`6n9VkhK zEqQgJ6LsE?xfK2TLXLd8Dg}U7*t?kP{(){k@Knyu&VDXANPtTpBfoC z`UL}ywDMjRK27VWM(Sy3L?&=6nd_c8vn;ZDYm2$hS1s^jac{25NYQl;bBpw zL1F`QlT3~Otaf$02$4r6#O-I~`_i1aN931*a##K? zJ*ENo6sQ%3`$w|uIdYY)1mGeMJ+o~&SU*#olV9c7%U!>XZwp016P^ZEStEhiM&a+U zKXK`$)c&=WAlJ$r(4Gj_%FsvAYf;R>1_T1F<}fnE!MLlFP2}~f_s4GsfrD-}*8D)MazU$= zswn@}jd{a5|JD3uOUIH8{}RhOiOqYq$;d#{Q(*AQib6h=FbrE3;hmkj?^W}u2dm~w zNFm!F%@}pv(8rG-7Y^f62^sY(jPLuwHb1&b ze1W=s&_AN&%tL948X7D`ENg8Z+uqn-)BLr$>`HzakfgM%tgp%X|4_q2Ytn|p@EoCe zfy6bzBCoKp1N9c}zjOh*>cQL98*3FMhNPrT5dI2>IsM*Ve=Pl^okP9gTrT&$dwu)q zP8HG}8U1k$br^(U>JOhjy?c98a2DXzwYhH29TP1r$f3WRyYl_M=ibT6;*bqiyz%RU zyA5o=%?ERjN8_BcN07VdKx6Q{3X?RfJwie}20ZIS;BnP8}+0>X!KR z7`{&@tmP|tXlZFT%V3&O^Oy_jWo^WqT$O;kA%n!23qz@jBcfzI$DgZCkB(VTf_@rL zK|vt_t(wIJm?UiKnMoRZzkU=Wx%(sbyt(<;mp0H)d5}SOY%pI+hCI#&DlDNPZZ!}& zm@4X5+i>R5qS8`d?etr>F5f2<=Qv1(>~4`I{`#pA@Z;<4sHEv>ySf`Y)xkTPr7fIt zzmH4tP#lEFR1#LjF4)>+X~Q9>)l|<(dWHP>vB<=*4EcczZRJyK}#0i0pXI$`40+NW#qykTkf3yM!Y#U z=WspYz(JZ6P|~~w2nka6n`-mVQ|+-l%E9FnJ5Q}&RX<7gO;|qjD&+TN*uehG<~53% zJ0Kt+T;U}R2FcEmke%tZ!1CYaawx%Tr{I#-n@*wy!_mQ z;<7To$Y>@xpW>fC=by~X&6#iYRf%&b!|r#Ub>&J8WW3yv$#vvfdpr_TLV0(}Zfwk_ zDpXE(i9N5X@*VQh)s3S#e5r5wkqcX2+jL@LqKEsRhT=EAzP~w zGB-aPHP+|`1_lz3HylBpYf~{?Xfd#{Fr3)=^LhFC(<+aZ7KDjquSve_r+f-25_|6R zoj7q~;F4`9L=_oo41*7iG@cblB6#Rf|M$z2hGDpAhJ-tO|N9g$6=q=kI%u8A|NCV{h)2bURj>bZ3N)5v aImttT7M-3=*GndY|4wV_6Ux+WBK{Y50WJ6d literal 0 HcmV?d00001 diff --git a/doc/figures/figures.drawio b/doc/figures/figures.drawio new file mode 100644 index 0000000..8464efe --- /dev/null +++ b/doc/figures/figures.drawio @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/xfsc.md b/doc/xfsc.md new file mode 100644 index 0000000..5145041 --- /dev/null +++ b/doc/xfsc.md @@ -0,0 +1,34 @@ +# Integration into Gaia-X Federation Services + +This section describes how the SCS Gaia-X generator is integrated into the [Gaia-X Federation Services Tool Stack](https://www.gxfs.eu/specifications/). In this context, two services are important: + +- Organisation Credential Manager (OCM) +- Trust Service API (TSA) + +In Gaia-X, Participants describe themselves, their Service Offerings and Resources in a machine-readable way as [Gaia-X Credentials](https://gitlab.com/gaia-x/glossary/-/blob/main/docs/Gaia-X_credentials.md). A Gaia-X Credential is a set of [W3C Verifiable Credentials](https://www.w3.org/TR/vc-data-model/), i.e. cryptographically signed attestations about a Gaia-X entity. These credentials are stored in a secure digital wallet, called [Organization Credential Manager (OCM)](https://www.gxfs.eu/organizational-credential-manager/). The OCM supports endpoints to issue and to retrieve Verifiable Credentials. + +The SCS Gaia-X generator discovers technical properties from an OpenStack cloud, such as available flavors and images, and outputs them as claims in JSON-LD. These claims have to be stored as Verifiable Credentials in the OCM. To output Verifiable Credentials instead of claims, the Gaia-X SCS generator has to sign discovered technical properties. Signing capabilities are provided by a further GXFS tool, called [Trust Service API (TSA)](https://www.gxfs.eu/trust-services-api/). + +## Overall Architecture +The SCS Gaia-X generator acts as organisation-internal Conformity Assessment Body, which outputs Verifiable Credentials about technical properties of OpenStack clouds and stores these credentials in the OCM. To sign credentials, the GXFS TSA is used. + + ![xfsc-Architecture](figures/architecure-xfsc.png "Integration of SCS Gaia-X Generator into XFSC Landscape") + +## Workflow +The following diagram shows the dynamic behaviour of the SCS Gaia-X generator with the OCM and the TSA. + +```mermaid +sequenceDiagram + participant GaiaX generator + participant OpenStack cloud + participant TSA + participant OCM + + GaiaX generator->>OpenStack cloud: Call API for technical properties + OpenStack cloud-->>GaiaX generator: technical properties (claims) + GaiaX generator->>TSA: Sign claims in JSON-LD + TSA-->>GaiaX generator: Verifiable Credential + GaiaX generator->>OCM: Issue Verifiable Credential +``` + +In order to keep the credentials in OCM up-to-date, the process described above should be performed periodically. Currently, the OCM does not support revocation or update of Verifiable Credentials. According to the [OCM specification](https://www.gxfs.eu/download/1746/), each credential must have an expiration date. This date should match with the update cycle of the SCS Gaia-X generator. From 6fc04808a96342e855c6746d2ee1ddde36fdd440 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Mon, 16 Oct 2023 09:48:55 +0200 Subject: [PATCH 108/175] Update README.md with missing content (#57) Signed-off-by: Anja Strunk --- README.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1b2be00..3c3e532 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,14 @@ cd gx-self-description-generator pip install -r requirements.txt ``` -3. Generate Gaia-X Self-Descriptions +3. Create `clouds.yaml` configuration file + - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) + - Make sure the following keys exist in our `clouds.yaml` + - `auth.user_domain_name` + - `auth.project_domain_name` + - `region_name` + +4. Generate Gaia-X Self-Descriptions - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) ```bash From 3049abc4db6f7c4a884d425f09ea307184d7704b Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Fri, 20 Oct 2023 09:28:44 +0200 Subject: [PATCH 109/175] Replace self-description with credential (#65) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Replace self-description with credential Signed-off-by: Anja Strunk * Update README.md Co-authored-by: Matthias Büchse Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> * Update gx-cred-generator.py Co-authored-by: Matthias Büchse Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> --------- Signed-off-by: Anja Strunk Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Co-authored-by: Matthias Büchse Signed-off-by: Anja Strunk --- README.md | 8 ++++---- gx-sd-generator.py => gx-cred-generator.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) rename gx-sd-generator.py => gx-cred-generator.py (99%) diff --git a/README.md b/README.md index 3c3e532..bcd7b9b 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# gx-self-description-generator -Tools for creating Gaia-X Self-Descriptions (OpenStack, k8s, ...) +# gx-credential-generator +Tools for creating [Gaia-X Crecential](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), formally knwon as Self-Descriptions for SCS compliant cloud infrastructures (OpenStack, k8s, ...) ## OpenStack We want to collect discoverable information from an OpenStack cloud, @@ -84,13 +84,13 @@ pip install -r requirements.txt - `auth.project_domain_name` - `region_name` -4. Generate Gaia-X Self-Descriptions +4. Generate Gaia-X Credentials - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) ```bash ./gx-sd-generator.py --gaia-x --os-cloud= --file= ``` - - To use generated Gaia-X Self-Description in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option + - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard - K8s (script assumes K8s access) ```bash diff --git a/gx-sd-generator.py b/gx-cred-generator.py similarity index 99% rename from gx-sd-generator.py rename to gx-cred-generator.py index ae5b0b5..3deb3e1 100755 --- a/gx-sd-generator.py +++ b/gx-cred-generator.py @@ -2,7 +2,7 @@ # vim: set ts=4 sw=4 et: # # gx-sd-generator.py -"""Script to generate Gaia-X JSON-LD for self-descriptions. +"""Script to generate Gaia-X JSON-LD for credentials. Uses openstack-discovery.py and k8s-discovery.py to collect the data. From 4ddb70be9bc4b15e777b145f00d3a2108146bb02 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:33:04 +0100 Subject: [PATCH 110/175] Add auto-generated pyhton classes for GX Credential Schema Signed-off-by: Anja Strunk --- generator/common/gx-schema.py | 8957 ++++++++++++++++++++++ generator/gx_schema/code_artifact.py | 14 + gax-cpu.py => generator/gx_schema/cpu.py | 2 +- generator/gx_schema/credential.py | 8 + generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 + generator/gx_schema/operation_system.py | 26 + generator/gx_schema/participant.py | 14 + generator/gx_schema/resource.py | 17 + generator/gx_schema/software_resource.py | 43 + generator/gx_schema/virtual_resource.py | 26 + generator/gx_schema/vm_image.py | 17 + generator/iaas/gen_vm_image.py | 0 generator/test.py | 0 14 files changed, 9155 insertions(+), 1 deletion(-) create mode 100644 generator/common/gx-schema.py create mode 100644 generator/gx_schema/code_artifact.py rename gax-cpu.py => generator/gx_schema/cpu.py (98%) create mode 100644 generator/gx_schema/credential.py create mode 100644 generator/gx_schema/cyptography.py create mode 100644 generator/gx_schema/image.py create mode 100644 generator/gx_schema/operation_system.py create mode 100644 generator/gx_schema/participant.py create mode 100644 generator/gx_schema/resource.py create mode 100644 generator/gx_schema/software_resource.py create mode 100644 generator/gx_schema/virtual_resource.py create mode 100644 generator/gx_schema/vm_image.py create mode 100644 generator/iaas/gen_vm_image.py create mode 100644 generator/test.py diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py new file mode 100644 index 0000000..9ffe1d3 --- /dev/null +++ b/generator/common/gx-schema.py @@ -0,0 +1,8957 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-11-16T13:30:52 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[str] = None + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + if self.gps is not None and not isinstance(self.gps, str): + self.gps = str(self.gps) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if not isinstance(self.supportedOversubscriptionRatio, list): + self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] + self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[str] = "\"none\"" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): + self.gpuInterconnection = str(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class Latest-N(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX["Latest-N"] + class_class_curie: ClassVar[str] = "gx:Latest-N" + class_name: ClassVar[str] = "Latest-N" + class_model_uri: ClassVar[URIRef] = GX.Latest-N + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: Union[str, URI] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, URI): + self.unit = URI(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: Union[str, URI] = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" + firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + Others = PermissibleValue( + text="Others", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for enchryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operationg system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operationg system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), + model_uri=GX.unit, domain=None, range=Union[str, URI]) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[str]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), + model_uri=GX.latest_N__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/code_artifact.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/gax-cpu.py b/generator/gx_schema/cpu.py similarity index 98% rename from gax-cpu.py rename to generator/gx_schema/cpu.py index 5fc62c3..62689cb 100644 --- a/gax-cpu.py +++ b/generator/gx_schema/cpu.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # -# gax-cpu.py +# cpu.py """ These classes reflect the Gaia-X view on physical infra diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py new file mode 100644 index 0000000..a687cea --- /dev/null +++ b/generator/gx_schema/credential.py @@ -0,0 +1,8 @@ +from abc import ABC +from abc import abstractmethod + + +class GxCredential(ABC): + @abstractmethod + def generate_gx_cred(self) -> str: + return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py new file mode 100644 index 0000000..ed83c1f --- /dev/null +++ b/generator/gx_schema/image.py @@ -0,0 +1,32 @@ +from code_artifact import CodeArtifact +""""" +This class reflects the class 'Image' of Gaia-X Credential schema. + +""" + +from cpu import CPU + +class Image(CodeArtifact): + + def __init__(self, + fileSize: int, + operatingSystem: str, + cpuReq: CPU, + gpuReq: GPU, + ramReq: Memory, + videoRamSize: int, + rootDiskReq: Disk, + encryption: Enrcyption, + secureBoot: boolean, + vPMU: boolean, + updateStrategfy: UpdateStrategy, + license_included: boolean, + maintenance: Maintenance ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() + + + + diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/operation_system.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/participant.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py new file mode 100644 index 0000000..70bd985 --- /dev/null +++ b/generator/gx_schema/resource.py @@ -0,0 +1,17 @@ +""""" +These classe reflect the class 'Resource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx.gx_credential import GxCredential + + +class Resource(GxCredential): + aggregation_of_resources: Resource + + def __init__(self, aggregation_of_resources: Resource = None) -> None: + self.aggregation_of_resources = aggregation_of_resources + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py new file mode 100644 index 0000000..5c24cdd --- /dev/null +++ b/generator/gx_schema/software_resource.py @@ -0,0 +1,43 @@ +""""" +These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class SoftwareResource(Resource): + checksum: HypervisorType + signature: HypervisorType + version: HypervisorType + patch_level: Location + buidl_date: Location + + def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, + patch_level: Location, buidl_date: Location) -> None: + self.checksum = checksum + self.signature = signature + self.version = version + self.patch_level = patch_level + self.buidl_date = buidl_date + + + + + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/virtual_resource.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py new file mode 100644 index 0000000..bc557b6 --- /dev/null +++ b/generator/gx_schema/vm_image.py @@ -0,0 +1,17 @@ +class VmImage(): + + def __init__(self, + fileSize: int, + operatingSystem: str, + diskFormat: str, + hypervisorType: str, + firmwareType: str, + hwRngTypeOfImage: str, + watchDogAction: strl, + cpuReq: CPU) -> None: + pass + + + + + diff --git a/generator/iaas/gen_vm_image.py b/generator/iaas/gen_vm_image.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/test.py b/generator/test.py new file mode 100644 index 0000000..e69de29 From 26eb9fd4773e53e1572819f1178567261cf30725 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:42:23 +0100 Subject: [PATCH 111/175] Update python classes Signed-off-by: Anja Strunk --- generator/common/gx-schema.py | 16 ++++----- generator/gx_schema/code_artifact.py | 14 -------- generator/gx_schema/cpu.py | 36 -------------------- generator/gx_schema/credential.py | 8 ----- generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 ------------------ generator/gx_schema/operation_system.py | 26 -------------- generator/gx_schema/participant.py | 14 -------- generator/gx_schema/resource.py | 17 ---------- generator/gx_schema/software_resource.py | 43 ------------------------ generator/gx_schema/virtual_resource.py | 26 -------------- generator/gx_schema/vm_image.py | 17 ---------- 12 files changed, 8 insertions(+), 241 deletions(-) delete mode 100644 generator/gx_schema/code_artifact.py delete mode 100644 generator/gx_schema/cpu.py delete mode 100644 generator/gx_schema/credential.py delete mode 100644 generator/gx_schema/cyptography.py delete mode 100644 generator/gx_schema/image.py delete mode 100644 generator/gx_schema/operation_system.py delete mode 100644 generator/gx_schema/participant.py delete mode 100644 generator/gx_schema/resource.py delete mode 100644 generator/gx_schema/software_resource.py delete mode 100644 generator/gx_schema/virtual_resource.py delete mode 100644 generator/gx_schema/vm_image.py diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py index 9ffe1d3..d519c1d 100644 --- a/generator/common/gx-schema.py +++ b/generator/common/gx-schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:30:52 +# Generation date: 2023-11-16T13:40:58 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -475,16 +475,16 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass -class Latest-N(YAMLRoot): +class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX["Latest-N"] - class_class_curie: ClassVar[str] = "gx:Latest-N" - class_name: ClassVar[str] = "Latest-N" - class_model_uri: ClassVar[URIRef] = GX.Latest-N + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN value: Optional[int] = None @@ -8740,8 +8740,8 @@ class slots: slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) -slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), - model_uri=GX.latest_N__value, domain=None, range=Optional[int]) +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/code_artifact.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/cpu.py b/generator/gx_schema/cpu.py deleted file mode 100644 index 62689cb..0000000 --- a/generator/gx_schema/cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py deleted file mode 100644 index a687cea..0000000 --- a/generator/gx_schema/credential.py +++ /dev/null @@ -1,8 +0,0 @@ -from abc import ABC -from abc import abstractmethod - - -class GxCredential(ABC): - @abstractmethod - def generate_gx_cred(self) -> str: - return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py deleted file mode 100644 index e69de29..0000000 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py deleted file mode 100644 index ed83c1f..0000000 --- a/generator/gx_schema/image.py +++ /dev/null @@ -1,32 +0,0 @@ -from code_artifact import CodeArtifact -""""" -This class reflects the class 'Image' of Gaia-X Credential schema. - -""" - -from cpu import CPU - -class Image(CodeArtifact): - - def __init__(self, - fileSize: int, - operatingSystem: str, - cpuReq: CPU, - gpuReq: GPU, - ramReq: Memory, - videoRamSize: int, - rootDiskReq: Disk, - encryption: Enrcyption, - secureBoot: boolean, - vPMU: boolean, - updateStrategfy: UpdateStrategy, - license_included: boolean, - maintenance: Maintenance ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() - - - - diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/operation_system.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/participant.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py deleted file mode 100644 index 70bd985..0000000 --- a/generator/gx_schema/resource.py +++ /dev/null @@ -1,17 +0,0 @@ -""""" -These classe reflect the class 'Resource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx.gx_credential import GxCredential - - -class Resource(GxCredential): - aggregation_of_resources: Resource - - def __init__(self, aggregation_of_resources: Resource = None) -> None: - self.aggregation_of_resources = aggregation_of_resources - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py deleted file mode 100644 index 5c24cdd..0000000 --- a/generator/gx_schema/software_resource.py +++ /dev/null @@ -1,43 +0,0 @@ -""""" -These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class SoftwareResource(Resource): - checksum: HypervisorType - signature: HypervisorType - version: HypervisorType - patch_level: Location - buidl_date: Location - - def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, - patch_level: Location, buidl_date: Location) -> None: - self.checksum = checksum - self.signature = signature - self.version = version - self.patch_level = patch_level - self.buidl_date = buidl_date - - - - - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/virtual_resource.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py deleted file mode 100644 index bc557b6..0000000 --- a/generator/gx_schema/vm_image.py +++ /dev/null @@ -1,17 +0,0 @@ -class VmImage(): - - def __init__(self, - fileSize: int, - operatingSystem: str, - diskFormat: str, - hypervisorType: str, - firmwareType: str, - hwRngTypeOfImage: str, - watchDogAction: strl, - cpuReq: CPU) -> None: - pass - - - - - From 1105d4a636272b362552935f9377abc08c5d0584 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 14:44:49 +0100 Subject: [PATCH 112/175] Add CLI interface for openstack and kubernetes Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py | 27 +++++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 28 insertions(+) create mode 100644 generator/gen-gx-credentials.py diff --git a/generator/gen-gx-credentials.py b/generator/gen-gx-credentials.py new file mode 100644 index 0000000..8bcdbb9 --- /dev/null +++ b/generator/gen-gx-credentials.py @@ -0,0 +1,27 @@ +import click + +@click.group() +def cli(): + pass + +@click.command() +@click.argument('cloud') +def openstack(cloud): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + click.echo(f"Hello {cloud}!") + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + + +if __name__ == '__main__': + cli() + diff --git a/requirements.txt b/requirements.txt index d3962ed..80b4586 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ kubernetes==26.1.0 openstacksdk==1.1.* PyYAML==6.* +click==8.1.7 From 9c0a2424448660baf79fbee267380a1e79892b4a Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 15:26:20 +0100 Subject: [PATCH 113/175] Build framework Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py => src/cli.py | 11 ++++--- .../gx-schema.py => src/common/gx_schema.py | 10 +++---- {generator => src}/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 ++++++++++ {generator => src}/test.py | 0 src/wallet/file_wallet.py | 10 +++++++ src/wallet/wallet.py | 30 +++++++++++++++++++ src/wallet/xfsc_wallet.py | 11 +++++++ 8 files changed, 78 insertions(+), 9 deletions(-) rename generator/gen-gx-credentials.py => src/cli.py (66%) rename generator/common/gx-schema.py => src/common/gx_schema.py (99%) rename {generator => src}/iaas/gen_vm_image.py (100%) create mode 100644 src/iaas/opentack_connector.py rename {generator => src}/test.py (100%) create mode 100644 src/wallet/file_wallet.py create mode 100644 src/wallet/wallet.py create mode 100644 src/wallet/xfsc_wallet.py diff --git a/generator/gen-gx-credentials.py b/src/cli.py similarity index 66% rename from generator/gen-gx-credentials.py rename to src/cli.py index 8bcdbb9..0941e59 100644 --- a/generator/gen-gx-credentials.py +++ b/src/cli.py @@ -1,15 +1,20 @@ import click +from iaas.opentack_connector import OpenstackConnector @click.group() def cli(): pass + @click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud): +def openstack(cloud, timeout): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - click.echo(f"Hello {cloud}!") + + conn = OpenstackConnector(cloud, timeout=timeout) + @click.command() @@ -21,7 +26,5 @@ def kubernetes(): cli.add_command(openstack) cli.add_command(kubernetes) - if __name__ == '__main__': cli() - diff --git a/generator/common/gx-schema.py b/src/common/gx_schema.py similarity index 99% rename from generator/common/gx-schema.py rename to src/common/gx_schema.py index d519c1d..ccefae2 100644 --- a/generator/common/gx-schema.py +++ b/src/common/gx_schema.py @@ -8520,7 +8520,7 @@ class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random src is based in electronic quantum effects.") _defn = EnumDefinition( name="RNGTypes", @@ -8531,19 +8531,19 @@ def _addvals(cls): setattr(cls, "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) + description="Hardware random src is based on electronic noise.")) setattr(cls, "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) + description="Hardware random src is based on chaos.")) setattr(cls, "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) + description="Hardware random src is based in electronic free-running oscillators.")) setattr(cls, "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) class VMDiskType(EnumDefinitionImpl): diff --git a/generator/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py similarity index 100% rename from generator/iaas/gen_vm_image.py rename to src/iaas/gen_vm_image.py diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py new file mode 100644 index 0000000..76c99d7 --- /dev/null +++ b/src/iaas/opentack_connector.py @@ -0,0 +1,15 @@ +import openstack +impirt sys + + +class OpenstackConnector(): + """Abstraction for Openstack API calls.""" + def __init__(self, cloud, timeout): + self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + self.conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + self.conn.authorize() diff --git a/generator/test.py b/src/test.py similarity index 100% rename from generator/test.py rename to src/test.py diff --git a/src/wallet/file_wallet.py b/src/wallet/file_wallet.py new file mode 100644 index 0000000..a71a2e8 --- /dev/null +++ b/src/wallet/file_wallet.py @@ -0,0 +1,10 @@ +from wallet import WalletConnector + + +class FileSystemWallet(WalletConnector): + """ + Abstraction for filesystem acting as wallet. + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) diff --git a/src/wallet/wallet.py b/src/wallet/wallet.py new file mode 100644 index 0000000..592bd61 --- /dev/null +++ b/src/wallet/wallet.py @@ -0,0 +1,30 @@ +from abc import ABCMeta +from abc import abstractmethod +from linkml_runtime.utils.yamlutils import YAMLRoot + + +class WalletConnector(ABCMeta): + """ + Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector + wraps API calls for different kind of wallets. + """ + + @abstractmethod + def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + pass + + @abstractmethod + def get_provider_cred_did(self, service_offering: str) -> str: + """Returns DID of provider of given service offering. + + Parameters + ---------- + service_offering : str + DID of service offering + + Returns + ------- + str + DID of service offering's provider + """ + return "" diff --git a/src/wallet/xfsc_wallet.py b/src/wallet/xfsc_wallet.py new file mode 100644 index 0000000..b699aa1 --- /dev/null +++ b/src/wallet/xfsc_wallet.py @@ -0,0 +1,11 @@ +from wallet import WalletConnector + + +class XFSCWallet(WalletConnector): + """ + Abstraction XFSC wallet, called Organization Credential Manager. + See https://projects.eclipse.org/projects/technology.xfsc + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) From 710fd7c96ac7b20f3e532d882bb2276dff3fba7e Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 17 Nov 2023 11:11:15 +0100 Subject: [PATCH 114/175] Update vm image generations Signed-off-by: Anja Strunk --- generator/cli.py | 49 +++++++++ generator/common/const.py | 4 + {src => generator}/common/gx_schema.py | 32 +++--- .../openstack/discovery_vm_images.py | 87 +++++++++++++++ .../discovery/openstack/opentack_discovery.py | 102 ++++++++++++++++++ {src => generator}/test.py | 0 {src => generator}/wallet/file_wallet.py | 0 {src => generator}/wallet/wallet.py | 0 {src => generator}/wallet/xfsc_wallet.py | 0 src/cli.py | 30 ------ src/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 --- 12 files changed, 259 insertions(+), 60 deletions(-) create mode 100644 generator/cli.py create mode 100644 generator/common/const.py rename {src => generator}/common/gx_schema.py (99%) create mode 100644 generator/discovery/openstack/discovery_vm_images.py create mode 100644 generator/discovery/openstack/opentack_discovery.py rename {src => generator}/test.py (100%) rename {src => generator}/wallet/file_wallet.py (100%) rename {src => generator}/wallet/wallet.py (100%) rename {src => generator}/wallet/xfsc_wallet.py (100%) delete mode 100644 src/cli.py delete mode 100644 src/iaas/gen_vm_image.py delete mode 100644 src/iaas/opentack_connector.py diff --git a/generator/cli.py b/generator/cli.py new file mode 100644 index 0000000..b363ee3 --- /dev/null +++ b/generator/cli.py @@ -0,0 +1,49 @@ +import click +import openstack as os +import sys + +from generator.discovery.openstack.opentack_discovery import OsCloud + + +@click.group() +def cli(): + pass + + +@click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') +@click.argument('cloud') +def openstack(cloud, timeout): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + + # init Openstack Connections + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + conn.authorize() + + # generate Gaia-X Credentials + os_cloud = OsCloud(conn) + props = os_cloud.discover_properties() + + + + + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + +if __name__ == '__main__': + cli() diff --git a/generator/common/const.py b/generator/common/const.py new file mode 100644 index 0000000..fc0af98 --- /dev/null +++ b/generator/common/const.py @@ -0,0 +1,4 @@ +DEFAULT_RESOURCE_POLICY = "default: allow intent" + +UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" \ No newline at end of file diff --git a/src/common/gx_schema.py b/generator/common/gx_schema.py similarity index 99% rename from src/common/gx_schema.py rename to generator/common/gx_schema.py index ccefae2..543b40a 100644 --- a/src/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:40:58 +# Generation date: 2023-11-17T10:12:38 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -272,7 +272,7 @@ class CPU(Device): class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU - cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" cpuFlag: Optional[Union[str, List[str]]] = empty_list() smtEnabled: Optional[Union[bool, Bool]] = False numberOfCores: Optional[int] = None @@ -656,8 +656,8 @@ class Memory(Device): class_model_uri: ClassVar[URIRef] = GX.Memory memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" eccEnabled: Optional[Union[bool, Bool]] = False hardwareEncryption: Optional[Union[bool, Bool]] = False @@ -1383,9 +1383,9 @@ class VMImage(Image): copyrightOwnedBy: Union[str, List[str]] = None license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" - firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" @@ -3993,8 +3993,8 @@ def _addvals(cls): class Architectures(EnumDefinitionImpl): - Others = PermissibleValue( - text="Others", + other = PermissibleValue( + text="other", description="CPU architecture not specified above.") _defn = EnumDefinition( @@ -5198,6 +5198,8 @@ class OSDistribution(EnumDefinitionImpl): @classmethod def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) setattr(cls, "CentOS Linux", @@ -8484,7 +8486,7 @@ class FirmType(EnumDefinitionImpl): """ BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") - others = PermissibleValue(text="others") + other = PermissibleValue(text="other") _defn = EnumDefinition( name="FirmType", @@ -8520,7 +8522,7 @@ class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random src is based in electronic quantum effects.") + description="Hardware random generator is based in electronic quantum effects.") _defn = EnumDefinition( name="RNGTypes", @@ -8531,19 +8533,19 @@ def _addvals(cls): setattr(cls, "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random src is based on electronic noise.")) + description="Hardware random generator is based on electronic noise.")) setattr(cls, "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random src is based on chaos.")) + description="Hardware random generator is based on chaos.")) setattr(cls, "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random src is based in electronic free-running oscillators.")) + description="Hardware random generator is based in electronic free-running oscillators.")) setattr(cls, "None", PermissibleValue( text="None", - description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) class VMDiskType(EnumDefinitionImpl): diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py new file mode 100644 index 0000000..2bec6ca --- /dev/null +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -0,0 +1,87 @@ +from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import VMImage as GX_Image + +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +from typing import List + +import generator.common.const as const + + +class VmDiscovery(): + + def __init__(self, conn: Connection) -> None: + self.conn = conn + + + #def collect_vm_images(self, conn: Connection) -> List[str]: + def discover_vm_images(self) -> List[GX_Image]: + """ + Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. + + @param conn: Connection to openstack cloud VM images are to be collected + @return: list of VM images + """ + + images = list() + for image in self.conn.list_images(): + self._convert_to_gx_image(image) + + return images + + def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: + """ + Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + @param os_image: Openstack image properties + @return: Gaia-X compliant virtual machine image + """ + + # collect all properties + cpu_req = self._get_cpu_req(os_image.architecture) + ram_req = self._get_min_ram_req(os_image.min_ram) + root_disk_req = self._get_min_disk_req(os_image.min_disk) + + return GX_Image(copyrightOwnedBy='TBA', + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + version=os_image.os_version) + + @staticmethod + def _get_cpu_req(arch: str) -> CPU: + if arch == "i686": + return CPU(cpuArchitecture="x86-32") + if arch in ["x86_64", "ia64"]: + return CPU(cpuArchitecture="x86-64") + if arch == "aarch6": + return CPU(cpuArchitecture="AArch-32") + if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return CPU(cpuArchitecture="RISC-V") + return CPU(cpuArchitecture=cpu_arch_types.other) + + @staticmethod + def _get_min_ram_req(min_ram_size: str) -> Memory: + # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. + # But OpenStack uses MiB. + size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize = size) + + @staticmethod + def _get_min_disk_req(disk_size: str) -> Disk: + size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize = size) + + + def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + if os_distro == "arch": + return OperatingSystem(version=os_version, os_distro="Arch Linux") + if os_distro == "centos": + return OperatingSystem(version=os_version, os_distro="CentOS Linux") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py new file mode 100644 index 0000000..b7feca9 --- /dev/null +++ b/generator/discovery/openstack/opentack_discovery.py @@ -0,0 +1,102 @@ +import openstack +from openstack.connection import Connection +import sys + +from generator.discovery.openstack.discovery_vm_images import VmDiscovery + +class OsCloud: + "Abstraction for openStack cloud with all its services" + def __init__(self, conn: Connection) -> None: + # import copy + self.conn = conn + self.auth = conn.auth + self.regions = list(conn.identity.regions()) + + def discover_properties(self): + vm_dis = VmDiscovery(self.conn) + vm_dis.discover_vm_images() + + + # Create per region service catalogs + """self.regcat = {} + for region in self.regions: + reg = region.id + self.regcat[reg] = [] + for svc in conn.service_catalog: + svccat = osServiceCat(svc, reg) + if svccat.ep: + self.regcat[reg].append(svccat) + if debug: + print(f"#DEBUG: Svc Cat region {reg}: {self.regcat}", file=sys.stderr) + # Well-known OpenStack services + self.ostacksvc = {} + if "project_id" in conn.auth: + prj_id = conn.auth["project_id"] + else: + prj_id = conn.identity.get_project_id() + # Iterate over regions + for region in self.regions: + # Keep list of already handled services to avoid duplicates/aliases + handled = [] + # Dictionary to collect OpenStack services + ostacksvc = {} + reg = region.id + if debug: + print(f"#INFO: Creation service catalog for region {reg}", file=sys.stderr) + # Iterate over service catalog + for svc in self.regcat[reg]: + assert svc.ep + assert reg == svc.region + # Treating those two legacy services as non-OpenStack (just list EPs) + if svc.type in [*handled, "compute_legacy", "cloudformation"]: + continue + newsvc = None + for osClass in OSClasses: + if svc.type in osClass.svcID: + newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend(osClass.svcID) + break + if not newsvc: + newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) + handled.extend((svc.type, newsvc.stype,)) + # Only attach if conn is non-empty + if newsvc.conn: + ostacksvc[newsvc.stype] = newsvc + if debug: + print(f"#DEBUG: Region {reg} added OS Svc {newsvc}", file=sys.stderr) + svc.consumed = True + elif debug: + print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) + # Handle remaining services that are listed + for svc in self.regcat[reg]: + if not svc.consumed and svc.type not in ostacksvc: + ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) + if debug: + print(f"#DEBUG: Region {reg} added Non-OS {ostacksvc[svc.type]}", file=sys.stderr) + svc.consumed = True + self.ostacksvc[reg] = ostacksvc + # TODO: Iterate over non-consumed services (global, non-region specifc) + + def values(self, prefix=''): + "dict representing stored data" + inner = {"regions": list(map(lambda x: x.id, self.regions))} + if outjson: + inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") + else: + inner["auth_url"] = self.auth["auth_url"] + for reg, ostacksvc in self.ostacksvc.items(): + inner[reg] = {} + for svckey in ostacksvc: + svc = ostacksvc[svckey] + inner[reg] = appenddicts(inner[reg], svc.values()) + if outjson: + inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") + if prefix: + return add_prefix_to_dict_keys(inner, prefix) + return inner + + def __str__(self): + # print(self.values()) + if outjson: + return json.dumps({"OpenStackService": self.values()}, indent=indent) + return yaml.dump({"openstack": self.values()}, default_flow_style=False)""" diff --git a/src/test.py b/generator/test.py similarity index 100% rename from src/test.py rename to generator/test.py diff --git a/src/wallet/file_wallet.py b/generator/wallet/file_wallet.py similarity index 100% rename from src/wallet/file_wallet.py rename to generator/wallet/file_wallet.py diff --git a/src/wallet/wallet.py b/generator/wallet/wallet.py similarity index 100% rename from src/wallet/wallet.py rename to generator/wallet/wallet.py diff --git a/src/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py similarity index 100% rename from src/wallet/xfsc_wallet.py rename to generator/wallet/xfsc_wallet.py diff --git a/src/cli.py b/src/cli.py deleted file mode 100644 index 0941e59..0000000 --- a/src/cli.py +++ /dev/null @@ -1,30 +0,0 @@ -import click -from iaas.opentack_connector import OpenstackConnector - -@click.group() -def cli(): - pass - - -@click.command() -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') -def openstack(cloud, timeout): - """Generates Gaia-X Credentials for openstack cloud CLOUD. - CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - - conn = OpenstackConnector(cloud, timeout=timeout) - - - -@click.command() -def kubernetes(): - """Generates Gaia-X Credentials for kubernetes.""" - pass - - -cli.add_command(openstack) -cli.add_command(kubernetes) - -if __name__ == '__main__': - cli() diff --git a/src/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py deleted file mode 100644 index 76c99d7..0000000 --- a/src/iaas/opentack_connector.py +++ /dev/null @@ -1,15 +0,0 @@ -import openstack -impirt sys - - -class OpenstackConnector(): - """Abstraction for Openstack API calls.""" - def __init__(self, cloud, timeout): - self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) - try: - self.conn.authorize() - except Exception: - print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') - self.conn.authorize() From cfea3835e83890e2767497d76cc487658180ad6b Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 18 Dec 2023 13:00:10 +0100 Subject: [PATCH 115/175] Add default values for operating system Signed-off-by: Anja Strunk --- config/config.yaml | 107 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100644 config/config.yaml diff --git a/config/config.yaml b/config/config.yaml new file mode 100644 index 0000000..bae2265 --- /dev/null +++ b/config/config.yaml @@ -0,0 +1,107 @@ +vm image: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: DEFAULT + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 + Arch Linux: + copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" + resource policy: DEFAULT + license: + - https://gitlab.archlinux.org/archlinux + CentOS Linux: + copyright owner: "The CentOS Project and others" + resource policy: DEFAULT + license: + - https://github.com/CentOS/ + Debian: + copyright owner: "Ian Murdock and others" + resource policy: DEFAULT + license: + - https://www.debian.org/legal/licenses/index.en.html + Fedora: + copyright owner: "Fedora-Project" + resource policy: DEFAULT + license: + - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ + FreeBSD: + copyright owner: "The FreeBSD Project" + resource policy: DEFAULT + license: + - GPL-3.0 + - LGPL-2.0 + Gentoo Linux: + copyright owner: "Gentoo Foundation, Inc." + resource policy: DEFAULT + license: + - https://www.gentoo.org/glep/glep-0076.html + Mandrakelinux: + copyright owner: "Mandriva Linux" + resource policy: DEFAULT + license: + - GPL-3.0 + Mandriva Linux: + copyright owner: "Mandriva S. A." + resource policy: DEFAULT + license: + - GPL-3.0 + Mandriva Enterprise Server: + copyright owner: "Mandriva S. A." + resource policy: DEFAULT + license: + - GPL-3.0 + MS-DOS: + copyright owner: "Microsoft Corporation" + resource policy: DEFAULT + license: + - https://www.microsoft.com/licensing/docs/view/Licensing-Guides + NetBSD: + copyright owner: "The NetBSD Foundation" + resource policy: DEFAULTV + license: + - https://www.netbsd.org/about/redistribution.html + Novell NetWare: + copyright owner: "Micro Focus International" + resource policy: DEFAULT + license: + - https://support.novell.com/techcenter/articles/ana19960702.html + OpenBSD: + copyright owner: "OpenBSD" + resource policy: DEFAULT + license: + - https://www.openbsd.org/policy.html + OpenSolaris: + copyright owner: "Sun Microsystems" + resource policy: DEFAULT + license: + - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html + openSUSE: + copyright owner: "openSUSE contributors & others" + resource policy: DEFAULT + license: + - https://en.opensuse.org/openSUSE:License + Rocky Linux: + copyright owner: "Rocky Enterprise Software Foundation" + resource policy: DEFAULT + license: + - https://rockylinux.org/licensing + Red Hat Enterprise Linux: + copyright owner: "Red Hat, Inc." + resource policy: DEFAULT + license: + - https://www.redhat.com/en/store/red-hat-enterprise-linux-server + SUSE Linux Enterprise Desktop: + copyright owner: "SUSE" + resource policy: "" + license: + - https://www.suse.com/products/terms_and_conditions.pdf + Ubuntu: + copyright owner: "Canonical" + resource policy: DEFAULT + license: + - https://ubuntu.com/legal/open-source-licences + Microsoft Windows: + copyright owner: "Microsoft Corporation" + resource policy: DEFAULT + license: + - https://www.microsoft.com/licensing \ No newline at end of file From ee1e31ec3e25e1e43a230372da440d147b47fb4d Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 12:17:06 +0100 Subject: [PATCH 116/175] Support mandatory attributes of VM Images Signed-off-by: Anja Strunk --- config/config.yaml | 25 +- generator/cli.py | 13 +- generator/common/const.py | 34 +- generator/common/gaia-x.shacl | 2275 +++++++++++++++++ generator/common/gx_schema.py | 316 ++- .../openstack/discovery_vm_images.py | 192 +- .../discovery/openstack/opentack_discovery.py | 9 +- 7 files changed, 2798 insertions(+), 66 deletions(-) create mode 100644 generator/common/gaia-x.shacl diff --git a/config/config.yaml b/config/config.yaml index bae2265..27a563d 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -28,7 +28,7 @@ vm image: copyright owner: "The FreeBSD Project" resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." @@ -39,17 +39,17 @@ vm image: copyright owner: "Mandriva Linux" resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." resource policy: DEFAULT license: - - GPL-3.0 + - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" resource policy: DEFAULT @@ -104,4 +104,19 @@ vm image: copyright owner: "Microsoft Corporation" resource policy: DEFAULT license: - - https://www.microsoft.com/licensing \ No newline at end of file + - https://www.microsoft.com/licensing + CirrOS: + copyright owner: "Canonical Ltd." + resource policy: DEFAULT + license: + - GPL-2.0-only + AlmaLinux: + copyright owner: "Canonical Ltd." + resource policy: DEFAULT + license: + - https://almalinux.org/p/the-almalinux-os-licensing-policy/ + Debian 11: + copyright owner: "AlmaLinux OS Foundation" + resource policy: DEFAULT + license: + - https://www.abc.org \ No newline at end of file diff --git a/generator/cli.py b/generator/cli.py index b363ee3..e691f57 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,6 +1,7 @@ import click import openstack as os import sys +import yaml from generator.discovery.openstack.opentack_discovery import OsCloud @@ -11,9 +12,10 @@ def cli(): @click.command() +@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout): +def openstack(cloud, timeout, config): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,12 +30,9 @@ def openstack(cloud, timeout): conn.authorize() # generate Gaia-X Credentials - os_cloud = OsCloud(conn) - props = os_cloud.discover_properties() - - - - + with open(config, "r") as config_file: + os_cloud = OsCloud(conn, yaml.safe_load(config_file)) + props = os_cloud.discover_properties() @click.command() diff --git a/generator/common/const.py b/generator/common/const.py index fc0af98..bfb6edc 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,4 +1,34 @@ DEFAULT_RESOURCE_POLICY = "default: allow intent" -UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" -UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" \ No newline at end of file +UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" + + +CONFIG_VM_IMAGE = "vm image" +CONFIG_RESOURCE_POLICY = "resource policy" +CONFIG_LICENSE = "license" +CONFIG_COPYRIGHT = "copyright owner" + +CONFIG_OS_ALP = "Alpine Linux" +CONFIG_OS_ARCH = "Arch Linux" +CONFIG_OS_CENTOS = "CentOS Linux" +CONFIG_OS_DEBIAN = "Debian" +CONFIG_OS_FEDORA = "Fedora" +CONFIG_OS_FREEBSD = "FreeBSD" +CONFIG_OS_GENTOO = "Gentoo Linux" +CONFIG_OS_MANDRAKE = "Mandrake Linux" +CONFIG_OS_MANDRIVA = "Mandriva Linux" +CONFIG_OS_MES = "Mandriva Enterprise Server" +CONFIG_OS_MSDOS = "MS-DOS" +CONFIG_OS_NETBSD = "NetBSD" +CONFIG_OS_NOVELL = "Novell Netware" +CONFIG_OS_OPENBSD = "OpenBSD" +CONFIG_OS_SOLARIS = "OpenSolaris" +CONFIG_OS_OPEN_SUSE = "openSUSE" +CONFIG_OS_ROCKY = "Rocky Linux" +CONFIG_OS_RHEL = "Red Hat Enterprise Linux" +CONFIG_OS_SLED = "SUSE Linux Enterprise Desktop" +CONFIG_OS_UBUNTU = "Ubuntu" +CONFIG_OS_WINDOWS = "Microsoft Windows" +CONFIG_OS_CIRROS = "CirrOS" +CONFIG_OS_ALMALINUX = "AlmaLinux" \ No newline at end of file diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl new file mode 100644 index 0000000..e13e0ae --- /dev/null +++ b/generator/common/gaia-x.shacl @@ -0,0 +1,2275 @@ +@prefix gx: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:CodeArtifact a sh:NodeShape ; + sh:closed false ; + sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Code Artifact" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:CodeArtifact . + +gx:DataResource a sh:NodeShape ; + sh:closed false ; + sh:description "A dataset exposed through a service instance." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Resource" ; + sh:property [ sh:class gx:DataExchangeComponent ; + sh:description "A resolvable link to the data exchange component that exposes the data resource." ; + sh:minCount 1 ; + sh:name "exposed through" ; + sh:order 1 ; + sh:path gx:exposedThrough ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is obsolete." ; + sh:maxCount 1 ; + sh:name "obsolete dateTime" ; + sh:order 2 ; + sh:path gx:obsoleteDateTime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to participant legally enabling the data usage." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "produced by" ; + sh:order 0 ; + sh:path gx:producedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:Consent ; + sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; + sh:name "consent" ; + sh:order 6 ; + sh:path gx:consent ], + [ sh:datatype xsd:boolean ; + sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "contains PII" ; + sh:order 4 ; + sh:path gx:containsPII ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 9 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:Participant ; + sh:description "data controller Participant as defined in GDPR." ; + sh:name "data controller" ; + sh:order 5 ; + sh:path gx:dataController ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 7 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; + sh:maxCount 1 ; + sh:name "expiration dateTime" ; + sh:order 3 ; + sh:path gx:expirationDateTime ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 8 ; + sh:path gx:license ] ; + sh:targetClass gx:DataResource . + +gx:Device a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 1 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 2 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 3 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:vendor ] ; + sh:targetClass gx:Device . + +gx:GaiaX a sh:NodeShape ; + sh:closed false ; + sh:description "Top level element of Gaia-X ecosystem." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:GaiaX . + +gx:GaiaXEntity a sh:NodeShape ; + sh:closed false ; + sh:description "Root class for Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Gaia-X Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:GaiaXEntity . + +gx:Hypervisor a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:hypervisorType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:Hypervisor . + +gx:Image a sh:NodeShape ; + sh:closed false ; + sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Image" ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 5 ; + sh:path gx:videoRamSize ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:encryption ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 9 ; + sh:path gx:secureBoot ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:signature ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 2 ; + sh:path gx:cpuReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:updateStrategy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 10 ; + sh:path gx:vPMU ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 24 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 11 ; + sh:path gx:multiQueues ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 23 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:checkSum ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 19 ; + sh:path gx:buildDate ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 3 ; + sh:path gx:gpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 20 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 25 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 18 ; + sh:path gx:patchLevel ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 6 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 22 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 13 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:checksum ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 4 ; + sh:path gx:ramReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 1 ; + sh:path gx:operatingSystem ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 0 ; + sh:path gx:fileSize ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 21 ; + sh:path gx:license ] ; + sh:targetClass gx:Image . + +gx:InstantiationRequirement a sh:NodeShape ; + sh:closed false ; + sh:description "A container class to gather all requirements for compute service offering instantiations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Instantiation Requirement" ; + sh:targetClass gx:InstantiationRequirement . + +gx:Issuer a sh:NodeShape ; + sh:closed false ; + sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; + sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 0 ; + sh:path gx:issuerTermsAndConditions ] ; + sh:targetClass gx:Issuer . + +gx:PXEImage a sh:NodeShape ; + sh:closed false ; + sh:description "PXE image for physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "PXE image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 4 ; + sh:path gx:gpuReq ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 5 ; + sh:path gx:ramReq ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 21 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 11 ; + sh:path gx:vPMU ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:checkSum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:encryption ], + [ sh:description "Disk format. Default \"ISO\"." ; + sh:in ( "WINPE" "ISO" ) ; + sh:maxCount 1 ; + sh:name "disk format" ; + sh:order 0 ; + sh:path gx:pxeImageDiskFormat ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 23 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 20 ; + sh:path gx:buildDate ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:checksum ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 10 ; + sh:path gx:secureBoot ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 1 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 14 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 26 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 22 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 19 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 25 ; + sh:path gx:name ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:maintenance ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path gx:version ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 12 ; + sh:path gx:multiQueues ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 7 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 6 ; + sh:path gx:videoRamSize ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 3 ; + sh:path gx:cpuReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 2 ; + sh:path gx:operatingSystem ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:updateStrategy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 24 ; + sh:path gx:aggregationOfResources ] ; + sh:targetClass gx:PXEImage . + +gx:RegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:RegistrationNumber . + +gx:Resource a sh:NodeShape ; + sh:closed false ; + sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 1 ; + sh:path gx:name ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 0 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 2 ; + sh:path gx:description ] ; + sh:targetClass gx:Resource . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:ConfidentialComputing a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "indicates whether confidential server has an associated attestation service." ; + sh:maxCount 1 ; + sh:name "attestation service URI" ; + sh:order 1 ; + sh:path gx:attestationServiceURI ], + [ sh:datatype xsd:string ; + sh:description "Particular confidential computing technology used by the flavors as defined in..." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:technology ] ; + sh:targetClass gx:ConfidentialComputing . + +gx:Consent a sh:NodeShape ; + sh:closed false ; + sh:description "Information on the legitimate processing of information related to PII." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Consent" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; + sh:minCount 1 ; + sh:name "purpose" ; + sh:order 2 ; + sh:path gx:purpose ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; + sh:minCount 1 ; + sh:name "data protection contact point" ; + sh:order 1 ; + sh:path gx:dataProtectionContactPoint ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; + sh:minCount 1 ; + sh:name "consent withdrawal contact point" ; + sh:order 3 ; + sh:path gx:consentWithdrawalContactPoint ], + [ sh:datatype xsd:string ; + sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal Basis" ; + sh:order 0 ; + sh:path gx:legalBasis ] ; + sh:targetClass gx:Consent . + +gx:DataExchangeComponent a sh:NodeShape ; + sh:closed false ; + sh:description "A service/resource used to make a data resource available." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Exchange Component" ; + sh:targetClass gx:DataExchangeComponent . + +gx:EORI a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The Economic Operators Registration and Identification number (EORI)." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:eori ] ; + sh:targetClass gx:EORI . + +gx:EUID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:euid ] ; + sh:targetClass gx:EUID . + +gx:GPSLocation a sh:NodeShape ; + sh:closed false ; + sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; + sh:maxCount 1 ; + sh:name "crs" ; + sh:order 3 ; + sh:path gx:crs ; + sh:pattern "^CRS" ], + [ sh:datatype xsd:string ; + sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; + sh:maxCount 1 ; + sh:name "altitude" ; + sh:order 2 ; + sh:path gx:altitude ], + [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "latitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 0 ; + sh:path gx:latitude ], + [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "longitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 1 ; + sh:path gx:longitude ] ; + sh:targetClass gx:GPSLocation . + +gx:LatestN a sh:NodeShape ; + sh:closed false ; + sh:description "Number of latest N outdated image versions, which will be valid." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:order 0 ; + sh:path gx:value ] ; + sh:targetClass gx:LatestN . + +gx:LeiCode a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unique LEI number as defined by https://www.gleif.org." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:LeiCode . + +gx:LocalRegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The state issued company number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:local ] ; + sh:targetClass gx:LocalRegistrationNumber . + +gx:Participant a sh:NodeShape ; + sh:closed false ; + sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ] ; + sh:targetClass gx:Participant . + +gx:ServerFlavor a sh:NodeShape ; + sh:closed false ; + sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Server Flavor" ; + sh:property [ sh:class gx:ConfidentialComputing ; + sh:description "Details with respect to confidential computing capabilities of the flavor." ; + sh:maxCount 1 ; + sh:name "confidential computing" ; + sh:order 6 ; + sh:path gx:confidentialComputing ], + [ sh:class gx:Memory ; + sh:description "Size of RAM of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:ram ], + [ sh:datatype xsd:string ; + sh:description "Network capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:network ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 9 ; + sh:path gx:hwRngTypeOfFlavor ], + [ sh:class gx:GPU ; + sh:description "GPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:gpu ], + [ sh:class gx:Disk ; + sh:description "Additional volume capabilities of boot volume of the flavor." ; + sh:name "additional volume" ; + sh:order 5 ; + sh:path gx:additionalVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; + sh:maxCount 1 ; + sh:name "Hardware-assisted virtualization" ; + sh:order 8 ; + sh:path gx:hardwareAssistedVirtualization ], + [ sh:class gx:SoftwareResource ; + sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:hypervisor ], + [ sh:class gx:CPU ; + sh:description "CPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "CPU requirements" ; + sh:order 0 ; + sh:path gx:cpu ], + [ sh:class gx:Disk ; + sh:description "Boot volume capabilities of boot volume of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "boot volume" ; + sh:order 4 ; + sh:path gx:bootVolume ] ; + sh:targetClass gx:ServerFlavor . + +gx:StandardConformity a sh:NodeShape ; + sh:closed false ; + sh:description "Details about standard applied to Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Name of the standard." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "title" ; + sh:order 0 ; + sh:path gx:title ], + [ sh:datatype xsd:anyURI ; + sh:description "Provides a link to schemas or details about applied standards." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "standard reference" ; + sh:order 1 ; + sh:path gx:standardReference ], + [ sh:datatype xsd:string ; + sh:description "Publisher of the standard." ; + sh:maxCount 1 ; + sh:name "publisher" ; + sh:order 2 ; + sh:path gx:publisher ] ; + sh:targetClass gx:StandardConformity . + +gx:VMImage a sh:NodeShape ; + sh:closed false ; + sh:description "Image for virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "VM image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 8 ; + sh:path gx:gpuReq ], + [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; + sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; + sh:maxCount 1 ; + sh:name "VM Image disk format" ; + sh:order 0 ; + sh:path gx:vmImageDiskFormat ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path gx:maintenance ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 28 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 15 ; + sh:path gx:vPMU ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path gx:signature ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path gx:checksum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:encryption ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 25 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 14 ; + sh:path gx:secureBoot ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 3 ; + sh:path gx:hwRngTypeOfImage ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 29 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 16 ; + sh:path gx:multiQueues ], + [ sh:description "Type of firmware which which guests are booted." ; + sh:in ( "BIOS" "UEFI" "other" ) ; + sh:maxCount 1 ; + sh:name "Firmware type" ; + sh:order 2 ; + sh:path gx:firmwareType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 26 ; + sh:path gx:license ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 11 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:updateStrategy ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 7 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 23 ; + sh:path gx:patchLevel ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 5 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 24 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 30 ; + sh:path gx:description ], + [ sh:description "Hypervisor type required by the image" ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:name "Hypervisor type" ; + sh:order 1 ; + sh:path gx:hypervisorType ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 6 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 27 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:checkSum ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 10 ; + sh:path gx:videoRamSize ], + [ sh:description "Define the action to be performed if server hangs." ; + sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; + sh:maxCount 1 ; + sh:name "Watchdog action" ; + sh:order 4 ; + sh:path gx:watchDogAction ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 18 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 9 ; + sh:path gx:ramReq ] ; + sh:targetClass gx:VMImage . + +gx:VatID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The VAT identification number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:vatID ] ; + sh:targetClass gx:VatID . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:GPSUnit a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of a geographical point." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 180 ; + sh:minCount 1 ; + sh:minInclusive -180 ; + sh:name "degrees" ; + sh:order 0 ; + sh:path gx:degrees ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:maxInclusive 1 ; + sh:minInclusive 0 ; + sh:name "decimals" ; + sh:order 3 ; + sh:path gx:decimals ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "seconds" ; + sh:order 2 ; + sh:path gx:seconds ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "minutes" ; + sh:order 1 ; + sh:path gx:minutes ] ; + sh:targetClass gx:GPSUnit . + +gx:Encryption a sh:NodeShape ; + sh:closed false ; + sh:description "Encryption capabilities of a Gaia-X entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; + sh:in ( "BYOK" "HYOK" "managed" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "key management" ; + sh:order 1 ; + sh:path gx:keyManagement ], + [ sh:description "Supported algorithm used to encrypt." ; + sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "encryption algorithm" ; + sh:order 0 ; + sh:path gx:cipher ] ; + sh:targetClass gx:Encryption . + +gx:MaintenanceSubscription a sh:NodeShape ; + sh:closed false ; + sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; + sh:maxCount 1 ; + sh:name "Subscription required" ; + sh:order 1 ; + sh:path gx:subscriptionRequired ], + [ sh:datatype xsd:date ; + sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; + sh:maxCount 1 ; + sh:name "Maintenance until" ; + sh:order 2 ; + sh:path gx:maintainedUntil ], + [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; + sh:maxCount 1 ; + sh:name "Subscription included" ; + sh:order 0 ; + sh:path gx:subscriptionIncluded ] ; + sh:targetClass gx:MaintenanceSubscription . + +gx:UpdateStrategy a sh:NodeShape ; + sh:closed false ; + sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; + sh:maxCount 1 ; + sh:name "Old versions Valid until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; + sh:order 2 ; + sh:path gx:oldVersionsValidUntil ], + [ sh:datatype xsd:integer ; + sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; + sh:maxCount 1 ; + sh:minInclusive 0 ; + sh:name "Hotfix hours" ; + sh:order 1 ; + sh:path gx:hotfixHours ], + [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; + sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; + sh:maxCount 1 ; + sh:name "Replace Frequency" ; + sh:order 0 ; + sh:path gx:replaceFrequency ], + [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; + sh:maxCount 1 ; + sh:name "Provided until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; + sh:order 3 ; + sh:path gx:providedUntil ] ; + sh:targetClass gx:UpdateStrategy . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Full address of the entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "the street address of a postal address" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ], + [ sh:class gx:GPSLocation ; + sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; + sh:order 1 ; + sh:path gx:gps ], + [ sh:datatype xsd:string ; + sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ], + [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; + sh:order 0 ; + sh:path gx:countryCode ], + [ sh:datatype xsd:string ; + sh:description "String of a street-address" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ] ; + sh:targetClass . + +gx:CPU a sh:NodeShape ; + sh:closed false ; + sh:description "Computational processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Last Level Cache size of the CPU." ; + sh:maxCount 1 ; + sh:name "last level cache size" ; + sh:order 7 ; + sh:path gx:lastLevelCacheSize ], + [ sh:class ; + sh:description "Boost frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "boost CPU frequency" ; + sh:order 6 ; + sh:path gx:boostFrequency ], + [ sh:datatype xsd:string ; + sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; + sh:name "CPU flags" ; + sh:order 1 ; + sh:path gx:cpuFlag ], + [ sh:datatype xsd:integer ; + sh:description "Number of threads of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of threads" ; + sh:order 4 ; + sh:path gx:numberOfThreads ], + [ sh:class ; + sh:description "Base frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "base CPU frequency" ; + sh:order 5 ; + sh:path gx:baseFrequency ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:vendor ], + [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; + sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; + sh:maxCount 1 ; + sh:name "CPU architecture" ; + sh:order 0 ; + sh:path gx:cpuArchitecture ], + [ sh:datatype xsd:boolean ; + sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; + sh:maxCount 1 ; + sh:name "smt enabled" ; + sh:order 2 ; + sh:path gx:smtEnabled ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 12 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 10 ; + sh:path gx:generation ], + [ sh:class ; + sh:description "CPU Thermal Design Power." ; + sh:maxCount 1 ; + sh:name "thermal design power" ; + sh:order 8 ; + sh:path gx:thermalDesignPower ], + [ sh:datatype xsd:integer ; + sh:description "Number of cores of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of CPU cores" ; + sh:order 3 ; + sh:path gx:numberOfCores ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 11 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:CPU . + +gx:ComputeServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Compute Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 2 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 8 ; + sh:path gx:keyword ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 13 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 6 ; + sh:path gx:dataProtectionRegime ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 0 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 10 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 7 ; + sh:path gx:dataAccountExport ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 12 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 1 ; + sh:path gx:providedBy ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 11 ; + sh:path gx:hostedOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 9 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 4 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 5 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:ComputeServiceOffering . + +gx:DataAccountExport a sh:NodeShape ; + sh:closed false ; + sh:description "List of methods to export data from your account out of the service." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; + sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "format type" ; + sh:order 2 ; + sh:path gx:formatType ], + [ sh:description "Type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "access type" ; + sh:order 1 ; + sh:path gx:accessType ], + [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "request type" ; + sh:order 0 ; + sh:path gx:requestType ] ; + sh:targetClass gx:DataAccountExport . + +gx:Endpoint a sh:NodeShape ; + sh:closed false ; + sh:description "An endpoint is a mean to access and interact with a service or a resource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:StandardConformity ; + sh:description "Provides information about applied standards." ; + sh:minCount 1 ; + sh:name "standard conformity" ; + sh:order 1 ; + sh:path gx:standardConformity ], + [ sh:datatype xsd:string ; + sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:formalDescription ], + [ sh:datatype xsd:anyURI ; + sh:description "The URL of the endpoint where it can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint URL" ; + sh:order 0 ; + sh:path gx:endpointURL ] ; + sh:targetClass gx:Endpoint . + +gx:GPU a sh:NodeShape ; + sh:closed false ; + sh:description "Graphical processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 6 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:description "Interconnection of multiple GPUs within a server system" ; + sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:gpuInterconnection ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path gx:vendor ], + [ sh:datatype xsd:integer ; + sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "gpu processing units" ; + sh:order 2 ; + sh:path gx:gpuProcessingUnits ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 5 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 7 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; + sh:maxCount 1 ; + sh:name "GPU path through" ; + sh:order 3 ; + sh:path gx:gpuPassthrough ], + [ sh:class gx:MemorySize ; + sh:description "Size of memory of the GPU." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:gpuMemory ] ; + sh:targetClass gx:GPU . + +gx:InfrastructureServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Infrastructure Service Offering" ; + sh:property [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:InfrastructureServiceOffering . + +gx:Memory a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of RAM." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; + sh:maxCount 1 ; + sh:name "Hardware Encryption enabled" ; + sh:order 4 ; + sh:path gx:hardwareEncryption ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 7 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "Memory size of RAM." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "memory size" ; + sh:order 0 ; + sh:path gx:memorySize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path gx:vendor ], + [ sh:datatype xsd:boolean ; + sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; + sh:maxCount 1 ; + sh:name "error correction code (ecc)" ; + sh:order 3 ; + sh:path gx:eccEnabled ], + [ sh:description "DRAM technology name defined by JEDEC" ; + sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; + sh:maxCount 1 ; + sh:name "memory class" ; + sh:order 1 ; + sh:path gx:memoryClass ], + [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; + sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; + sh:maxCount 1 ; + sh:name "memory rank" ; + sh:order 2 ; + sh:path gx:memoryRank ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 6 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 8 ; + sh:path gx:supportedOversubscriptionRatio ] ; + sh:targetClass gx:Memory . + +gx:ServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ] ; + sh:targetClass gx:ServiceOffering . + +gx:TermsAndConditions a sh:NodeShape ; + sh:closed false ; + sh:description "Terms and Conditions applying to a service offering." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "sha256 hash of the document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hash ], + [ sh:datatype xsd:anyURI ; + sh:description "A resolvable link to document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:url ] ; + sh:targetClass gx:TermsAndConditions . + +gx:VirtualMachineServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Machine Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 5 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:servicePolicy ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 8 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 9 ; + sh:path gx:dataAccountExport ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 13 ; + sh:path gx:hostedOn ], + [ sh:class gx:VMImage ; + sh:description "Compute Service Code Artifacts" ; + sh:minCount 1 ; + sh:name "code artifact" ; + sh:order 0 ; + sh:path gx:codeArtifact ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 15 ; + sh:path gx:description ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 4 ; + sh:path gx:dependsOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 11 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 6 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 2 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:ServerFlavor ; + sh:description "Set of technical requirements or conditions to instantiate this service offering." ; + sh:minCount 1 ; + sh:name "instantiation requirement" ; + sh:order 1 ; + sh:path gx:instantiationReq ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 10 ; + sh:path gx:keyword ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 3 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 14 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 12 ; + sh:path gx:endpoint ] ; + sh:targetClass gx:VirtualMachineServiceOffering . + +gx:Disk a sh:NodeShape ; + sh:closed false ; + sh:description "Capabilities of a physical or virtual hard drive." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 5 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "The size of the hard drive." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Disk size" ; + sh:order 0 ; + sh:path gx:diskSize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Type of disk controller the disk is attached to." ; + sh:maxCount 1 ; + sh:name "Disk Bus Type" ; + sh:order 2 ; + sh:path gx:diskBusType ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 6 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:description "The type of storage drive." ; + sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; + sh:maxCount 1 ; + sh:name "Disk Type" ; + sh:order 1 ; + sh:path gx:diskType ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 4 ; + sh:path gx:generation ] ; + sh:targetClass gx:Disk . + +gx:SoftwareResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Gaia-X Virtual Resource describing an executable program." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Software Resource" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ] ; + sh:targetClass gx:SoftwareResource . + +gx:OperatingSystem a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing an operating system." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Operation System" ; + sh:property [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Operation System Distribution" ; + sh:order 0 ; + sh:path gx:osDistribution ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ] ; + sh:targetClass gx:OperatingSystem . + +gx:Signature a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the signature" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:signatureValue ], + [ sh:description "Defines the algorithm used to calculate or verify the signature." ; + sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:signatureAlgorithm ] ; + sh:targetClass gx:Signature . + +gx:CheckSum a sh:NodeShape ; + sh:closed false ; + sh:description "Detail on how to calculate or verify a checksum." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Algorithm used to create checksum." ; + sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:checkSumCalculation ], + [ sh:datatype xsd:string ; + sh:description "Value of the check sum." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:checkSumValue ] ; + sh:targetClass gx:CheckSum . + +gx:MemorySize a sh:NodeShape ; + sh:closed false ; + sh:description "The number of bits, that can be stored on a digital storage." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Memory size" ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass gx:MemorySize . + +gx:LegalPerson a sh:NodeShape ; + sh:closed false ; + sh:description "A legal person, who is uniquely identified by its registration number." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Legal Person" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class ; + sh:description "The full legal address of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal address" ; + sh:order 1 ; + sh:path gx:legalAddress ], + [ sh:class ; + sh:description "Full physical location of the headquarter of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:headquartersAddress ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; + sh:order 4 ; + sh:path gx:subOrganisationOf ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; + sh:order 3 ; + sh:path gx:parentOrganizationOf ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; + sh:minCount 1 ; + sh:name "registration number" ; + sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; + sh:order 0 ; + sh:path gx:registrationNumber ] ; + sh:targetClass gx:LegalPerson . + +gx:PhysicalResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Physical Resource" ; + sh:property [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; + sh:name "manufactured by" ; + sh:order 2 ; + sh:path gx:manufacturedBy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; + sh:name "owned by" ; + sh:order 1 ; + sh:path gx:ownedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; + sh:minCount 1 ; + sh:name "maintained by" ; + sh:order 0 ; + sh:path gx:maintainedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 4 ; + sh:path gx:aggregationOfResources ], + [ sh:class ; + sh:description "A list of physical locations." ; + sh:minCount 1 ; + sh:order 3 ; + sh:path gx:location ] ; + sh:targetClass gx:PhysicalResource . + +gx:VirtualResource a sh:NodeShape ; + sh:closed false ; + sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Resource" ; + sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 0 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 4 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 5 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 1 ; + sh:path gx:license ] ; + sh:targetClass gx:VirtualResource . + diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 543b40a..57a648a 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-17T10:12:38 +# Generation date: 2023-12-19T11:59:13 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -91,7 +91,7 @@ class Address(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None - gps: Optional[str] = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -102,8 +102,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) - if self.gps is not None and not isinstance(self.gps, str): - self.gps = str(self.gps) + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -117,6 +116,78 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + @dataclass class GaiaXEntity(YAMLRoot): """ @@ -241,7 +312,7 @@ class Device(YAMLRoot): vendor: Optional[str] = None generation: Optional[str] = None defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() + supportedOversubscriptionRatio: Optional[int] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.vendor is not None and not isinstance(self.vendor, str): @@ -253,9 +324,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - if not isinstance(self.supportedOversubscriptionRatio, list): - self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] - self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) super().__post_init__(**kwargs) @@ -388,7 +458,7 @@ class GPU(Device): class_model_uri: ClassVar[URIRef] = GX.GPU gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[str] = "\"none\"" + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" gpuProcessingUnits: Optional[int] = None gpuPassthrough: Optional[Union[bool, Bool]] = False @@ -396,8 +466,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): - self.gpuInterconnection = str(self.gpuInterconnection) + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): self.gpuProcessingUnits = int(self.gpuProcessingUnits) @@ -695,7 +765,7 @@ class Quantity(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Quantity value: float = None - unit: Union[str, URI] = None + unit: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.value): @@ -705,8 +775,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.unit): self.MissingRequiredField("unit") - if not isinstance(self.unit, URI): - self.unit = URI(self.unit) + if not isinstance(self.unit, str): + self.unit = str(self.unit) super().__post_init__(**kwargs) @@ -724,7 +794,7 @@ class Frequency(Quantity): class_model_uri: ClassVar[URIRef] = GX.Frequency value: float = None - unit: Union[str, URI] = None + unit: str = None @dataclass class MemorySize(Quantity): @@ -739,7 +809,7 @@ class MemorySize(Quantity): class_model_uri: ClassVar[URIRef] = GX.MemorySize value: float = None - unit: Union[str, URI] = None + unit: str = None @dataclass class Power(Quantity): @@ -754,7 +824,7 @@ class Power(Quantity): class_model_uri: ClassVar[URIRef] = GX.Power value: float = None - unit: Union[str, URI] = None + unit: str = None class Participant(GaiaXEntity): """ @@ -1064,7 +1134,7 @@ class PXEImage(Image): copyrightOwnedBy: Union[str, List[str]] = None license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): @@ -1140,7 +1210,7 @@ class ServiceOffering(GaiaXEntity): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" dependsOn: Optional[Union[str, List[str]]] = empty_list() aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() @@ -1213,7 +1283,7 @@ class InfrastructureServiceOffering(ServiceOffering): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): @@ -1230,7 +1300,7 @@ class ComputeServiceOffering(InfrastructureServiceOffering): providedBy: Union[str, LegalPersonRegistrationNumber] = None serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -1257,7 +1327,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + servicePolicy: Union[str, List[str]] = "default:allow intent" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): @@ -1368,6 +1438,117 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + @dataclass class VMImage(Image): """ @@ -4043,7 +4224,7 @@ class EncryptionAlgorithm(EnumDefinitionImpl): description="TBD") other = PermissibleValue( text="other", - description="Algorithm for enchryption not further described.") + description="Algorithm for encryption not further described.") _defn = EnumDefinition( name="EncryptionAlgorithm", @@ -4148,6 +4329,24 @@ def _addvals(cls): setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. @@ -5190,6 +5389,9 @@ class OSDistribution(EnumDefinitionImpl): OpenSolaris = PermissibleValue(text="OpenSolaris") openSUSE = PermissibleValue(text="openSUSE") Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") _defn = EnumDefinition( name="OSDistribution", @@ -8568,14 +8770,14 @@ class slots: slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), model_uri=GX.value, domain=None, range=float) -slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), - model_uri=GX.unit, domain=None, range=Union[str, URI]) +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), model_uri=GX.address__countryCode, domain=None, range=str) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[str]) + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) @@ -8586,6 +8788,31 @@ class slots: slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), model_uri=GX.address__locality, domain=None, range=Optional[str]) +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) @@ -8647,7 +8874,7 @@ class slots: model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) @@ -8671,7 +8898,7 @@ class slots: model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) @@ -8907,6 +9134,39 @@ class slots: slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py index 2bec6ca..82f6146 100644 --- a/generator/discovery/openstack/discovery_vm_images.py +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -1,3 +1,5 @@ +import typing + from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk @@ -12,14 +14,15 @@ import generator.common.const as const +from typing import Dict class VmDiscovery(): - def __init__(self, conn: Connection) -> None: + def __init__(self, conn: Connection, config: Dict) -> None: self.conn = conn + self.config = config - - #def collect_vm_images(self, conn: Connection) -> List[str]: + # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[GX_Image]: """ Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. @@ -36,23 +39,43 @@ def discover_vm_images(self) -> List[GX_Image]: def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ - Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + Converts Openstack image to a Gaia-X virtual machine image. @param os_image: Openstack image properties - @return: Gaia-X compliant virtual machine image + @return: Gaia-X virtual machine image """ # collect all properties cpu_req = self._get_cpu_req(os_image.architecture) ram_req = self._get_min_ram_req(os_image.min_ram) root_disk_req = self._get_min_disk_req(os_image.min_disk) - - return GX_Image(copyrightOwnedBy='TBA', - license="TBA", - resourcePolicy=const.DEFAULT_RESOURCE_POLICY, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - version=os_image.os_version) + operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + #license = operatingSystem.license + #copyright_owner = operatingSystem.copyrightOwnedBy + #resource_policy= const.DEFAULT_RESOURCE_POLICY + + # read mandatory attributes from config or use default values + try: + license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + pass + try: + copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + pass + try: + resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + pass + + #return GX_Image(copyrightOwnedBy=copyright_owner, + # license=license, + # resourcePolicy=resource_policy, + # cpuReq=cpu_req, + # ramReq=ram_req, + # rootDiskReq=root_disk_req, + # operatingSystem=operatingSystem, + # version=os_image.os_version)# @staticmethod def _get_cpu_req(arch: str) -> CPU: @@ -70,18 +93,145 @@ def _get_cpu_req(arch: str) -> CPU: def _get_min_ram_req(min_ram_size: str) -> Memory: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) - return Memory(memorySize = size) + size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize=size) @staticmethod def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize = size) + size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size) - - def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + # Copyright owner and license not supported as Image properties, currently --> Default values are used if os_distro == "arch": - return OperatingSystem(version=os_version, os_distro="Arch Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) if os_distro == "centos": - return OperatingSystem(version=os_version, os_distro="CentOS Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) + if os_distro == "debian": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) + if os_distro == "fedora": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) + if os_distro == "freebsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) + if os_distro == "gentoo": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) + if os_distro == "mandrake": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) + if os_distro == "mandriva": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) + if os_distro == "mes": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) + if os_distro == "msdos": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) + if os_distro == "netbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) + if os_distro == "netware": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) + if os_distro == "openbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) + if os_distro == "opensolaris": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) + if os_distro == "opensuse": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + if os_distro == "rocky": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) + if os_distro == "rhel": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) + if os_distro == "sled": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) + if os_distro == "ubuntu": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) + if os_distro == "windows": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) + if os_distro == "cirros": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) + if os_distro == "almalinux": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) + + raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + + def _get_resource_policy(self, os: str) -> str: + policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] + if policy == "DEFAULT": + return const.DEFAULT_RESOURCE_POLICY + else: + return policy + + def _get_copyrightowner(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + + def _get_license(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + + + + + + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index b7feca9..9bd08ca 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,20 +1,23 @@ import openstack from openstack.connection import Connection +from typing import Dict import sys from generator.discovery.openstack.discovery_vm_images import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services" - def __init__(self, conn: Connection) -> None: + def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn self.auth = conn.auth self.regions = list(conn.identity.regions()) + self.config = config def discover_properties(self): - vm_dis = VmDiscovery(self.conn) - vm_dis.discover_vm_images() + vm_dis = VmDiscovery(self.conn, self.config) + creds = vm_dis.discover_vm_images() + print(creds) # Create per region service catalogs From dd5777a550cf31e86618f622057437121326f1af Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 16:25:28 +0100 Subject: [PATCH 117/175] Discover mandatory attributes Signed-off-by: Anja Strunk --- generator/common/const.py | 2 + .../discovery/openstack/opentack_discovery.py | 2 +- ...ry_vm_images.py => vm_images_discovery.py} | 114 ++++++++++++++---- generator/test.py | 0 4 files changed, 96 insertions(+), 22 deletions(-) rename generator/discovery/openstack/{discovery_vm_images.py => vm_images_discovery.py} (77%) delete mode 100644 generator/test.py diff --git a/generator/common/const.py b/generator/common/const.py index bfb6edc..78b2e7c 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,4 +1,6 @@ DEFAULT_RESOURCE_POLICY = "default: allow intent" +DEFAULT_FIRMWARE_TYPE = "other" +DEFAULT_WATCHDOG_ACTION = "none" UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 9bd08ca..3492e40 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -3,7 +3,7 @@ from typing import Dict import sys -from generator.discovery.openstack.discovery_vm_images import VmDiscovery +from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services" diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/vm_images_discovery.py similarity index 77% rename from generator/discovery/openstack/discovery_vm_images.py rename to generator/discovery/openstack/vm_images_discovery.py index 82f6146..dd5a399 100644 --- a/generator/discovery/openstack/discovery_vm_images.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -16,6 +16,7 @@ from typing import Dict + class VmDiscovery(): def __init__(self, conn: Connection, config: Dict) -> None: @@ -44,19 +45,28 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @return: Gaia-X virtual machine image """ - # collect all properties + # Discover all SCS mandatory properties cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image.min_ram) - root_disk_req = self._get_min_disk_req(os_image.min_disk) - operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + ram_req = self._get_min_ram_req(os_image) + root_disk_req = self._get_min_disk_req(os_image) + operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + # Discover all SCS recommended attributes + secure_boot = self._is_secure_boot(os_image) + firmware_type = self._get_firmeware_type(os_image) + watchdog_action = self._get_watchdog_action(os_image) + v_pmu = self._is_vmpu(os_image) + video_ram_size = self._get_video_ram(os_image) + multiqueue = self._is_multiqueue_enabled(os_image) - #license = operatingSystem.license - #copyright_owner = operatingSystem.copyrightOwnedBy - #resource_policy= const.DEFAULT_RESOURCE_POLICY + # Discover Gaia-X mandatory attributes + img_license = operating_system.license + copyright_owner = operating_system.copyrightOwnedBy + resource_policy = const.DEFAULT_RESOURCE_POLICY # read mandatory attributes from config or use default values try: - license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] except KeyError: pass try: @@ -68,14 +78,22 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: except KeyError: pass - #return GX_Image(copyrightOwnedBy=copyright_owner, - # license=license, - # resourcePolicy=resource_policy, - # cpuReq=cpu_req, - # ramReq=ram_req, - # rootDiskReq=root_disk_req, - # operatingSystem=operatingSystem, - # version=os_image.os_version)# + # print(os_image.os_secure_boot) + + return GX_Image(copyrightOwnedBy=copyright_owner, + license=img_license, + resourcePolicy=resource_policy, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + operatingSystem=operating_system, + version=os_image.os_version, + secureBoot=secure_boot, + firmwareType=firmware_type, + watchDogAction=watchdog_action, + vPMU=v_pmu, + videoRamSize=video_ram_size, + multiQueues=multiqueue) @staticmethod def _get_cpu_req(arch: str) -> CPU: @@ -90,16 +108,22 @@ def _get_cpu_req(arch: str) -> CPU: return CPU(cpuArchitecture=cpu_arch_types.other) @staticmethod - def _get_min_ram_req(min_ram_size: str) -> Memory: + def _get_min_ram_req(image: OS_Image) -> Memory: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) + size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) + try: + hw_encryption = image.hw_mem_encryption + if hw_encryption: + return Memory(memorySize=size, hardwareEncryption=hw_encryption) + except AttributeError: + pass return Memory(memorySize=size) @staticmethod - def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size) + def _get_min_disk_req(image: OS_Image) -> Disk: + size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size, diskBusType=image.hw_disk_bus) def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: # Copyright owner and license not supported as Image properties, currently --> Default values are used @@ -229,9 +253,57 @@ def _get_copyrightowner(self, os: str) -> str: def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + def _is_secure_boot(self, image: OS_Image) -> bool: + try: + secure_boot = image.needs_secure_boot + if secure_boot: + return secure_boot + except AttributeError: + pass + return False + + def _get_firmeware_type(self, image: OS_Image) -> str: + try: + firmwareType = image.hw_firmware_type + if firmwareType: + return firmwareType + except AttributeError: + pass + return const.DEFAULT_FIRMWARE_TYPE + def _get_watchdog_action(self, image: OS_Image) -> str: + try: + action = image.hw_watchdog_action + if action: + return action + except AttributeError: + pass + return const.DEFAULT_WATCHDOG_ACTION + def _is_vmpu(self, image: OS_Image) -> bool: + try: + pmu = image.hw_pmu + if pmu: + return pmu + except AttributeError: + pass + return False + def _get_video_ram(self, image: OS_Image) -> MemorySize: + try: + ram_size = image.hw_video_ram + if ram_size: + return MemorySize(value=float()) + except AttributeError: + pass + def _is_multiqueue_enabled(self, image: OS_Image) -> bool: + try: + enabled = image.hw_vif_multiqueue_enabled + if enabled: + return enabled + except AttributeError: + pass + return False diff --git a/generator/test.py b/generator/test.py deleted file mode 100644 index e69de29..0000000 From 75e552fd917fd6bdcb459894f77e02da6a4a61b8 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 20 Dec 2023 12:03:09 +0100 Subject: [PATCH 118/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/exceptions.py | 5 + .../discovery/openstack/opentack_discovery.py | 2 - .../openstack/vm_images_discovery.py | 352 ++++++++++-------- 3 files changed, 208 insertions(+), 151 deletions(-) create mode 100644 generator/common/exceptions.py diff --git a/generator/common/exceptions.py b/generator/common/exceptions.py new file mode 100644 index 0000000..de8920d --- /dev/null +++ b/generator/common/exceptions.py @@ -0,0 +1,5 @@ + +class MissingMandatoryAttribute(AttributeError): + def __init__(self, *args, **kwargs): + super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 3492e40..48d739d 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -17,8 +17,6 @@ def __init__(self, conn: Connection, config: Dict) -> None: def discover_properties(self): vm_dis = VmDiscovery(self.conn, self.config) creds = vm_dis.discover_vm_images() - print(creds) - # Create per region service catalogs """self.regcat = {} diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index dd5a399..14e641f 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -6,8 +6,12 @@ from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +from generator.common.exceptions import MissingMandatoryAttribute + from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image from typing import List @@ -45,200 +49,185 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @return: Gaia-X virtual machine image """ - # Discover all SCS mandatory properties - cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image) - root_disk_req = self._get_min_disk_req(os_image) - operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) - - # Discover all SCS recommended attributes - secure_boot = self._is_secure_boot(os_image) - firmware_type = self._get_firmeware_type(os_image) - watchdog_action = self._get_watchdog_action(os_image) - v_pmu = self._is_vmpu(os_image) - video_ram_size = self._get_video_ram(os_image) - multiqueue = self._is_multiqueue_enabled(os_image) - - # Discover Gaia-X mandatory attributes - img_license = operating_system.license - copyright_owner = operating_system.copyrightOwnedBy - resource_policy = const.DEFAULT_RESOURCE_POLICY - - # read mandatory attributes from config or use default values - try: - img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] - except KeyError: - pass - try: - copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] - except KeyError: - pass - try: - resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] - except KeyError: - pass - - # print(os_image.os_secure_boot) - - return GX_Image(copyrightOwnedBy=copyright_owner, - license=img_license, - resourcePolicy=resource_policy, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - operatingSystem=operating_system, - version=os_image.os_version, - secureBoot=secure_boot, - firmwareType=firmware_type, - watchDogAction=watchdog_action, - vPMU=v_pmu, - videoRamSize=video_ram_size, - multiQueues=multiqueue) + # Initialize Gaia-X Image + gx_image = GX_Image(copyrightOwnedBy="TBA", + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY) + + # Discover optional attributes + self._add_secure_boot(os_image, gx_image) + self._add_firmeware_type(os_image, gx_image) + self._add_watchdog_action(os_image, gx_image) + self._add_vmpu(os_image, gx_image) + self._add_video_ram(os_image, gx_image) + self._add_multiqueue_enabled(os_image, gx_image) + self._add_update_strategy(os_image, gx_image) + self._add_name(os_image, gx_image) + self._add_description(os_image, gx_image) + self._add_cpu_req(os_image, gx_image) + self._add_min_ram_req(os_image, gx_image) + self._add_min_disk_req(os_image, gx_image) + self._add_operation_system_info(os_image, gx_image) + self._add_build_date(os_image, gx_image) + self._add_license_included(os_image, gx_image) + + # Discover mandatory attribute + self._add_license(os_image, gx_image) + self._add_copyrigthowner(os_image, gx_image) + self._add_resource_policy(os_image, gx_image) + + return gx_image @staticmethod - def _get_cpu_req(arch: str) -> CPU: - if arch == "i686": - return CPU(cpuArchitecture="x86-32") - if arch in ["x86_64", "ia64"]: - return CPU(cpuArchitecture="x86-64") - if arch == "aarch6": - return CPU(cpuArchitecture="AArch-32") - if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - return CPU(cpuArchitecture="RISC-V") - return CPU(cpuArchitecture=cpu_arch_types.other) + def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: + if os_image.architecture == "i686": + gx_image.cpuReq = CPU(cpuArchitecture="x86-32") + elif os_image.architecture in ["x86_64", "ia64"]: + gx_image.cpuReq = CPU(cpuArchitecture="x86-64") + elif os_image.architecture == "aarch6": + gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") + elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") + else: + gx_image.cpuReq = CPU(cpuArchitecture=cpu_arch_types.other) @staticmethod - def _get_min_ram_req(image: OS_Image) -> Memory: + def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) try: - hw_encryption = image.hw_mem_encryption - if hw_encryption: - return Memory(memorySize=size, hardwareEncryption=hw_encryption) - except AttributeError: - pass - return Memory(memorySize=size) + size = MemorySize(value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB) + mem_req = Memory(memorySize=size) + try: + mem_req.hardwareEncryption = os_image.hw_mem_encryption + except AttributeError: + pass + gx_image.ramReq = mem_req + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) @staticmethod - def _get_min_disk_req(image: OS_Image) -> Disk: - size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size, diskBusType=image.hw_disk_bus) + def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: + try: + size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) - def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Copyright owner and license not supported as Image properties, currently --> Default values are used - if os_distro == "arch": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + if os_image.os_distro == "arch": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), license=self._get_license(const.CONFIG_OS_ARCH)) - if os_distro == "centos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + elif os_image.os_distro == "centos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), license=self._get_license(const.CONFIG_OS_CENTOS)) - if os_distro == "debian": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + elif os_image.os_distro == "debian": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), license=self._get_license(const.CONFIG_OS_DEBIAN)) - if os_distro == "fedora": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + elif os_image.os_distro == "fedora": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), license=self._get_license(const.CONFIG_OS_FEDORA)) - if os_distro == "freebsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + elif os_image.os_distro == "freebsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), license=self._get_license(const.CONFIG_OS_FREEBSD)) - if os_distro == "gentoo": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + elif os_image.os_distro == "gentoo": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), license=self._get_license(const.CONFIG_OS_GENTOO)) - if os_distro == "mandrake": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + elif os_image.os_distro == "mandrake": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), license=self._get_license(const.CONFIG_OS_MANDRAKE)) - if os_distro == "mandriva": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + elif os_image.os_distro == "mandriva": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), license=self._get_license(const.CONFIG_OS_MANDRIVA)) - if os_distro == "mes": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + elif os_image.os_distro == "mes": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), license=self._get_license(const.CONFIG_OS_MES)) - if os_distro == "msdos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + elif os_image.os_distro == "msdos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), license=self._get_license(const.CONFIG_OS_MSDOS)) - if os_distro == "netbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + elif os_image.os_distro == "netbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), license=self._get_license(const.CONFIG_OS_NETBSD)) - if os_distro == "netware": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + elif os_image.os_distro == "netware": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), license=self._get_license(const.CONFIG_OS_NOVELL)) - if os_distro == "openbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + elif os_image.os_distro == "openbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), license=self._get_license(const.CONFIG_OS_OPENBSD)) - if os_distro == "opensolaris": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + elif os_image.os_distro == "opensolaris": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), license=self._get_license(const.CONFIG_OS_SOLARIS)) - if os_distro == "opensuse": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + elif os_image.os_distro == "opensuse": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) - if os_distro == "rocky": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + elif os_image.os_distro == "rocky": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), license=self._get_license(const.CONFIG_OS_ROCKY)) - if os_distro == "rhel": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + elif os_image.os_distro == "rhel": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), license=self._get_license(const.CONFIG_OS_RHEL)) - if os_distro == "sled": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + elif os_image.os_distro == "sled": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), license=self._get_license(const.CONFIG_OS_SLED)) - if os_distro == "ubuntu": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + elif os_image.os_distro == "ubuntu": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), license=self._get_license(const.CONFIG_OS_UBUNTU)) - if os_distro == "windows": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + elif os_image.os_distro == "windows": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), license=self._get_license(const.CONFIG_OS_WINDOWS)) - if os_distro == "cirros": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + elif os_image.os_distro == "cirros": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), license=self._get_license(const.CONFIG_OS_CIRROS)) - if os_distro == "almalinux": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + elif os_image.os_distro == "almalinux": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), license=self._get_license(const.CONFIG_OS_ALMALINUX)) - - raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + else: + raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") def _get_resource_policy(self, os: str) -> str: policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] @@ -250,60 +239,125 @@ def _get_resource_policy(self, os: str) -> str: def _get_copyrightowner(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + gx_image.license = gx_image.operatingSystem.copyrightOwnedBy + + def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # read mandatory attributes from config or use default values + try: + gx_image.license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + gx_image.license = gx_image.operatingSystem.license + def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # read mandatory attributes from config or use default values + try: + gx_image.rresource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + gx_image.rresource_policy = const.DEFAULT_RESOURCE_POLICY + def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _is_secure_boot(self, image: OS_Image) -> bool: + def _add_secure_boot(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - secure_boot = image.needs_secure_boot - if secure_boot: - return secure_boot + if not os_image.needs_secure_boot: + return + gx_image.secureBoot = os_image.needs_secure_boot except AttributeError: pass - return False - def _get_firmeware_type(self, image: OS_Image) -> str: + def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - firmwareType = image.hw_firmware_type - if firmwareType: - return firmwareType + if not os_image.hw_firmware_type: + return + gx_image.firmwareType = os_image.hw_firmware_type except AttributeError: - pass + gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - return const.DEFAULT_FIRMWARE_TYPE - - def _get_watchdog_action(self, image: OS_Image) -> str: + def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - action = image.hw_watchdog_action - if action: - return action + if not os_image.hw_watchdog_action: + return + gx_image.watchDogAction = os_image.hw_watchdog_action except AttributeError: pass - return const.DEFAULT_WATCHDOG_ACTION - - def _is_vmpu(self, image: OS_Image) -> bool: + def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - pmu = image.hw_pmu - if pmu: - return pmu + if not os_image.hw_pmu: + return + gx_image.vPMU = os_image.hw_pmu except AttributeError: pass - return False - def _get_video_ram(self, image: OS_Image) -> MemorySize: + def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - ram_size = image.hw_video_ram - if ram_size: - return MemorySize(value=float()) + if not os_image.hw_video_ram: + return + gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram)) except AttributeError: pass - def _is_multiqueue_enabled(self, image: OS_Image) -> bool: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image:GX_Image) -> None: try: - enabled = image.hw_vif_multiqueue_enabled - if enabled: - return enabled + if not os_image.hw_vif_multiqueue_enabled: + return + gx_image.multiQueues = os_image.hw_vif_multiqueue_enabled except AttributeError: pass - return False + + def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + os_image.updateStrategy = UpdateStrategy() + + # collect mandatory attributes + try: + os_image.updateStrategy.replaceFrequency = os_image.properties['replace_frequency'] + os_image.updateStrategy.oldVersionsValidUntil = os_image.properties['uuid_validity'] + os_image.updateStrategy.providedUntil = os_image.properties['provided_until'] + except KeyError as e: + raise MissingMandatoryAttribute(e.args) + + # collect optional attributes + try: + os_image.updateStrategy.hotfixHours = os_image.properties['hotfix_hours'] + except KeyError: + pass + + def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.description = os_image.properties[ + 'image_description'] + except KeyError: + pass + try: + gx_image.description = gx_image.description + " Managed by " + os_image.properties[ + 'managed_by_VENDOR'] + except KeyError: + pass + + def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + if not os_image.name: + return + gx_image.name = os_image.name + except KeyError: + pass + + def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.buildDate = os_image.properties['image_build_date'] + except KeyError: + pass + + @staticmethod + def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.licenseIncluded = os_image.properties['licenseIncluded'] + except KeyError: + gx_image.licenseIncluded = False + + + # ToDo: add aggrenation of From f7bd497bf6143f8328787a2408203212fd0da187 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 21 Dec 2023 15:05:52 +0100 Subject: [PATCH 119/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 14 +++-- .../openstack/vm_images_discovery.py | 61 ++++++++++++++++++- 2 files changed, 69 insertions(+), 6 deletions(-) diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 57a648a..99d6757 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-19T11:59:13 +# Generation date: 2023-12-20T13:27:56 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -4262,14 +4262,18 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "ripemd-160", + setattr(cls, "sha-2", PermissibleValue( - text="ripemd-160", + text="sha-2", description="TBD")) setattr(cls, "sha-3", PermissibleValue( text="sha-3", description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) class KeyManagement(EnumDefinitionImpl): @@ -5378,7 +5382,7 @@ def _addvals(cls): class OSDistribution(EnumDefinitionImpl): """ - Possible values for operationg system distribution. + Possible values for operating system distribution. """ Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") @@ -5395,7 +5399,7 @@ class OSDistribution(EnumDefinitionImpl): _defn = EnumDefinition( name="OSDistribution", - description="Possible values for operationg system distribution.", + description="Possible values for operating system distribution.", ) @classmethod diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 14e641f..95b88da 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -7,6 +7,9 @@ from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm + from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image @@ -70,6 +73,9 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_operation_system_info(os_image, gx_image) self._add_build_date(os_image, gx_image) self._add_license_included(os_image, gx_image) + self._add_patch_level(os_image, gx_image) + self._add_version(os_image, gx_image) + self._add_checksum(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -357,7 +363,60 @@ def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.licenseIncluded = os_image.properties['licenseIncluded'] except KeyError: - gx_image.licenseIncluded = False + pass + + @staticmethod + def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.patchLevel = os_image.properties['patchlevel'] + except KeyError: + pass + + @staticmethod + def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.version = os_image.properties['internal_version'] + except KeyError: + pass + + @staticmethod + def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + algo = VmDiscovery._get_algo(os_image.hash_algo) + value = os_image.hash_value + gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + except AttributeError: + pass + + @staticmethod + def _get_algo(algo: str) -> str: + if algo in ['sha512', 'sha224', 'sha256' 'sha384']: + return 'sha-2' + if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + return algo + return ChecksumAlgorithm.other + + + @staticmethod + def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.maintenance = os_image.properties['maintained_until'] + except KeyError: + pass + + @staticmethod + def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + + @staticmethod + def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo + + except AttributeError: + pass # ToDo: add aggrenation of From e036d9bc467381eaeecaf420a7f85b1bd692a1b1 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:00:59 +0100 Subject: [PATCH 120/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 gax-cpu.py diff --git a/gax-cpu.py b/gax-cpu.py new file mode 100644 index 0000000..22a8c02 --- /dev/null +++ b/gax-cpu.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# gax-cpu.py +""" +These classes reflect the Gaia-X view on physical infra + +(c) Kurt Garloff , 3/2022 - 6/2022 +SPDX-License-Identifier: EPL-2.0 +""" + + +class CPU: + "CPU abstraction according to Gaia-X attributes" + def __init__(self): + "c'tor setting all vals to defaults" + # Gaia-X attrs + self.numberOfCores = 0 + self.numberOfThreads = 0 + self.frequency = 0 + self.boostFrequency = 0 + self.cacheSize = 0 + # This would not be interesting typically + self.allowedSocket = "" + # Virt. attrs -- not in GaX + self.dedicatedCore = False + self.dedicatedThread = False + self.limitOversubscr = False + + +class MEM: + "RAM of an instance" + def __init__(self): + "c'tor setting all vals to defaults" + self.memGB = 0 + self.ECC = True \ No newline at end of file From 44ef983233b9e4a25ff0952e12c4dbd4dd0d34f7 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:03 +0100 Subject: [PATCH 121/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gax-cpu.py b/gax-cpu.py index 22a8c02..c6bb0f7 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,4 +33,5 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True \ No newline at end of file + self.ECC = True + \ No newline at end of file From e8694ea828455fad4cd81e62851ec0b606705f71 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:30 +0100 Subject: [PATCH 122/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gax-cpu.py b/gax-cpu.py index c6bb0f7..22a8c02 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,5 +33,4 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True - \ No newline at end of file + self.ECC = True \ No newline at end of file From 43b2135a24e45f6568e745871f9756403bf5b4c7 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:03:52 +0100 Subject: [PATCH 123/175] Remove unused files Signed-off-by: Anja Strunk --- generator/common/gaia-x.shacl | 2275 --------------------------------- 1 file changed, 2275 deletions(-) delete mode 100644 generator/common/gaia-x.shacl diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl deleted file mode 100644 index e13e0ae..0000000 --- a/generator/common/gaia-x.shacl +++ /dev/null @@ -1,2275 +0,0 @@ -@prefix gx: . -@prefix rdf: . -@prefix sh: . -@prefix xsd: . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:CodeArtifact a sh:NodeShape ; - sh:closed false ; - sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Code Artifact" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:CodeArtifact . - -gx:DataResource a sh:NodeShape ; - sh:closed false ; - sh:description "A dataset exposed through a service instance." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Resource" ; - sh:property [ sh:class gx:DataExchangeComponent ; - sh:description "A resolvable link to the data exchange component that exposes the data resource." ; - sh:minCount 1 ; - sh:name "exposed through" ; - sh:order 1 ; - sh:path gx:exposedThrough ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is obsolete." ; - sh:maxCount 1 ; - sh:name "obsolete dateTime" ; - sh:order 2 ; - sh:path gx:obsoleteDateTime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to participant legally enabling the data usage." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "produced by" ; - sh:order 0 ; - sh:path gx:producedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:Consent ; - sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; - sh:name "consent" ; - sh:order 6 ; - sh:path gx:consent ], - [ sh:datatype xsd:boolean ; - sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "contains PII" ; - sh:order 4 ; - sh:path gx:containsPII ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 9 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:Participant ; - sh:description "data controller Participant as defined in GDPR." ; - sh:name "data controller" ; - sh:order 5 ; - sh:path gx:dataController ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 7 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; - sh:maxCount 1 ; - sh:name "expiration dateTime" ; - sh:order 3 ; - sh:path gx:expirationDateTime ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 8 ; - sh:path gx:license ] ; - sh:targetClass gx:DataResource . - -gx:Device a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 1 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 2 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 3 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:vendor ] ; - sh:targetClass gx:Device . - -gx:GaiaX a sh:NodeShape ; - sh:closed false ; - sh:description "Top level element of Gaia-X ecosystem." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:GaiaX . - -gx:GaiaXEntity a sh:NodeShape ; - sh:closed false ; - sh:description "Root class for Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Gaia-X Entity" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ] ; - sh:targetClass gx:GaiaXEntity . - -gx:Hypervisor a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:hypervisorType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:Hypervisor . - -gx:Image a sh:NodeShape ; - sh:closed false ; - sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Image" ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 5 ; - sh:path gx:videoRamSize ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:encryption ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 9 ; - sh:path gx:secureBoot ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:signature ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 2 ; - sh:path gx:cpuReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:updateStrategy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 10 ; - sh:path gx:vPMU ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 24 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 11 ; - sh:path gx:multiQueues ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 23 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:checkSum ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 19 ; - sh:path gx:buildDate ], - [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 3 ; - sh:path gx:gpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 20 ; - sh:path gx:copyrightOwnedBy ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path gx:maintenance ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 25 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 18 ; - sh:path gx:patchLevel ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 6 ; - sh:path gx:rootDiskReq ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 22 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 13 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:checksum ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 4 ; - sh:path gx:ramReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 1 ; - sh:path gx:operatingSystem ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 0 ; - sh:path gx:fileSize ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 21 ; - sh:path gx:license ] ; - sh:targetClass gx:Image . - -gx:InstantiationRequirement a sh:NodeShape ; - sh:closed false ; - sh:description "A container class to gather all requirements for compute service offering instantiations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Instantiation Requirement" ; - sh:targetClass gx:InstantiationRequirement . - -gx:Issuer a sh:NodeShape ; - sh:closed false ; - sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; - sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 0 ; - sh:path gx:issuerTermsAndConditions ] ; - sh:targetClass gx:Issuer . - -gx:PXEImage a sh:NodeShape ; - sh:closed false ; - sh:description "PXE image for physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "PXE image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 4 ; - sh:path gx:gpuReq ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 5 ; - sh:path gx:ramReq ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 21 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 11 ; - sh:path gx:vPMU ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:checkSum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:encryption ], - [ sh:description "Disk format. Default \"ISO\"." ; - sh:in ( "WINPE" "ISO" ) ; - sh:maxCount 1 ; - sh:name "disk format" ; - sh:order 0 ; - sh:path gx:pxeImageDiskFormat ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 23 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 20 ; - sh:path gx:buildDate ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:checksum ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 10 ; - sh:path gx:secureBoot ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 1 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 14 ; - sh:path gx:licenseIncluded ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 26 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 22 ; - sh:path gx:license ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 19 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 25 ; - sh:path gx:name ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:maintenance ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path gx:version ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 12 ; - sh:path gx:multiQueues ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 7 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 6 ; - sh:path gx:videoRamSize ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 3 ; - sh:path gx:cpuReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 2 ; - sh:path gx:operatingSystem ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:updateStrategy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 24 ; - sh:path gx:aggregationOfResources ] ; - sh:targetClass gx:PXEImage . - -gx:RegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:RegistrationNumber . - -gx:Resource a sh:NodeShape ; - sh:closed false ; - sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 1 ; - sh:path gx:name ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 0 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 2 ; - sh:path gx:description ] ; - sh:targetClass gx:Resource . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:ConfidentialComputing a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; - sh:description "indicates whether confidential server has an associated attestation service." ; - sh:maxCount 1 ; - sh:name "attestation service URI" ; - sh:order 1 ; - sh:path gx:attestationServiceURI ], - [ sh:datatype xsd:string ; - sh:description "Particular confidential computing technology used by the flavors as defined in..." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:technology ] ; - sh:targetClass gx:ConfidentialComputing . - -gx:Consent a sh:NodeShape ; - sh:closed false ; - sh:description "Information on the legitimate processing of information related to PII." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Consent" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; - sh:minCount 1 ; - sh:name "purpose" ; - sh:order 2 ; - sh:path gx:purpose ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; - sh:minCount 1 ; - sh:name "data protection contact point" ; - sh:order 1 ; - sh:path gx:dataProtectionContactPoint ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; - sh:minCount 1 ; - sh:name "consent withdrawal contact point" ; - sh:order 3 ; - sh:path gx:consentWithdrawalContactPoint ], - [ sh:datatype xsd:string ; - sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal Basis" ; - sh:order 0 ; - sh:path gx:legalBasis ] ; - sh:targetClass gx:Consent . - -gx:DataExchangeComponent a sh:NodeShape ; - sh:closed false ; - sh:description "A service/resource used to make a data resource available." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Exchange Component" ; - sh:targetClass gx:DataExchangeComponent . - -gx:EORI a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The Economic Operators Registration and Identification number (EORI)." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:eori ] ; - sh:targetClass gx:EORI . - -gx:EUID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:euid ] ; - sh:targetClass gx:EUID . - -gx:GPSLocation a sh:NodeShape ; - sh:closed false ; - sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; - sh:maxCount 1 ; - sh:name "crs" ; - sh:order 3 ; - sh:path gx:crs ; - sh:pattern "^CRS" ], - [ sh:datatype xsd:string ; - sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; - sh:maxCount 1 ; - sh:name "altitude" ; - sh:order 2 ; - sh:path gx:altitude ], - [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "latitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 0 ; - sh:path gx:latitude ], - [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "longitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 1 ; - sh:path gx:longitude ] ; - sh:targetClass gx:GPSLocation . - -gx:LatestN a sh:NodeShape ; - sh:closed false ; - sh:description "Number of latest N outdated image versions, which will be valid." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:order 0 ; - sh:path gx:value ] ; - sh:targetClass gx:LatestN . - -gx:LeiCode a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Unique LEI number as defined by https://www.gleif.org." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path ] ; - sh:targetClass gx:LeiCode . - -gx:LocalRegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The state issued company number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:local ] ; - sh:targetClass gx:LocalRegistrationNumber . - -gx:Participant a sh:NodeShape ; - sh:closed false ; - sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ] ; - sh:targetClass gx:Participant . - -gx:ServerFlavor a sh:NodeShape ; - sh:closed false ; - sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Server Flavor" ; - sh:property [ sh:class gx:ConfidentialComputing ; - sh:description "Details with respect to confidential computing capabilities of the flavor." ; - sh:maxCount 1 ; - sh:name "confidential computing" ; - sh:order 6 ; - sh:path gx:confidentialComputing ], - [ sh:class gx:Memory ; - sh:description "Size of RAM of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:ram ], - [ sh:datatype xsd:string ; - sh:description "Network capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:network ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 9 ; - sh:path gx:hwRngTypeOfFlavor ], - [ sh:class gx:GPU ; - sh:description "GPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:gpu ], - [ sh:class gx:Disk ; - sh:description "Additional volume capabilities of boot volume of the flavor." ; - sh:name "additional volume" ; - sh:order 5 ; - sh:path gx:additionalVolume ], - [ sh:datatype xsd:boolean ; - sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; - sh:maxCount 1 ; - sh:name "Hardware-assisted virtualization" ; - sh:order 8 ; - sh:path gx:hardwareAssistedVirtualization ], - [ sh:class gx:SoftwareResource ; - sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:hypervisor ], - [ sh:class gx:CPU ; - sh:description "CPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "CPU requirements" ; - sh:order 0 ; - sh:path gx:cpu ], - [ sh:class gx:Disk ; - sh:description "Boot volume capabilities of boot volume of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "boot volume" ; - sh:order 4 ; - sh:path gx:bootVolume ] ; - sh:targetClass gx:ServerFlavor . - -gx:StandardConformity a sh:NodeShape ; - sh:closed false ; - sh:description "Details about standard applied to Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Name of the standard." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "title" ; - sh:order 0 ; - sh:path gx:title ], - [ sh:datatype xsd:anyURI ; - sh:description "Provides a link to schemas or details about applied standards." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "standard reference" ; - sh:order 1 ; - sh:path gx:standardReference ], - [ sh:datatype xsd:string ; - sh:description "Publisher of the standard." ; - sh:maxCount 1 ; - sh:name "publisher" ; - sh:order 2 ; - sh:path gx:publisher ] ; - sh:targetClass gx:StandardConformity . - -gx:VMImage a sh:NodeShape ; - sh:closed false ; - sh:description "Image for virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "VM image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 8 ; - sh:path gx:gpuReq ], - [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; - sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; - sh:maxCount 1 ; - sh:name "VM Image disk format" ; - sh:order 0 ; - sh:path gx:vmImageDiskFormat ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path gx:maintenance ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 28 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 15 ; - sh:path gx:vPMU ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path gx:signature ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path gx:checksum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:encryption ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 25 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 14 ; - sh:path gx:secureBoot ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 3 ; - sh:path gx:hwRngTypeOfImage ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 29 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 16 ; - sh:path gx:multiQueues ], - [ sh:description "Type of firmware which which guests are booted." ; - sh:in ( "BIOS" "UEFI" "other" ) ; - sh:maxCount 1 ; - sh:name "Firmware type" ; - sh:order 2 ; - sh:path gx:firmwareType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 26 ; - sh:path gx:license ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 11 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:updateStrategy ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 7 ; - sh:path gx:cpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 22 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 23 ; - sh:path gx:patchLevel ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 5 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 24 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 30 ; - sh:path gx:description ], - [ sh:description "Hypervisor type required by the image" ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:name "Hypervisor type" ; - sh:order 1 ; - sh:path gx:hypervisorType ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 6 ; - sh:path gx:operatingSystem ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 27 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:checkSum ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 10 ; - sh:path gx:videoRamSize ], - [ sh:description "Define the action to be performed if server hangs." ; - sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; - sh:maxCount 1 ; - sh:name "Watchdog action" ; - sh:order 4 ; - sh:path gx:watchDogAction ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 18 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 9 ; - sh:path gx:ramReq ] ; - sh:targetClass gx:VMImage . - -gx:VatID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The VAT identification number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:vatID ] ; - sh:targetClass gx:VatID . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:GPSUnit a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of a geographical point." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 180 ; - sh:minCount 1 ; - sh:minInclusive -180 ; - sh:name "degrees" ; - sh:order 0 ; - sh:path gx:degrees ], - [ sh:datatype xsd:float ; - sh:maxCount 1 ; - sh:maxInclusive 1 ; - sh:minInclusive 0 ; - sh:name "decimals" ; - sh:order 3 ; - sh:path gx:decimals ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "seconds" ; - sh:order 2 ; - sh:path gx:seconds ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "minutes" ; - sh:order 1 ; - sh:path gx:minutes ] ; - sh:targetClass gx:GPSUnit . - -gx:Encryption a sh:NodeShape ; - sh:closed false ; - sh:description "Encryption capabilities of a Gaia-X entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; - sh:in ( "BYOK" "HYOK" "managed" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "key management" ; - sh:order 1 ; - sh:path gx:keyManagement ], - [ sh:description "Supported algorithm used to encrypt." ; - sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "encryption algorithm" ; - sh:order 0 ; - sh:path gx:cipher ] ; - sh:targetClass gx:Encryption . - -gx:MaintenanceSubscription a sh:NodeShape ; - sh:closed false ; - sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; - sh:maxCount 1 ; - sh:name "Subscription required" ; - sh:order 1 ; - sh:path gx:subscriptionRequired ], - [ sh:datatype xsd:date ; - sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; - sh:maxCount 1 ; - sh:name "Maintenance until" ; - sh:order 2 ; - sh:path gx:maintainedUntil ], - [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; - sh:maxCount 1 ; - sh:name "Subscription included" ; - sh:order 0 ; - sh:path gx:subscriptionIncluded ] ; - sh:targetClass gx:MaintenanceSubscription . - -gx:UpdateStrategy a sh:NodeShape ; - sh:closed false ; - sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; - sh:maxCount 1 ; - sh:name "Old versions Valid until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; - sh:order 2 ; - sh:path gx:oldVersionsValidUntil ], - [ sh:datatype xsd:integer ; - sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; - sh:maxCount 1 ; - sh:minInclusive 0 ; - sh:name "Hotfix hours" ; - sh:order 1 ; - sh:path gx:hotfixHours ], - [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; - sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; - sh:maxCount 1 ; - sh:name "Replace Frequency" ; - sh:order 0 ; - sh:path gx:replaceFrequency ], - [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; - sh:maxCount 1 ; - sh:name "Provided until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; - sh:order 3 ; - sh:path gx:providedUntil ] ; - sh:targetClass gx:UpdateStrategy . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Full address of the entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "the street address of a postal address" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path ], - [ sh:class gx:GPSLocation ; - sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; - sh:order 1 ; - sh:path gx:gps ], - [ sh:datatype xsd:string ; - sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path ], - [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; - sh:order 0 ; - sh:path gx:countryCode ], - [ sh:datatype xsd:string ; - sh:description "String of a street-address" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path ] ; - sh:targetClass . - -gx:CPU a sh:NodeShape ; - sh:closed false ; - sh:description "Computational processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Last Level Cache size of the CPU." ; - sh:maxCount 1 ; - sh:name "last level cache size" ; - sh:order 7 ; - sh:path gx:lastLevelCacheSize ], - [ sh:class ; - sh:description "Boost frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "boost CPU frequency" ; - sh:order 6 ; - sh:path gx:boostFrequency ], - [ sh:datatype xsd:string ; - sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; - sh:name "CPU flags" ; - sh:order 1 ; - sh:path gx:cpuFlag ], - [ sh:datatype xsd:integer ; - sh:description "Number of threads of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of threads" ; - sh:order 4 ; - sh:path gx:numberOfThreads ], - [ sh:class ; - sh:description "Base frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "base CPU frequency" ; - sh:order 5 ; - sh:path gx:baseFrequency ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:vendor ], - [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; - sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; - sh:maxCount 1 ; - sh:name "CPU architecture" ; - sh:order 0 ; - sh:path gx:cpuArchitecture ], - [ sh:datatype xsd:boolean ; - sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; - sh:maxCount 1 ; - sh:name "smt enabled" ; - sh:order 2 ; - sh:path gx:smtEnabled ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 12 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 10 ; - sh:path gx:generation ], - [ sh:class ; - sh:description "CPU Thermal Design Power." ; - sh:maxCount 1 ; - sh:name "thermal design power" ; - sh:order 8 ; - sh:path gx:thermalDesignPower ], - [ sh:datatype xsd:integer ; - sh:description "Number of cores of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of CPU cores" ; - sh:order 3 ; - sh:path gx:numberOfCores ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 11 ; - sh:path gx:defaultOversubscriptionRatio ] ; - sh:targetClass gx:CPU . - -gx:ComputeServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Compute Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 2 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 8 ; - sh:path gx:keyword ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 13 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 6 ; - sh:path gx:dataProtectionRegime ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 0 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 10 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 7 ; - sh:path gx:dataAccountExport ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 12 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 1 ; - sh:path gx:providedBy ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 11 ; - sh:path gx:hostedOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 9 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 4 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 5 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:ComputeServiceOffering . - -gx:DataAccountExport a sh:NodeShape ; - sh:closed false ; - sh:description "List of methods to export data from your account out of the service." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; - sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "format type" ; - sh:order 2 ; - sh:path gx:formatType ], - [ sh:description "Type of data support: digital, physical." ; - sh:in ( "digital" "physical" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "access type" ; - sh:order 1 ; - sh:path gx:accessType ], - [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; - sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "request type" ; - sh:order 0 ; - sh:path gx:requestType ] ; - sh:targetClass gx:DataAccountExport . - -gx:Endpoint a sh:NodeShape ; - sh:closed false ; - sh:description "An endpoint is a mean to access and interact with a service or a resource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:StandardConformity ; - sh:description "Provides information about applied standards." ; - sh:minCount 1 ; - sh:name "standard conformity" ; - sh:order 1 ; - sh:path gx:standardConformity ], - [ sh:datatype xsd:string ; - sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:formalDescription ], - [ sh:datatype xsd:anyURI ; - sh:description "The URL of the endpoint where it can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint URL" ; - sh:order 0 ; - sh:path gx:endpointURL ] ; - sh:targetClass gx:Endpoint . - -gx:GPU a sh:NodeShape ; - sh:closed false ; - sh:description "Graphical processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 6 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:description "Interconnection of multiple GPUs within a server system" ; - sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:gpuInterconnection ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path gx:vendor ], - [ sh:datatype xsd:integer ; - sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "gpu processing units" ; - sh:order 2 ; - sh:path gx:gpuProcessingUnits ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 5 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 7 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:boolean ; - sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; - sh:maxCount 1 ; - sh:name "GPU path through" ; - sh:order 3 ; - sh:path gx:gpuPassthrough ], - [ sh:class gx:MemorySize ; - sh:description "Size of memory of the GPU." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:gpuMemory ] ; - sh:targetClass gx:GPU . - -gx:InfrastructureServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Infrastructure Service Offering" ; - sh:property [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:InfrastructureServiceOffering . - -gx:Memory a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of RAM." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; - sh:maxCount 1 ; - sh:name "Hardware Encryption enabled" ; - sh:order 4 ; - sh:path gx:hardwareEncryption ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 7 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "Memory size of RAM." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "memory size" ; - sh:order 0 ; - sh:path gx:memorySize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path gx:vendor ], - [ sh:datatype xsd:boolean ; - sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; - sh:maxCount 1 ; - sh:name "error correction code (ecc)" ; - sh:order 3 ; - sh:path gx:eccEnabled ], - [ sh:description "DRAM technology name defined by JEDEC" ; - sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; - sh:maxCount 1 ; - sh:name "memory class" ; - sh:order 1 ; - sh:path gx:memoryClass ], - [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; - sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; - sh:maxCount 1 ; - sh:name "memory rank" ; - sh:order 2 ; - sh:path gx:memoryRank ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 6 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 8 ; - sh:path gx:supportedOversubscriptionRatio ] ; - sh:targetClass gx:Memory . - -gx:ServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Service Offering" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ] ; - sh:targetClass gx:ServiceOffering . - -gx:TermsAndConditions a sh:NodeShape ; - sh:closed false ; - sh:description "Terms and Conditions applying to a service offering." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "sha256 hash of the document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:hash ], - [ sh:datatype xsd:anyURI ; - sh:description "A resolvable link to document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:url ] ; - sh:targetClass gx:TermsAndConditions . - -gx:VirtualMachineServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Machine Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 5 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:servicePolicy ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 8 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 9 ; - sh:path gx:dataAccountExport ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 13 ; - sh:path gx:hostedOn ], - [ sh:class gx:VMImage ; - sh:description "Compute Service Code Artifacts" ; - sh:minCount 1 ; - sh:name "code artifact" ; - sh:order 0 ; - sh:path gx:codeArtifact ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 15 ; - sh:path gx:description ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 4 ; - sh:path gx:dependsOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 11 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 6 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 2 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:ServerFlavor ; - sh:description "Set of technical requirements or conditions to instantiate this service offering." ; - sh:minCount 1 ; - sh:name "instantiation requirement" ; - sh:order 1 ; - sh:path gx:instantiationReq ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 10 ; - sh:path gx:keyword ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 3 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 14 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 12 ; - sh:path gx:endpoint ] ; - sh:targetClass gx:VirtualMachineServiceOffering . - -gx:Disk a sh:NodeShape ; - sh:closed false ; - sh:description "Capabilities of a physical or virtual hard drive." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 5 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "The size of the hard drive." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Disk size" ; - sh:order 0 ; - sh:path gx:diskSize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:vendor ], - [ sh:datatype xsd:string ; - sh:description "Type of disk controller the disk is attached to." ; - sh:maxCount 1 ; - sh:name "Disk Bus Type" ; - sh:order 2 ; - sh:path gx:diskBusType ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 6 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:description "The type of storage drive." ; - sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; - sh:maxCount 1 ; - sh:name "Disk Type" ; - sh:order 1 ; - sh:path gx:diskType ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 4 ; - sh:path gx:generation ] ; - sh:targetClass gx:Disk . - -gx:SoftwareResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Gaia-X Virtual Resource describing an executable program." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Software Resource" ; - sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ] ; - sh:targetClass gx:SoftwareResource . - -gx:OperatingSystem a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing an operating system." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Operation System" ; - sh:property [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Operation System Distribution" ; - sh:order 0 ; - sh:path gx:osDistribution ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ] ; - sh:targetClass gx:OperatingSystem . - -gx:Signature a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Value of the signature" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:signatureValue ], - [ sh:description "Defines the algorithm used to calculate or verify the signature." ; - sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:signatureAlgorithm ] ; - sh:targetClass gx:Signature . - -gx:CheckSum a sh:NodeShape ; - sh:closed false ; - sh:description "Detail on how to calculate or verify a checksum." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Algorithm used to create checksum." ; - sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:checkSumCalculation ], - [ sh:datatype xsd:string ; - sh:description "Value of the check sum." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:checkSumValue ] ; - sh:targetClass gx:CheckSum . - -gx:MemorySize a sh:NodeShape ; - sh:closed false ; - sh:description "The number of bits, that can be stored on a digital storage." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Memory size" ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass gx:MemorySize . - -gx:LegalPerson a sh:NodeShape ; - sh:closed false ; - sh:description "A legal person, who is uniquely identified by its registration number." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Legal Person" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class ; - sh:description "The full legal address of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal address" ; - sh:order 1 ; - sh:path gx:legalAddress ], - [ sh:class ; - sh:description "Full physical location of the headquarter of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:headquartersAddress ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; - sh:order 4 ; - sh:path gx:subOrganisationOf ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; - sh:order 3 ; - sh:path gx:parentOrganizationOf ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; - sh:minCount 1 ; - sh:name "registration number" ; - sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; - sh:order 0 ; - sh:path gx:registrationNumber ] ; - sh:targetClass gx:LegalPerson . - -gx:PhysicalResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Physical Resource" ; - sh:property [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; - sh:name "manufactured by" ; - sh:order 2 ; - sh:path gx:manufacturedBy ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; - sh:name "owned by" ; - sh:order 1 ; - sh:path gx:ownedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; - sh:minCount 1 ; - sh:name "maintained by" ; - sh:order 0 ; - sh:path gx:maintainedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 4 ; - sh:path gx:aggregationOfResources ], - [ sh:class ; - sh:description "A list of physical locations." ; - sh:minCount 1 ; - sh:order 3 ; - sh:path gx:location ] ; - sh:targetClass gx:PhysicalResource . - -gx:VirtualResource a sh:NodeShape ; - sh:closed false ; - sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Resource" ; - sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 0 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 4 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 5 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 1 ; - sh:path gx:license ] ; - sh:targetClass gx:VirtualResource . - From 378906543b98011db5a651d0cb07ccca6bdf95f0 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 3 Jan 2024 13:55:06 +0100 Subject: [PATCH 124/175] Add JSON-LD serialization Signed-off-by: Anja Strunk --- generator/cli.py | 3 + generator/common/gx_schema.py | 110 +- generator/common/gx_schema_org.py | 9224 +++++++++++++++++ generator/common/json_ld.py | 184 + .../discovery/openstack/opentack_discovery.py | 97 +- .../openstack/vm_images_discovery.py | 272 +- test.py | 0 7 files changed, 9657 insertions(+), 233 deletions(-) create mode 100644 generator/common/gx_schema_org.py create mode 100644 generator/common/json_ld.py create mode 100644 test.py diff --git a/generator/cli.py b/generator/cli.py index e691f57..0244287 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -5,6 +5,8 @@ from generator.discovery.openstack.opentack_discovery import OsCloud +import json +import generator.common.json_ld as json_ld @click.group() def cli(): @@ -33,6 +35,7 @@ def openstack(cloud, timeout, config): with open(config, "r") as config_file: os_cloud = OsCloud(conn, yaml.safe_load(config_file)) props = os_cloud.discover_properties() + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 99d6757..d64bb65 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 +# Generation date: 2023-12-28T18:05:45 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -90,7 +90,7 @@ class Address(YAMLRoot): class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: str = None + countryCode: Union[CountryNameAlpha2, str] = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -128,8 +128,8 @@ class GPSLocation(YAMLRoot): class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: str = None - longitude: str = None + latitude: Union[GPSUnit, dict] = None + longitude: Union[GPSUnit, dict] = None altitude: Optional[str] = None crs: Optional[str] = None @@ -281,6 +281,7 @@ class Signature(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Signature signature: str = None + hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -289,6 +290,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.signature, str): self.signature = str(self.signature) + if self._is_empty(self.hashAlgorithm): + self.MissingRequiredField("hashAlgorithm") + if not isinstance(self.hashAlgorithm, ChecksumAlgorithm): + self.hashAlgorithm = ChecksumAlgorithm(self.hashAlgorithm) + if self._is_empty(self.signatureAlgorithm): self.MissingRequiredField("signatureAlgorithm") if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): @@ -525,8 +531,8 @@ class UpdateStrategy(YAMLRoot): replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None + oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None + providedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -850,7 +856,7 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -897,7 +903,7 @@ class Resource(GaiaXEntity): class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -920,8 +926,8 @@ class VirtualResource(Resource): class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -998,8 +1004,8 @@ class SoftwareResource(VirtualResource): class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1038,8 +1044,8 @@ class CodeArtifact(SoftwareResource): class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1055,8 +1061,8 @@ class Image(CodeArtifact): class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1131,8 +1137,8 @@ class PXEImage(Image): class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1155,8 +1161,8 @@ class OperatingSystem(SoftwareResource): class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1181,8 +1187,8 @@ class Hypervisor(SoftwareResource): class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1211,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() + hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1450,8 +1456,8 @@ class DataResource(VirtualResource): class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1561,8 +1567,8 @@ class VMImage(Image): class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -4262,9 +4268,21 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "sha-2", + setattr(cls, "sha-224", + PermissibleValue( + text="sha-224", + description="TBD")) + setattr(cls, "sha-256", + PermissibleValue( + text="sha-256", + description="TBD")) + setattr(cls, "sha-512", PermissibleValue( - text="sha-2", + text="sha-512", + description="TBD")) + setattr(cls, "sha-384", + PermissibleValue( + text="sha-384", description="TBD")) setattr(cls, "sha-3", PermissibleValue( @@ -8778,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) + model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8793,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) + model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) + model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8865,6 +8883,9 @@ class slots: slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), + model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) + slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) @@ -8968,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9028,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9076,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9103,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9220,4 +9241,7 @@ class slots: model_uri=GX.confidentialComputing__technology, domain=None, range=str) slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + +Process finished with exit code 0 + diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py new file mode 100644 index 0000000..7821417 --- /dev/null +++ b/generator/common/gx_schema_org.py @@ -0,0 +1,9224 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-12-20T13:27:56 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class LatestN(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, str): + self.unit = str(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: str = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: str = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: str = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + other = PermissibleValue( + text="other", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for encryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "sha-2", + PermissibleValue( + text="sha-2", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operating system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operating system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py new file mode 100644 index 0000000..0c74864 --- /dev/null +++ b/generator/common/json_ld.py @@ -0,0 +1,184 @@ +""" +Methods and classes needed/useful for JSON-LD serialization. +""" +import inspect + +from generator.common.gx_schema import SCHEMA +from generator.common.gx_schema import VCARD +from generator.common.gx_schema import GX +from generator.common.gx_schema import QUDT +from generator.common.gx_schema import YAMLRoot +from generator.common.gx_schema import slots + +from json import JSONDecoder + +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.enumerations import EnumDefinitionImpl + +from typing import List + +from uuid import uuid4 + + +class JsonLdObject: + """Wrapper class to store properties and id of a GX object instance. This class is required, because python + classes of Gaia-X Credential does not have an attribute to store instance's id.""" + + def __init__(self, gx_object: YAMLRoot, gx_id=None): + """ + + @param gx_object: Gaia-X object + @type gx_object: YAMLRoot + @param gx_id: id of Gaia-X object + """ + self.gx_object = gx_object + self.gx_id = gx_id + if self.gx_id is None: + self.gx_id = str(uuid4()) + + +def get_json_ld_context() -> dict: + """ + Returns JSON-LD context as dict + + @return: JSON-LD context as dictionary + @rtype: dict + """ + return { + "@context": + { + GX.prefix: GX, + QUDT.prefix: QUDT, + SCHEMA.prefix: SCHEMA, + VCARD.prefix: VCARD, + "xsd": "http://www.w3.org/2001/XMLSchema#" + } + } + + +def to_json_ld(obj) -> dict: + """ + JSON serializer callback method. + 1) Adds object's id, if any + 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type + information as string, we need to add type to non-string attributes explicitly. + 3) Adds curie to instance and its attributes + 4) Filters out empty values (None, {}, and []) + + @param obj: object to be serialized + @return: object as dictionary + @rtype: dict + """ + json_ld = dict() + + if isinstance(obj, JsonLdObject): + # if JsonLdObject adds id + gx_object = obj.gx_object + json_ld['@id'] = obj.gx_id + json_ld.update(to_json_ld(gx_object)) + return json_ld + elif isinstance(obj, YAMLRoot): + # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict + json_ld['@type'] = get_types(obj.__class__) + for key, value in obj.__dict__.items(): + if value is None or value == [] or value == {}: + # skip emtpy values + continue + slot_curie = get_slot_curie(key, obj) + if isinstance(value, XSDDateTime): + # Add type for datetime + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:dateTime" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, XSDDate): + # add type for date + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:date" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, float): + # add type for float + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:float" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, str) and value.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:anyURI" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, bool): + # add type for boolean + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:boolean" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, list): + # call to_json_ld for each entry in list + json_ld[slot_curie] = list() + for item in value: + json_ld[slot_curie].append(to_json_ld(item)) + elif isinstance(value, EnumDefinitionImpl): + # add text for enumeration values instead of code + json_ld[slot_curie] = value.code.text + elif isinstance(value, YAMLRoot): + json_ld[slot_curie] = to_json_ld(value) + else: + json_ld[slot_curie] = value + return json_ld + elif isinstance(obj, str): + if obj.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld["@type"] = "xsd:anyURI" + json_ld["@value"] = obj + return json_ld + else: + return obj + else: + return JSONDecoder().decode(obj) + + +def get_slot_curie(slot_name:str, gx_object: object)-> str: + """ + Returns curie of slot with given SLOT_NAME of given GX_OBJECT. + @param slot_name: name of slot whose curie is requested + @type slot_name: str + @param gx_object: GX object given slot may belong to + @type gx_object: object + @return: slot's curie as str, if given GX_OBJECT has slot with given SLOT_NAME. Otherwise None + """ + for s_class in _get_super_classes(gx_object.__class__): + s_class = s_class.__name__[0].lower() + s_class.__name__[1:] + if hasattr(slots, s_class + "__" + slot_name): + return getattr(slots, s_class + "__" + slot_name).curie + elif hasattr(slots, slot_name): + return getattr(slots, slot_name).curie + + +def get_types(gaia_object: type) -> List[type]: + """ + Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. + @param gaia_object: GX object, whose type is to be retrived + @type gaia_object: type + @return: list of types if given GX_OBJECT + @rtype: list of types + """ + types = [] + for base in inspect.getmro(gaia_object): + if isinstance(base, YAMLRoot): + types.append(base.class_class_curie) + return types + + +def _get_super_classes(class_name) -> List: + """ + Returns all super classes of class with given CLASS_NAME + @param class_name: name of class + @return: list of all super classdes + """ + classes = [] + for base in inspect.getmro(class_name): + try: + classes.append(base) + except AttributeError: + pass + return classes diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 48d739d..a6f21f2 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,8 +1,14 @@ +import json + import openstack from openstack.connection import Connection from typing import Dict import sys +from uuid import uuid4 +import generator.common.json_ld as json_ld +from generator.common.gx_schema import VMImage + from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: @@ -14,90 +20,15 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config - def discover_properties(self): + def discover_properties(self) -> dict: + props = json_ld.get_json_ld_context() + props['@graph'] = [] + vm_dis = VmDiscovery(self.conn, self.config) - creds = vm_dis.discover_vm_images() + for img in vm_dis.discover_vm_images(): + props['@graph'].append(img) + return props + - # Create per region service catalogs - """self.regcat = {} - for region in self.regions: - reg = region.id - self.regcat[reg] = [] - for svc in conn.service_catalog: - svccat = osServiceCat(svc, reg) - if svccat.ep: - self.regcat[reg].append(svccat) - if debug: - print(f"#DEBUG: Svc Cat region {reg}: {self.regcat}", file=sys.stderr) - # Well-known OpenStack services - self.ostacksvc = {} - if "project_id" in conn.auth: - prj_id = conn.auth["project_id"] - else: - prj_id = conn.identity.get_project_id() - # Iterate over regions - for region in self.regions: - # Keep list of already handled services to avoid duplicates/aliases - handled = [] - # Dictionary to collect OpenStack services - ostacksvc = {} - reg = region.id - if debug: - print(f"#INFO: Creation service catalog for region {reg}", file=sys.stderr) - # Iterate over service catalog - for svc in self.regcat[reg]: - assert svc.ep - assert reg == svc.region - # Treating those two legacy services as non-OpenStack (just list EPs) - if svc.type in [*handled, "compute_legacy", "cloudformation"]: - continue - newsvc = None - for osClass in OSClasses: - if svc.type in osClass.svcID: - newsvc = osClass(conn, svc.type, svc.name, reg, prj_id, svc.ep) - handled.extend(osClass.svcID) - break - if not newsvc: - newsvc = osService(conn, svc.type, svc.name, reg, prj_id, svc.ep) - handled.extend((svc.type, newsvc.stype,)) - # Only attach if conn is non-empty - if newsvc.conn: - ostacksvc[newsvc.stype] = newsvc - if debug: - print(f"#DEBUG: Region {reg} added OS Svc {newsvc}", file=sys.stderr) - svc.consumed = True - elif debug: - print(f"#DEBUG: Region {reg} with service {newsvc} without connection", file=sys.stderr) - # Handle remaining services that are listed - for svc in self.regcat[reg]: - if not svc.consumed and svc.type not in ostacksvc: - ostacksvc[svc.type] = nonOSService(svc.type, svc.name, svc.ep.replace(prj_id, "${OS_PROJECT_ID}")) - if debug: - print(f"#DEBUG: Region {reg} added Non-OS {ostacksvc[svc.type]}", file=sys.stderr) - svc.consumed = True - self.ostacksvc[reg] = ostacksvc - # TODO: Iterate over non-consumed services (global, non-region specifc) - def values(self, prefix=''): - "dict representing stored data" - inner = {"regions": list(map(lambda x: x.id, self.regions))} - if outjson: - inner["auth_url"] = valtype(self.auth["auth_url"], "xsd:anyURI") - else: - inner["auth_url"] = self.auth["auth_url"] - for reg, ostacksvc in self.ostacksvc.items(): - inner[reg] = {} - for svckey in ostacksvc: - svc = ostacksvc[svckey] - inner[reg] = appenddicts(inner[reg], svc.values()) - if outjson: - inner[reg][svc.stype]["endpoint"] = valtype(svc.ep, "xsd:anyURI") - if prefix: - return add_prefix_to_dict_keys(inner, prefix) - return inner - def __str__(self): - # print(self.values()) - if outjson: - return json.dumps({"OpenStackService": self.values()}, indent=indent) - return yaml.dump({"openstack": self.values()}, default_flow_style=False)""" diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 95b88da..ab2b7cd 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,4 +1,7 @@ import typing +from json import JSONDecoder +import json +import urllib3 from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU @@ -9,10 +12,13 @@ from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import CheckSum from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import GaiaXEntity from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +import generator.common.json_ld as json_ld +from generator.common.json_ld import JsonLdObject from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection @@ -23,26 +29,37 @@ from typing import Dict +import yaml +# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd +# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self, conn: Connection, config: Dict) -> None: - self.conn = conn - self.config = config + def __init__(self) -> None: + with open("config/config.yaml", "r") as config_file: + self.config = yaml.safe_load(config_file) + + + + #def __init__(self, conn: Connection, config: Dict) -> None: + # self.conn = conn + # self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: - def discover_vm_images(self) -> List[GX_Image]: + def discover_vm_images(self) -> List[JsonLdObject]: """ Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. @param conn: Connection to openstack cloud VM images are to be collected @return: list of VM images """ - images = list() for image in self.conn.list_images(): - self._convert_to_gx_image(image) - + #images.append(self._convert_to_gx_image(image)) + images.append( + JsonLdObject( + self._convert_to_gx_image(image), gx_id=image.id)) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -124,114 +141,156 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> # Copyright owner and license not supported as Image properties, currently --> Default values are used if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") @@ -249,25 +308,26 @@ def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: - gx_image.license = gx_image.operatingSystem.copyrightOwnedBy + gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + gx_image.license = [self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]] except KeyError: gx_image.license = gx_image.operatingSystem.license + def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.rresource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: - gx_image.rresource_policy = const.DEFAULT_RESOURCE_POLICY + gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _add_secure_boot(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -299,7 +359,7 @@ def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return @@ -307,7 +367,7 @@ def _add_video_ram(self, os_image: OS_Image, gx_image:GX_Image) -> None: except AttributeError: pass - def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image:GX_Image) -> None: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -396,7 +456,6 @@ def _get_algo(algo: str) -> str: return algo return ChecksumAlgorithm.other - @staticmethod def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: try: @@ -411,12 +470,11 @@ def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo except AttributeError: pass - - # ToDo: add aggrenation of + # ToDo: add aggrenation of diff --git a/test.py b/test.py new file mode 100644 index 0000000..e69de29 From 651f8e5e6b884f6608a5887b78bce475e432a156 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 4 Jan 2024 15:31:00 +0100 Subject: [PATCH 125/175] Workaround for unions of data types Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 185 +- generator/common/gx_schema_org.py | 9224 ----------------------------- generator/common/json_ld.py | 100 +- 3 files changed, 134 insertions(+), 9375 deletions(-) delete mode 100644 generator/common/gx_schema_org.py diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index d64bb65..1a6e2a5 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-28T18:05:45 +# Generation date: 2024-01-04T09:32:21 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -72,7 +72,7 @@ class GaiaX(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_uri: ClassVar[URIRef] = GX["GaiaX"] class_class_curie: ClassVar[str] = "gx:GaiaX" class_name: ClassVar[str] = "GaiaX" class_model_uri: ClassVar[URIRef] = GX.GaiaX @@ -85,12 +85,12 @@ class Address(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_uri: ClassVar[URIRef] = VCARD["Address"] class_class_curie: ClassVar[str] = "vcard:Address" class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: Union[CountryNameAlpha2, str] = None + countryCode: str = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -123,13 +123,13 @@ class GPSLocation(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] class_class_curie: ClassVar[str] = "gx:GPSLocation" class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: Union[GPSUnit, dict] = None - longitude: Union[GPSUnit, dict] = None + latitude: str = None + longitude: str = None altitude: Optional[str] = None crs: Optional[str] = None @@ -160,7 +160,7 @@ class GPSUnit(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] class_class_curie: ClassVar[str] = "gx:GPSUnit" class_name: ClassVar[str] = "GPSUnit" class_model_uri: ClassVar[URIRef] = GX.GPSUnit @@ -195,7 +195,7 @@ class GaiaXEntity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] class_class_curie: ClassVar[str] = "gx:GaiaXEntity" class_name: ClassVar[str] = "GaiaXEntity" class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity @@ -220,7 +220,7 @@ class Encryption(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_uri: ClassVar[URIRef] = GX["Encryption"] class_class_curie: ClassVar[str] = "gx:Encryption" class_name: ClassVar[str] = "Encryption" class_model_uri: ClassVar[URIRef] = GX.Encryption @@ -249,7 +249,7 @@ class CheckSum(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_uri: ClassVar[URIRef] = GX["CheckSum"] class_class_curie: ClassVar[str] = "gx:CheckSum" class_name: ClassVar[str] = "CheckSum" class_model_uri: ClassVar[URIRef] = GX.CheckSum @@ -275,7 +275,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class Signature(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_uri: ClassVar[URIRef] = GX["Signature"] class_class_curie: ClassVar[str] = "gx:Signature" class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature @@ -310,7 +310,7 @@ class Device(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Device + class_class_uri: ClassVar[URIRef] = GX["Device"] class_class_curie: ClassVar[str] = "gx:Device" class_name: ClassVar[str] = "Device" class_model_uri: ClassVar[URIRef] = GX.Device @@ -343,7 +343,7 @@ class CPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_uri: ClassVar[URIRef] = GX["CPU"] class_class_curie: ClassVar[str] = "gx:CPU" class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU @@ -397,7 +397,7 @@ class Disk(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_uri: ClassVar[URIRef] = GX["Disk"] class_class_curie: ClassVar[str] = "gx:Disk" class_name: ClassVar[str] = "Disk" class_model_uri: ClassVar[URIRef] = GX.Disk @@ -428,7 +428,7 @@ class Endpoint(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_uri: ClassVar[URIRef] = GX["Endpoint"] class_class_curie: ClassVar[str] = "gx:Endpoint" class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint @@ -458,7 +458,7 @@ class GPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_uri: ClassVar[URIRef] = GX["GPU"] class_class_curie: ClassVar[str] = "gx:GPU" class_name: ClassVar[str] = "GPU" class_model_uri: ClassVar[URIRef] = GX.GPU @@ -491,7 +491,7 @@ class MaintenanceSubscription(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" class_name: ClassVar[str] = "MaintenanceSubscription" class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription @@ -524,15 +524,15 @@ class UpdateStrategy(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] class_class_curie: ClassVar[str] = "gx:UpdateStrategy" class_name: ClassVar[str] = "UpdateStrategy" class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None - providedUntil: Optional[Union[str, XSDDate]] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -557,7 +557,7 @@ class LatestN(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_uri: ClassVar[URIRef] = GX["LatestN"] class_class_curie: ClassVar[str] = "gx:LatestN" class_name: ClassVar[str] = "Latest_N" class_model_uri: ClassVar[URIRef] = GX.LatestN @@ -577,7 +577,7 @@ class InstantiationRequirement(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" class_name: ClassVar[str] = "InstantiationRequirement" class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement @@ -590,7 +590,7 @@ class Issuer(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_uri: ClassVar[URIRef] = GX["Issuer"] class_class_curie: ClassVar[str] = "gx:Issuer" class_name: ClassVar[str] = "Issuer" class_model_uri: ClassVar[URIRef] = GX.Issuer @@ -613,7 +613,7 @@ class RegistrationNumber(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] class_class_curie: ClassVar[str] = "gx:RegistrationNumber" class_name: ClassVar[str] = "RegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber @@ -623,7 +623,7 @@ class RegistrationNumber(YAMLRoot): class LocalRegistrationNumber(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["LocalRegistrationNumber"] class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" class_name: ClassVar[str] = "LocalRegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber @@ -643,7 +643,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class VatID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_uri: ClassVar[URIRef] = GX["VatID"] class_class_curie: ClassVar[str] = "gx:VatID" class_name: ClassVar[str] = "VatID" class_model_uri: ClassVar[URIRef] = GX.VatID @@ -663,7 +663,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class LeiCode(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_uri: ClassVar[URIRef] = GX["LeiCode"] class_class_curie: ClassVar[str] = "gx:LeiCode" class_name: ClassVar[str] = "LeiCode" class_model_uri: ClassVar[URIRef] = GX.LeiCode @@ -683,7 +683,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EORI(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_uri: ClassVar[URIRef] = GX["EORI"] class_class_curie: ClassVar[str] = "gx:EORI" class_name: ClassVar[str] = "EORI" class_model_uri: ClassVar[URIRef] = GX.EORI @@ -703,7 +703,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EUID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_uri: ClassVar[URIRef] = GX["EUID"] class_class_curie: ClassVar[str] = "gx:EUID" class_name: ClassVar[str] = "EUID" class_model_uri: ClassVar[URIRef] = GX.EUID @@ -726,7 +726,7 @@ class Memory(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_uri: ClassVar[URIRef] = GX["Memory"] class_class_curie: ClassVar[str] = "gx:Memory" class_name: ClassVar[str] = "Memory" class_model_uri: ClassVar[URIRef] = GX.Memory @@ -765,7 +765,7 @@ class Quantity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] class_class_curie: ClassVar[str] = "qudt:Quantity" class_name: ClassVar[str] = "Quantity" class_model_uri: ClassVar[URIRef] = GX.Quantity @@ -809,7 +809,7 @@ class MemorySize(Quantity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_uri: ClassVar[URIRef] = GX["MemorySize"] class_class_curie: ClassVar[str] = "gx:MemorySize" class_name: ClassVar[str] = "MemorySize" class_model_uri: ClassVar[URIRef] = GX.MemorySize @@ -838,7 +838,7 @@ class Participant(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_uri: ClassVar[URIRef] = GX["Participant"] class_class_curie: ClassVar[str] = "gx:Participant" class_name: ClassVar[str] = "Participant" class_model_uri: ClassVar[URIRef] = GX.Participant @@ -851,12 +851,12 @@ class LegalPerson(Participant): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] class_class_curie: ClassVar[str] = "gx:LegalPerson" class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -898,12 +898,12 @@ class Resource(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_uri: ClassVar[URIRef] = GX["Resource"] class_class_curie: ClassVar[str] = "gx:Resource" class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -921,13 +921,13 @@ class VirtualResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] class_class_curie: ClassVar[str] = "gx:VirtualResource" class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -960,7 +960,7 @@ class PhysicalResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] class_class_curie: ClassVar[str] = "gx:PhysicalResource" class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource @@ -999,13 +999,13 @@ class SoftwareResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] class_class_curie: ClassVar[str] = "gx:SoftwareResource" class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1039,13 +1039,13 @@ class CodeArtifact(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] class_class_curie: ClassVar[str] = "gx:CodeArtifact" class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1056,13 +1056,13 @@ class Image(CodeArtifact): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Image + class_class_uri: ClassVar[URIRef] = GX["Image"] class_class_curie: ClassVar[str] = "gx:Image" class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1132,13 +1132,13 @@ class PXEImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_uri: ClassVar[URIRef] = GX["PXEImage"] class_class_curie: ClassVar[str] = "gx:PXEImage" class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1156,13 +1156,13 @@ class OperatingSystem(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] class_class_curie: ClassVar[str] = "gx:OperatingSystem" class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1182,13 +1182,13 @@ class Hypervisor(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] class_class_curie: ClassVar[str] = "gx:Hypervisor" class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1208,7 +1208,7 @@ class ServiceOffering(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] class_class_curie: ClassVar[str] = "gx:ServiceOffering" class_name: ClassVar[str] = "ServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ServiceOffering @@ -1217,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() - aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + hostedOn: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1281,7 +1281,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" class_name: ClassVar[str] = "InfrastructureServiceOffering" class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering @@ -1298,7 +1298,7 @@ class ComputeServiceOffering(InfrastructureServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" class_name: ClassVar[str] = "ComputeServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering @@ -1323,7 +1323,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" class_name: ClassVar[str] = "VirtualMachineServiceOffering" class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering @@ -1354,7 +1354,7 @@ class TermsAndConditions(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] class_class_curie: ClassVar[str] = "gx:TermsAndConditions" class_name: ClassVar[str] = "TermsAndConditions" class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions @@ -1383,7 +1383,7 @@ class DataAccountExport(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] class_class_curie: ClassVar[str] = "gx:DataAccountExport" class_name: ClassVar[str] = "DataAccountExport" class_model_uri: ClassVar[URIRef] = GX.DataAccountExport @@ -1418,7 +1418,7 @@ class StandardConformity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] class_class_curie: ClassVar[str] = "gx:StandardConformity" class_name: ClassVar[str] = "StandardConformity" class_model_uri: ClassVar[URIRef] = GX.StandardConformity @@ -1451,13 +1451,13 @@ class DataResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_uri: ClassVar[URIRef] = GX["DataResource"] class_class_curie: ClassVar[str] = "gx:DataResource" class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1506,7 +1506,7 @@ class Consent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_uri: ClassVar[URIRef] = GX["Consent"] class_class_curie: ClassVar[str] = "gx:Consent" class_name: ClassVar[str] = "Consent" class_model_uri: ClassVar[URIRef] = GX.Consent @@ -1549,7 +1549,7 @@ class DataExchangeComponent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" class_name: ClassVar[str] = "DataExchangeComponent" class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent @@ -1562,13 +1562,13 @@ class VMImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_uri: ClassVar[URIRef] = GX["VMImage"] class_class_curie: ClassVar[str] = "gx:VMImage" class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -1603,7 +1603,7 @@ class ServerFlavor(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] class_class_curie: ClassVar[str] = "gx:ServerFlavor" class_name: ClassVar[str] = "ServerFlavor" class_model_uri: ClassVar[URIRef] = GX.ServerFlavor @@ -1662,7 +1662,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class ConfidentialComputing(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_uri: ClassVar[URIRef] = GX["ConfidentialComputing"] class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" class_name: ClassVar[str] = "ConfidentialComputing" class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing @@ -8796,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) + model_uri=GX.address__countryCode, domain=None, range=str) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8811,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__latitude, domain=None, range=str) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__longitude, domain=None, range=str) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8989,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9049,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9097,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9124,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9242,6 +9242,3 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) - -Process finished with exit code 0 - diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py deleted file mode 100644 index 7821417..0000000 --- a/generator/common/gx_schema_org.py +++ /dev/null @@ -1,9224 +0,0 @@ -# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 -# Schema: gaia-x -# -# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x -# description: -# license: https://creativecommons.org/publicdomain/zero/1.0/ - -import dataclasses -import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any -from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime - -metamodel_version = "1.7.0" -version = None - -# Overwrite dataclasses _init_fn to add **kwargs in __init__ -dataclasses._init_fn = dataclasses_init_fn_with_kwargs - -# Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') -DEFAULT_ = GX - - -# Types - -# Class references -class LocalRegistrationNumberLocal(extended_str): - pass - - -class VatIDVatID(extended_str): - pass - - -class LeiCodeLeiCode(extended_str): - pass - - -class EORIEori(extended_str): - pass - - -class EUIDEuid(extended_str): - pass - - -class LegalPersonRegistrationNumber(extended_str): - pass - - -class GaiaX(YAMLRoot): - """ - Top level element of Gaia-X ecosystem. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaX - class_class_curie: ClassVar[str] = "gx:GaiaX" - class_name: ClassVar[str] = "GaiaX" - class_model_uri: ClassVar[URIRef] = GX.GaiaX - - - -@dataclass -class Address(YAMLRoot): - """ - Full address of the entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = VCARD.Address - class_class_curie: ClassVar[str] = "vcard:Address" - class_name: ClassVar[str] = "Address" - class_model_uri: ClassVar[URIRef] = GX.Address - - countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() - streetAddress: Optional[str] = None - postalCode: Optional[str] = None - locality: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.countryCode): - self.MissingRequiredField("countryCode") - if not isinstance(self.countryCode, str): - self.countryCode = str(self.countryCode) - - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) - - if self.streetAddress is not None and not isinstance(self.streetAddress, str): - self.streetAddress = str(self.streetAddress) - - if self.postalCode is not None and not isinstance(self.postalCode, str): - self.postalCode = str(self.postalCode) - - if self.locality is not None and not isinstance(self.locality, str): - self.locality = str(self.locality) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSLocation(YAMLRoot): - """ - Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSLocation - class_class_curie: ClassVar[str] = "gx:GPSLocation" - class_name: ClassVar[str] = "GPSLocation" - class_model_uri: ClassVar[URIRef] = GX.GPSLocation - - latitude: str = None - longitude: str = None - altitude: Optional[str] = None - crs: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.latitude): - self.MissingRequiredField("latitude") - if not isinstance(self.latitude, str): - self.latitude = str(self.latitude) - - if self._is_empty(self.longitude): - self.MissingRequiredField("longitude") - if not isinstance(self.longitude, str): - self.longitude = str(self.longitude) - - if self.altitude is not None and not isinstance(self.altitude, str): - self.altitude = str(self.altitude) - - if self.crs is not None and not isinstance(self.crs, str): - self.crs = str(self.crs) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSUnit(YAMLRoot): - """ - Definition of a geographical point. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSUnit - class_class_curie: ClassVar[str] = "gx:GPSUnit" - class_name: ClassVar[str] = "GPSUnit" - class_model_uri: ClassVar[URIRef] = GX.GPSUnit - - degrees: int = None - minutes: Optional[int] = None - seconds: Optional[int] = None - decimals: Optional[float] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.degrees): - self.MissingRequiredField("degrees") - if not isinstance(self.degrees, int): - self.degrees = int(self.degrees) - - if self.minutes is not None and not isinstance(self.minutes, int): - self.minutes = int(self.minutes) - - if self.seconds is not None and not isinstance(self.seconds, int): - self.seconds = int(self.seconds) - - if self.decimals is not None and not isinstance(self.decimals, float): - self.decimals = float(self.decimals) - - super().__post_init__(**kwargs) - - -@dataclass -class GaiaXEntity(YAMLRoot): - """ - Root class for Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity - class_class_curie: ClassVar[str] = "gx:GaiaXEntity" - class_name: ClassVar[str] = "GaiaXEntity" - class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity - - name: Optional[str] = None - description: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.name is not None and not isinstance(self.name, str): - self.name = str(self.name) - - if self.description is not None and not isinstance(self.description, str): - self.description = str(self.description) - - super().__post_init__(**kwargs) - - -@dataclass -class Encryption(YAMLRoot): - """ - Encryption capabilities of a Gaia-X entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Encryption - class_class_curie: ClassVar[str] = "gx:Encryption" - class_name: ClassVar[str] = "Encryption" - class_model_uri: ClassVar[URIRef] = GX.Encryption - - cipher: Union[str, "EncryptionAlgorithm"] = None - keyManagement: Union[str, "KeyManagement"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cipher): - self.MissingRequiredField("cipher") - if not isinstance(self.cipher, EncryptionAlgorithm): - self.cipher = EncryptionAlgorithm(self.cipher) - - if self._is_empty(self.keyManagement): - self.MissingRequiredField("keyManagement") - if not isinstance(self.keyManagement, KeyManagement): - self.keyManagement = KeyManagement(self.keyManagement) - - super().__post_init__(**kwargs) - - -@dataclass -class CheckSum(YAMLRoot): - """ - Detail on how to calculate or verify a checksum. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CheckSum - class_class_curie: ClassVar[str] = "gx:CheckSum" - class_name: ClassVar[str] = "CheckSum" - class_model_uri: ClassVar[URIRef] = GX.CheckSum - - checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.checkSumCalculation): - self.MissingRequiredField("checkSumCalculation") - if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): - self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) - - super().__post_init__(**kwargs) - - -@dataclass -class Signature(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Signature - class_class_curie: ClassVar[str] = "gx:Signature" - class_name: ClassVar[str] = "Signature" - class_model_uri: ClassVar[URIRef] = GX.Signature - - signature: str = None - signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) - - if self._is_empty(self.signatureAlgorithm): - self.MissingRequiredField("signatureAlgorithm") - if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): - self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) - - super().__post_init__(**kwargs) - - -@dataclass -class Device(YAMLRoot): - """ - Details with respect to properties and capabilities of a hardware or virtualized device. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Device - class_class_curie: ClassVar[str] = "gx:Device" - class_name: ClassVar[str] = "Device" - class_model_uri: ClassVar[URIRef] = GX.Device - - vendor: Optional[str] = None - generation: Optional[str] = None - defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vendor is not None and not isinstance(self.vendor, str): - self.vendor = str(self.vendor) - - if self.generation is not None and not isinstance(self.generation, str): - self.generation = str(self.generation) - - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): - self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) - - super().__post_init__(**kwargs) - - -@dataclass -class CPU(Device): - """ - Computational processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CPU - class_class_curie: ClassVar[str] = "gx:CPU" - class_name: ClassVar[str] = "CPU" - class_model_uri: ClassVar[URIRef] = GX.CPU - - cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" - cpuFlag: Optional[Union[str, List[str]]] = empty_list() - smtEnabled: Optional[Union[bool, Bool]] = False - numberOfCores: Optional[int] = None - numberOfThreads: Optional[int] = None - baseFrequency: Optional[Union[dict, "Frequency"]] = None - boostFrequency: Optional[Union[dict, "Frequency"]] = None - lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None - thermalDesignPower: Optional[Union[dict, "Power"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): - self.cpuArchitecture = Architectures(self.cpuArchitecture) - - if not isinstance(self.cpuFlag, list): - self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] - self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] - - if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): - self.smtEnabled = Bool(self.smtEnabled) - - if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): - self.numberOfCores = int(self.numberOfCores) - - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): - self.numberOfThreads = int(self.numberOfThreads) - - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): - self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): - self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): - self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): - self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) - - super().__post_init__(**kwargs) - - -@dataclass -class Disk(Device): - """ - Capabilities of a physical or virtual hard drive. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Disk - class_class_curie: ClassVar[str] = "gx:Disk" - class_name: ClassVar[str] = "Disk" - class_model_uri: ClassVar[URIRef] = GX.Disk - - diskSize: Union[dict, "MemorySize"] = None - diskType: Optional[Union[str, "DiskTypes"]] = "other" - diskBusType: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.diskSize): - self.MissingRequiredField("diskSize") - if not isinstance(self.diskSize, MemorySize): - self.diskSize = MemorySize(**as_dict(self.diskSize)) - - if self.diskType is not None and not isinstance(self.diskType, DiskTypes): - self.diskType = DiskTypes(self.diskType) - - if self.diskBusType is not None and not isinstance(self.diskBusType, str): - self.diskBusType = str(self.diskBusType) - - super().__post_init__(**kwargs) - - -@dataclass -class Endpoint(YAMLRoot): - """ - An endpoint is a mean to access and interact with a service or a resource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Endpoint - class_class_curie: ClassVar[str] = "gx:Endpoint" - class_name: ClassVar[str] = "Endpoint" - class_model_uri: ClassVar[URIRef] = GX.Endpoint - - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None - endpointURL: Optional[Union[str, URI]] = None - formalDescription: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.standardConformity): - self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) - - if self.endpointURL is not None and not isinstance(self.endpointURL, URI): - self.endpointURL = URI(self.endpointURL) - - if self.formalDescription is not None and not isinstance(self.formalDescription, str): - self.formalDescription = str(self.formalDescription) - - super().__post_init__(**kwargs) - - -@dataclass -class GPU(Device): - """ - Graphical processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPU - class_class_curie: ClassVar[str] = "gx:GPU" - class_name: ClassVar[str] = "GPU" - class_model_uri: ClassVar[URIRef] = GX.GPU - - gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" - gpuProcessingUnits: Optional[int] = None - gpuPassthrough: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): - self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): - self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): - self.gpuProcessingUnits = int(self.gpuProcessingUnits) - - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): - self.gpuPassthrough = Bool(self.gpuPassthrough) - - super().__post_init__(**kwargs) - - -@dataclass -class MaintenanceSubscription(YAMLRoot): - """ - A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" - class_name: ClassVar[str] = "MaintenanceSubscription" - class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - - subscriptionIncluded: Optional[Union[bool, Bool]] = False - subscriptionRequired: Optional[Union[bool, Bool]] = False - maintainedUntil: Optional[Union[str, XSDDate]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): - self.subscriptionIncluded = Bool(self.subscriptionIncluded) - - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): - self.subscriptionRequired = Bool(self.subscriptionRequired) - - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): - self.maintainedUntil = XSDDate(self.maintainedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class UpdateStrategy(YAMLRoot): - """ - Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the - lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own - unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them - referencable by its ID for a transition period for customers' convenience. This class defines important aspects of - providers image update policy. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy - class_class_curie: ClassVar[str] = "gx:UpdateStrategy" - class_name: ClassVar[str] = "UpdateStrategy" - class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy - - replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None - hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): - self.replaceFrequency = UpdateFrequency(self.replaceFrequency) - - if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): - self.hotfixHours = int(self.hotfixHours) - - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): - self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) - - if self.providedUntil is not None and not isinstance(self.providedUntil, str): - self.providedUntil = str(self.providedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class LatestN(YAMLRoot): - """ - Number of latest N outdated image versions, which will be valid. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LatestN - class_class_curie: ClassVar[str] = "gx:LatestN" - class_name: ClassVar[str] = "Latest_N" - class_model_uri: ClassVar[URIRef] = GX.LatestN - - value: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.value is not None and not isinstance(self.value, int): - self.value = int(self.value) - - super().__post_init__(**kwargs) - - -class InstantiationRequirement(YAMLRoot): - """ - A container class to gather all requirements for compute service offering instantiations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement - class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" - class_name: ClassVar[str] = "InstantiationRequirement" - class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement - - -@dataclass -class Issuer(YAMLRoot): - """ - An issuer of W3C Verifiable Credentials and Verifiable Presentations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Issuer - class_class_curie: ClassVar[str] = "gx:Issuer" - class_name: ClassVar[str] = "Issuer" - class_model_uri: ClassVar[URIRef] = GX.Issuer - - issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.issuerTermsAndConditions): - self.MissingRequiredField("issuerTermsAndConditions") - if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) - - super().__post_init__(**kwargs) - - -class RegistrationNumber(YAMLRoot): - """ - Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, - EODI, and EUID. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber - class_class_curie: ClassVar[str] = "gx:RegistrationNumber" - class_name: ClassVar[str] = "RegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber - - -@dataclass -class LocalRegistrationNumber(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" - class_name: ClassVar[str] = "LocalRegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - - local: Union[str, LocalRegistrationNumberLocal] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.local): - self.MissingRequiredField("local") - if not isinstance(self.local, LocalRegistrationNumberLocal): - self.local = LocalRegistrationNumberLocal(self.local) - - super().__post_init__(**kwargs) - - -@dataclass -class VatID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VatID - class_class_curie: ClassVar[str] = "gx:VatID" - class_name: ClassVar[str] = "VatID" - class_model_uri: ClassVar[URIRef] = GX.VatID - - vatID: Union[str, VatIDVatID] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.vatID): - self.MissingRequiredField("vatID") - if not isinstance(self.vatID, VatIDVatID): - self.vatID = VatIDVatID(self.vatID) - - super().__post_init__(**kwargs) - - -@dataclass -class LeiCode(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LeiCode - class_class_curie: ClassVar[str] = "gx:LeiCode" - class_name: ClassVar[str] = "LeiCode" - class_model_uri: ClassVar[URIRef] = GX.LeiCode - - leiCode: Union[str, LeiCodeLeiCode] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.leiCode): - self.MissingRequiredField("leiCode") - if not isinstance(self.leiCode, LeiCodeLeiCode): - self.leiCode = LeiCodeLeiCode(self.leiCode) - - super().__post_init__(**kwargs) - - -@dataclass -class EORI(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EORI - class_class_curie: ClassVar[str] = "gx:EORI" - class_name: ClassVar[str] = "EORI" - class_model_uri: ClassVar[URIRef] = GX.EORI - - eori: Union[str, EORIEori] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.eori): - self.MissingRequiredField("eori") - if not isinstance(self.eori, EORIEori): - self.eori = EORIEori(self.eori) - - super().__post_init__(**kwargs) - - -@dataclass -class EUID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EUID - class_class_curie: ClassVar[str] = "gx:EUID" - class_name: ClassVar[str] = "EUID" - class_model_uri: ClassVar[URIRef] = GX.EUID - - euid: Union[str, EUIDEuid] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.euid): - self.MissingRequiredField("euid") - if not isinstance(self.euid, EUIDEuid): - self.euid = EUIDEuid(self.euid) - - super().__post_init__(**kwargs) - - -@dataclass -class Memory(Device): - """ - Details with respect to properties and capabilities of RAM. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Memory - class_class_curie: ClassVar[str] = "gx:Memory" - class_name: ClassVar[str] = "Memory" - class_model_uri: ClassVar[URIRef] = GX.Memory - - memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" - eccEnabled: Optional[Union[bool, Bool]] = False - hardwareEncryption: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.memorySize): - self.MissingRequiredField("memorySize") - if not isinstance(self.memorySize, MemorySize): - self.memorySize = MemorySize(**as_dict(self.memorySize)) - - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): - self.memoryClass = MemoryClasses(self.memoryClass) - - if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): - self.memoryRank = MemoryRanks(self.memoryRank) - - if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): - self.eccEnabled = Bool(self.eccEnabled) - - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): - self.hardwareEncryption = Bool(self.hardwareEncryption) - - super().__post_init__(**kwargs) - - -@dataclass -class Quantity(YAMLRoot): - """ - Abstract parent class for all physical quantities, such as frequency, power or length. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT.Quantity - class_class_curie: ClassVar[str] = "qudt:Quantity" - class_name: ClassVar[str] = "Quantity" - class_model_uri: ClassVar[URIRef] = GX.Quantity - - value: float = None - unit: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.value): - self.MissingRequiredField("value") - if not isinstance(self.value, float): - self.value = float(self.value) - - if self._is_empty(self.unit): - self.MissingRequiredField("unit") - if not isinstance(self.unit, str): - self.unit = str(self.unit) - - super().__post_init__(**kwargs) - - -@dataclass -class Frequency(Quantity): - """ - Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" - class_name: ClassVar[str] = "Frequency" - class_model_uri: ClassVar[URIRef] = GX.Frequency - - value: float = None - unit: str = None - -@dataclass -class MemorySize(Quantity): - """ - The number of bits, that can be stored on a digital storage. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MemorySize - class_class_curie: ClassVar[str] = "gx:MemorySize" - class_name: ClassVar[str] = "MemorySize" - class_model_uri: ClassVar[URIRef] = GX.MemorySize - - value: float = None - unit: str = None - -@dataclass -class Power(Quantity): - """ - Definition of 'Power', according to http://qudt.org/quantitykind/Power. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" - class_name: ClassVar[str] = "Power" - class_model_uri: ClassVar[URIRef] = GX.Power - - value: float = None - unit: str = None - -class Participant(GaiaXEntity): - """ - An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Participant - class_class_curie: ClassVar[str] = "gx:Participant" - class_name: ClassVar[str] = "Participant" - class_model_uri: ClassVar[URIRef] = GX.Participant - - -@dataclass -class LegalPerson(Participant): - """ - A legal person, who is uniquely identified by its registration number. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LegalPerson - class_class_curie: ClassVar[str] = "gx:LegalPerson" - class_name: ClassVar[str] = "LegalPerson" - class_model_uri: ClassVar[URIRef] = GX.LegalPerson - - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - legalAddress: Union[dict, Address] = None - headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.registrationNumber): - self.MissingRequiredField("registrationNumber") - if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] - - if self._is_empty(self.legalAddress): - self.MissingRequiredField("legalAddress") - if not isinstance(self.legalAddress, Address): - self.legalAddress = Address(**as_dict(self.legalAddress)) - - if self._is_empty(self.headquartersAddress): - self.MissingRequiredField("headquartersAddress") - if not isinstance(self.headquartersAddress, Address): - self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) - - if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] - - if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] - - super().__post_init__(**kwargs) - - -@dataclass -class Resource(GaiaXEntity): - """ - Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist - independently of it. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Resource - class_class_curie: ClassVar[str] = "gx:Resource" - class_name: ClassVar[str] = "Resource" - class_model_uri: ClassVar[URIRef] = GX.Resource - - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualResource(Resource): - """ - It represents static data in any form and necessary information such as dataset, configuration file, license, - keypair, an AI model, neural network weights, etc. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualResource - class_class_curie: ClassVar[str] = "gx:VirtualResource" - class_name: ClassVar[str] = "VirtualResource" - class_model_uri: ClassVar[URIRef] = GX.VirtualResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.copyrightOwnedBy): - self.MissingRequiredField("copyrightOwnedBy") - if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] - - if self._is_empty(self.license): - self.MissingRequiredField("license") - if not isinstance(self.license, list): - self.license = [self.license] if self.license is not None else [] - self.license = [v if isinstance(v, str) else str(v) for v in self.license] - - if self._is_empty(self.resourcePolicy): - self.MissingRequiredField("resourcePolicy") - if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] - - super().__post_init__(**kwargs) - - -@dataclass -class PhysicalResource(Resource): - """ - A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are - entities that have a weight and position in physical space. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource - class_class_curie: ClassVar[str] = "gx:PhysicalResource" - class_name: ClassVar[str] = "PhysicalResource" - class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.maintainedBy): - self.MissingRequiredField("maintainedBy") - if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] - - if self._is_empty(self.location): - self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) - - if not isinstance(self.ownedBy, list): - self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] - - if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] - - super().__post_init__(**kwargs) - - -@dataclass -class SoftwareResource(VirtualResource): - """ - A Gaia-X Virtual Resource describing an executable program. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource - class_class_curie: ClassVar[str] = "gx:SoftwareResource" - class_name: ClassVar[str] = "SoftwareResource" - class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - checksum: Optional[Union[dict, CheckSum]] = None - signature: Optional[Union[dict, Signature]] = None - version: Optional[str] = None - patchLevel: Optional[str] = None - buildDate: Optional[Union[str, XSDDateTime]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.checksum is not None and not isinstance(self.checksum, CheckSum): - self.checksum = CheckSum(**as_dict(self.checksum)) - - if self.signature is not None and not isinstance(self.signature, Signature): - self.signature = Signature(**as_dict(self.signature)) - - if self.version is not None and not isinstance(self.version, str): - self.version = str(self.version) - - if self.patchLevel is not None and not isinstance(self.patchLevel, str): - self.patchLevel = str(self.patchLevel) - - if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): - self.buildDate = XSDDateTime(self.buildDate) - - super().__post_init__(**kwargs) - - -@dataclass -class CodeArtifact(SoftwareResource): - """ - A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact - class_class_curie: ClassVar[str] = "gx:CodeArtifact" - class_name: ClassVar[str] = "CodeArtifact" - class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - -@dataclass -class Image(CodeArtifact): - """ - A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of - OperatingSystem and CodeArtifact. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Image - class_class_curie: ClassVar[str] = "gx:Image" - class_name: ClassVar[str] = "Image" - class_model_uri: ClassVar[URIRef] = GX.Image - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - fileSize: Optional[Union[dict, "MemorySize"]] = None - operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None - cpuReq: Optional[Union[dict, CPU]] = None - gpuReq: Optional[Union[dict, GPU]] = None - ramReq: Optional[Union[dict, "Memory"]] = None - videoRamSize: Optional[Union[dict, "MemorySize"]] = None - rootDiskReq: Optional[Union[dict, Disk]] = None - encryption: Optional[Union[dict, Encryption]] = None - secureBoot: Optional[Union[bool, Bool]] = False - vPMU: Optional[Union[bool, Bool]] = False - multiQueues: Optional[Union[bool, Bool]] = False - updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None - licenseIncluded: Optional[Union[bool, Bool]] = False - maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): - self.fileSize = MemorySize(**as_dict(self.fileSize)) - - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): - self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) - - if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): - self.cpuReq = CPU(**as_dict(self.cpuReq)) - - if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): - self.gpuReq = GPU(**as_dict(self.gpuReq)) - - if self.ramReq is not None and not isinstance(self.ramReq, Memory): - self.ramReq = Memory(**as_dict(self.ramReq)) - - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): - self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) - - if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): - self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) - - if self.encryption is not None and not isinstance(self.encryption, Encryption): - self.encryption = Encryption(**as_dict(self.encryption)) - - if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): - self.secureBoot = Bool(self.secureBoot) - - if self.vPMU is not None and not isinstance(self.vPMU, Bool): - self.vPMU = Bool(self.vPMU) - - if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): - self.multiQueues = Bool(self.multiQueues) - - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): - self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): - self.licenseIncluded = Bool(self.licenseIncluded) - - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): - self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) - - super().__post_init__(**kwargs) - - -@dataclass -class PXEImage(Image): - """ - PXE image for physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PXEImage - class_class_curie: ClassVar[str] = "gx:PXEImage" - class_name: ClassVar[str] = "PXE_Image" - class_model_uri: ClassVar[URIRef] = GX.PXEImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): - self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) - - super().__post_init__(**kwargs) - - -@dataclass -class OperatingSystem(SoftwareResource): - """ - A special Gaia-X Software Resource describing an operating system. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem - class_class_curie: ClassVar[str] = "gx:OperatingSystem" - class_name: ClassVar[str] = "OperatingSystem" - class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - osDistribution: Union[str, "OSDistribution"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.osDistribution): - self.MissingRequiredField("osDistribution") - if not isinstance(self.osDistribution, OSDistribution): - self.osDistribution = OSDistribution(self.osDistribution) - - super().__post_init__(**kwargs) - - -@dataclass -class Hypervisor(SoftwareResource): - """ - A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Hypervisor - class_class_curie: ClassVar[str] = "gx:Hypervisor" - class_name: ClassVar[str] = "Hypervisor" - class_model_uri: ClassVar[URIRef] = GX.Hypervisor - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - hypervisorType: Union[str, "HypervisorType"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.hypervisorType): - self.MissingRequiredField("hypervisorType") - if not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - super().__post_init__(**kwargs) - - -@dataclass -class ServiceOffering(GaiaXEntity): - """ - A digital service available for order. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering - class_class_curie: ClassVar[str] = "gx:ServiceOffering" - class_name: ClassVar[str] = "ServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() - keyword: Optional[Union[str, List[str]]] = empty_list() - provisionType: Optional[Union[str, "ProvisionTypes"]] = None - endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.providedBy): - self.MissingRequiredField("providedBy") - if not isinstance(self.providedBy, LegalPersonRegistrationNumber): - self.providedBy = LegalPersonRegistrationNumber(self.providedBy) - - if self._is_empty(self.serviceOfferingTermsAndConditions): - self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) - - if self._is_empty(self.servicePolicy): - self.MissingRequiredField("servicePolicy") - if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] - - if self._is_empty(self.dataAccountExport): - self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) - - if not isinstance(self.dependsOn, list): - self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] - self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] - - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] - - if not isinstance(self.keyword, list): - self.keyword = [self.keyword] if self.keyword is not None else [] - self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): - self.provisionType = ProvisionTypes(self.provisionType) - - if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): - self.endpoint = Endpoint(**as_dict(self.endpoint)) - - if not isinstance(self.hostedOn, list): - self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] - self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] - - super().__post_init__(**kwargs) - - -@dataclass -class InfrastructureServiceOffering(ServiceOffering): - """ - A digital service available for order and offering computational, storage and/pr network capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" - class_name: ClassVar[str] = "InfrastructureServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - -@dataclass -class ComputeServiceOffering(InfrastructureServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" - class_name: ClassVar[str] = "ComputeServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): - self.tenantSeparation = TenantSeparation(self.tenantSeparation) - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualMachineServiceOffering(ComputeServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" - class_name: ClassVar[str] = "VirtualMachineServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.codeArtifact): - self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) - - if self._is_empty(self.instantiationReq): - self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class TermsAndConditions(YAMLRoot): - """ - Terms and Conditions applying to a service offering. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions - class_class_curie: ClassVar[str] = "gx:TermsAndConditions" - class_name: ClassVar[str] = "TermsAndConditions" - class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions - - url: Union[str, URI] = None - hash: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.url): - self.MissingRequiredField("url") - if not isinstance(self.url, URI): - self.url = URI(self.url) - - if self._is_empty(self.hash): - self.MissingRequiredField("hash") - if not isinstance(self.hash, str): - self.hash = str(self.hash) - - super().__post_init__(**kwargs) - - -@dataclass -class DataAccountExport(YAMLRoot): - """ - List of methods to export data from your account out of the service. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport - class_class_curie: ClassVar[str] = "gx:DataAccountExport" - class_name: ClassVar[str] = "DataAccountExport" - class_model_uri: ClassVar[URIRef] = GX.DataAccountExport - - requestType: Union[str, "RequestTypes"] = None - accessType: Union[str, "AccessTypes"] = None - formatType: Union[str, "MIMETypes"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.requestType): - self.MissingRequiredField("requestType") - if not isinstance(self.requestType, RequestTypes): - self.requestType = RequestTypes(self.requestType) - - if self._is_empty(self.accessType): - self.MissingRequiredField("accessType") - if not isinstance(self.accessType, AccessTypes): - self.accessType = AccessTypes(self.accessType) - - if self._is_empty(self.formatType): - self.MissingRequiredField("formatType") - if not isinstance(self.formatType, MIMETypes): - self.formatType = MIMETypes(self.formatType) - - super().__post_init__(**kwargs) - - -@dataclass -class StandardConformity(YAMLRoot): - """ - Details about standard applied to Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.StandardConformity - class_class_curie: ClassVar[str] = "gx:StandardConformity" - class_name: ClassVar[str] = "StandardConformity" - class_model_uri: ClassVar[URIRef] = GX.StandardConformity - - title: str = None - standardReference: Union[str, URI] = None - publisher: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.title): - self.MissingRequiredField("title") - if not isinstance(self.title, str): - self.title = str(self.title) - - if self._is_empty(self.standardReference): - self.MissingRequiredField("standardReference") - if not isinstance(self.standardReference, URI): - self.standardReference = URI(self.standardReference) - - if self.publisher is not None and not isinstance(self.publisher, str): - self.publisher = str(self.publisher) - - super().__post_init__(**kwargs) - - -@dataclass -class DataResource(VirtualResource): - """ - A dataset exposed through a service instance. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataResource - class_class_curie: ClassVar[str] = "gx:DataResource" - class_name: ClassVar[str] = "DataResource" - class_model_uri: ClassVar[URIRef] = GX.DataResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None - containsPII: Union[bool, Bool] = None - obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None - expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.producedBy): - self.MissingRequiredField("producedBy") - if not isinstance(self.producedBy, LegalPersonRegistrationNumber): - self.producedBy = LegalPersonRegistrationNumber(self.producedBy) - - if self._is_empty(self.exposedThrough): - self.MissingRequiredField("exposedThrough") - if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] - - if self._is_empty(self.containsPII): - self.MissingRequiredField("containsPII") - if not isinstance(self.containsPII, Bool): - self.containsPII = Bool(self.containsPII) - - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): - self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): - self.expirationDateTime = XSDDateTime(self.expirationDateTime) - - if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class Consent(YAMLRoot): - """ - Information on the legitimate processing of information related to PII. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Consent - class_class_curie: ClassVar[str] = "gx:Consent" - class_name: ClassVar[str] = "Consent" - class_model_uri: ClassVar[URIRef] = GX.Consent - - legalBasis: str = None - dataProtectionContactPoint: Union[str, List[str]] = None - purpose: Union[str, List[str]] = None - consentWithdrawalContactPoint: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.legalBasis): - self.MissingRequiredField("legalBasis") - if not isinstance(self.legalBasis, str): - self.legalBasis = str(self.legalBasis) - - if self._is_empty(self.dataProtectionContactPoint): - self.MissingRequiredField("dataProtectionContactPoint") - if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] - - if self._is_empty(self.purpose): - self.MissingRequiredField("purpose") - if not isinstance(self.purpose, list): - self.purpose = [self.purpose] if self.purpose is not None else [] - self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] - - if self._is_empty(self.consentWithdrawalContactPoint): - self.MissingRequiredField("consentWithdrawalContactPoint") - if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] - - super().__post_init__(**kwargs) - - -class DataExchangeComponent(YAMLRoot): - """ - A service/resource used to make a data resource available. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent - class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" - class_name: ClassVar[str] = "DataExchangeComponent" - class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent - - -@dataclass -class VMImage(Image): - """ - Image for virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VMImage - class_class_curie: ClassVar[str] = "gx:VMImage" - class_name: ClassVar[str] = "VM_Image" - class_model_uri: ClassVar[URIRef] = GX.VMImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" - firmwareType: Optional[Union[str, "FirmType"]] = "other" - hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" - watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): - self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): - self.firmwareType = FirmType(self.firmwareType) - - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): - self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): - self.watchDogAction = WatchDogActions(self.watchDogAction) - - super().__post_init__(**kwargs) - - -@dataclass -class ServerFlavor(YAMLRoot): - """ - Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or - virtual servers that can be launched. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor - class_class_curie: ClassVar[str] = "gx:ServerFlavor" - class_name: ClassVar[str] = "ServerFlavor" - class_model_uri: ClassVar[URIRef] = GX.ServerFlavor - - cpu: Union[dict, CPU] = None - ram: Union[dict, Memory] = None - bootVolume: Union[dict, Disk] = None - gpu: Optional[Union[dict, GPU]] = None - network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() - confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None - hypervisor: Optional[Union[dict, SoftwareResource]] = None - hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False - hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cpu): - self.MissingRequiredField("cpu") - if not isinstance(self.cpu, CPU): - self.cpu = CPU(**as_dict(self.cpu)) - - if self._is_empty(self.ram): - self.MissingRequiredField("ram") - if not isinstance(self.ram, Memory): - self.ram = Memory(**as_dict(self.ram)) - - if self._is_empty(self.bootVolume): - self.MissingRequiredField("bootVolume") - if not isinstance(self.bootVolume, Disk): - self.bootVolume = Disk(**as_dict(self.bootVolume)) - - if self.gpu is not None and not isinstance(self.gpu, GPU): - self.gpu = GPU(**as_dict(self.gpu)) - - if self.network is not None and not isinstance(self.network, str): - self.network = str(self.network) - - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): - self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) - - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): - self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) - - super().__post_init__(**kwargs) - - -@dataclass -class ConfidentialComputing(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing - class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" - class_name: ClassVar[str] = "ConfidentialComputing" - class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing - - technology: str = None - attestationServiceURI: Optional[Union[str, URI]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.technology): - self.MissingRequiredField("technology") - if not isinstance(self.technology, str): - self.technology = str(self.technology) - - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): - self.attestationServiceURI = URI(self.attestationServiceURI) - - super().__post_init__(**kwargs) - - -# Enumerations -class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") - VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") - UM = PermissibleValue( - text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") - SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") - VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") - BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") - BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") - VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") - IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") - CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") - KP = PermissibleValue( - text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") - LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") - DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") - MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") - FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") - FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") - TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") - HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") - IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") - KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") - CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") - MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") - MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") - BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") - KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") - MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") - RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") - ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") - SH = PermissibleValue( - text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") - KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") - MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") - SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") - PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") - VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") - GS = PermissibleValue( - text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") - SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") - TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") - TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") - AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") - TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") - US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") - GB = PermissibleValue( - text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") - CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") - - _defn = EnumDefinition( - name="CountryNameAlpha2", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) - -class CountryNameAlpha3(EnumDefinitionImpl): - - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") - ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") - BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") - BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") - BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") - IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") - CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") - CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") - CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") - COD = PermissibleValue( - text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") - COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") - DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") - FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") - FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") - ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") - HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") - IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") - PRK = PermissibleValue( - text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") - KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") - LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") - MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") - MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") - FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") - MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") - MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") - PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") - RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") - SHN = PermissibleValue( - text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") - KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") - MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") - SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") - VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") - STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") - SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") - SGS = PermissibleValue( - text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") - SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") - SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") - TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") - TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") - TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") - XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") - TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") - ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") - GBR = PermissibleValue( - text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") - USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") - UMI = PermissibleValue( - text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") - VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") - VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") - VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") - - _defn = EnumDefinition( - name="CountryNameAlpha3", - ) - -class CountryNameNumeric(EnumDefinitionImpl): - - _defn = EnumDefinition( - name="CountryNameNumeric", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", - PermissibleValue( - text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", - PermissibleValue( - text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", - PermissibleValue( - text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", - PermissibleValue( - text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", - PermissibleValue( - text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", - PermissibleValue( - text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", - PermissibleValue( - text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", - PermissibleValue( - text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", - PermissibleValue( - text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", - PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", - PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", - PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", - PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", - PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", - PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", - PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", - PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", - PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", - PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", - PermissibleValue( - text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) - -class EncryptionAlgorithm(EnumDefinitionImpl): - - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") - - _defn = EnumDefinition( - name="EncryptionAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) - -class ChecksumAlgorithm(EnumDefinitionImpl): - - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm to calcualte checksum not further described.") - - _defn = EnumDefinition( - name="ChecksumAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-2", - PermissibleValue( - text="sha-2", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) - -class KeyManagement(EnumDefinitionImpl): - - BYOK = PermissibleValue( - text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") - HYOK = PermissibleValue( - text="HYOK", - description="hold-your-own-key Key created by user and kept by user") - managed = PermissibleValue( - text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") - - _defn = EnumDefinition( - name="KeyManagement", - ) - -class SignatureAlgorithm(EnumDefinitionImpl): - - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for digital signatures not further described.") - - _defn = EnumDefinition( - name="SignatureAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) - -class DiskTypes(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="DiskTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) - -class GPUInterconnetionTypes(EnumDefinitionImpl): - - NVLink = PermissibleValue(text="NVLink") - RoCE2 = PermissibleValue(text="RoCE2") - other = PermissibleValue(text="other") - none = PermissibleValue(text="none") - - _defn = EnumDefinition( - name="GPUInterconnetionTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) - -class UpdateFrequency(EnumDefinitionImpl): - """ - Possible values for image's update frequency. - """ - yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") - quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") - weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") - daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") - critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") - - _defn = EnumDefinition( - name="UpdateFrequency", - description="Possible values for image's update frequency.", - ) - -class Validity1(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - none = PermissibleValue( - text="none", - description="No information are given.") - notice = PermissibleValue( - text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") - - _defn = EnumDefinition( - name="Validity1", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class Validity2(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - forever = PermissibleValue( - text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") - - _defn = EnumDefinition( - name="Validity2", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class GaiaXTermsAndConditions(EnumDefinitionImpl): - """ - SHA256 check sum of Gaia-X Terms and Conditions. - """ - _defn = EnumDefinition( - name="GaiaXTermsAndConditions", - description="SHA256 check sum of Gaia-X Terms and Conditions.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) - -class MemoryClasses(EnumDefinitionImpl): - - DDR4 = PermissibleValue(text="DDR4") - DDR5 = PermissibleValue(text="DDR5") - GDDR5 = PermissibleValue(text="GDDR5") - GDDR6 = PermissibleValue(text="GDDR6") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryClasses", - ) - -class MemoryRanks(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryRanks", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) - -class PXEDiskType(EnumDefinitionImpl): - - WINPE = PermissibleValue(text="WINPE") - ISO = PermissibleValue(text="ISO") - - _defn = EnumDefinition( - name="PXEDiskType", - ) - -class SPDX(EnumDefinitionImpl): - - AAL = PermissibleValue(text="AAL") - Abstyles = PermissibleValue(text="Abstyles") - ADSL = PermissibleValue(text="ADSL") - Afmparse = PermissibleValue(text="Afmparse") - Aladdin = PermissibleValue(text="Aladdin") - AMDPLPA = PermissibleValue(text="AMDPLPA") - AML = PermissibleValue(text="AML") - AMPAS = PermissibleValue(text="AMPAS") - APAFML = PermissibleValue(text="APAFML") - Baekmuk = PermissibleValue(text="Baekmuk") - Bahyph = PermissibleValue(text="Bahyph") - Barr = PermissibleValue(text="Barr") - Beerware = PermissibleValue(text="Beerware") - blessing = PermissibleValue(text="blessing") - Borceux = PermissibleValue(text="Borceux") - Caldera = PermissibleValue(text="Caldera") - CFITSIO = PermissibleValue(text="CFITSIO") - checkmk = PermissibleValue(text="checkmk") - ClArtistic = PermissibleValue(text="ClArtistic") - Clips = PermissibleValue(text="Clips") - Crossword = PermissibleValue(text="Crossword") - CrystalStacker = PermissibleValue(text="CrystalStacker") - Cube = PermissibleValue(text="Cube") - curl = PermissibleValue(text="curl") - diffmark = PermissibleValue(text="diffmark") - DOC = PermissibleValue(text="DOC") - Dotseqn = PermissibleValue(text="Dotseqn") - DSDP = PermissibleValue(text="DSDP") - dtoa = PermissibleValue(text="dtoa") - dvipdfm = PermissibleValue(text="dvipdfm") - eGenix = PermissibleValue(text="eGenix") - Entessa = PermissibleValue(text="Entessa") - EPICS = PermissibleValue(text="EPICS") - EUDatagrid = PermissibleValue(text="EUDatagrid") - Eurosym = PermissibleValue(text="Eurosym") - Fair = PermissibleValue(text="Fair") - FreeImage = PermissibleValue(text="FreeImage") - FSFAP = PermissibleValue(text="FSFAP") - FSFUL = PermissibleValue(text="FSFUL") - FSFULLR = PermissibleValue(text="FSFULLR") - FSFULLRWD = PermissibleValue(text="FSFULLRWD") - FTL = PermissibleValue(text="FTL") - GD = PermissibleValue(text="GD") - Giftware = PermissibleValue(text="Giftware") - GL2PS = PermissibleValue(text="GL2PS") - Glide = PermissibleValue(text="Glide") - Glulxe = PermissibleValue(text="Glulxe") - GLWTPL = PermissibleValue(text="GLWTPL") - gnuplot = PermissibleValue(text="gnuplot") - HaskellReport = PermissibleValue(text="HaskellReport") - HPND = PermissibleValue(text="HPND") - HTMLTIDY = PermissibleValue(text="HTMLTIDY") - ICU = PermissibleValue(text="ICU") - IJG = PermissibleValue(text="IJG") - ImageMagick = PermissibleValue(text="ImageMagick") - iMatix = PermissibleValue(text="iMatix") - Imlib2 = PermissibleValue(text="Imlib2") - Intel = PermissibleValue(text="Intel") - IPA = PermissibleValue(text="IPA") - ISC = PermissibleValue(text="ISC") - Jam = PermissibleValue(text="Jam") - JPNIC = PermissibleValue(text="JPNIC") - JSON = PermissibleValue(text="JSON") - Kazlib = PermissibleValue(text="Kazlib") - Latex2e = PermissibleValue(text="Latex2e") - Leptonica = PermissibleValue(text="Leptonica") - LGPLLR = PermissibleValue(text="LGPLLR") - Libpng = PermissibleValue(text="Libpng") - libtiff = PermissibleValue(text="libtiff") - LOOP = PermissibleValue(text="LOOP") - MakeIndex = PermissibleValue(text="MakeIndex") - metamail = PermissibleValue(text="metamail") - Minpack = PermissibleValue(text="Minpack") - MirOS = PermissibleValue(text="MirOS") - MIT = PermissibleValue(text="MIT") - MITNFA = PermissibleValue(text="MITNFA") - Motosoto = PermissibleValue(text="Motosoto") - mpich2 = PermissibleValue(text="mpich2") - mplus = PermissibleValue(text="mplus") - MTLL = PermissibleValue(text="MTLL") - Multics = PermissibleValue(text="Multics") - Mup = PermissibleValue(text="Mup") - Naumen = PermissibleValue(text="Naumen") - NCSA = PermissibleValue(text="NCSA") - NetCDF = PermissibleValue(text="NetCDF") - Newsletr = PermissibleValue(text="Newsletr") - NGPL = PermissibleValue(text="NGPL") - NLPL = PermissibleValue(text="NLPL") - Nokia = PermissibleValue(text="Nokia") - NOSL = PermissibleValue(text="NOSL") - Noweb = PermissibleValue(text="Noweb") - NRL = PermissibleValue(text="NRL") - NTP = PermissibleValue(text="NTP") - OFFIS = PermissibleValue(text="OFFIS") - OGTSL = PermissibleValue(text="OGTSL") - OML = PermissibleValue(text="OML") - OpenSSL = PermissibleValue(text="OpenSSL") - Plexus = PermissibleValue(text="Plexus") - PostgreSQL = PermissibleValue(text="PostgreSQL") - psfrag = PermissibleValue(text="psfrag") - psutils = PermissibleValue(text="psutils") - Qhull = PermissibleValue(text="Qhull") - Rdisc = PermissibleValue(text="Rdisc") - RSCPL = PermissibleValue(text="RSCPL") - Ruby = PermissibleValue(text="Ruby") - Saxpath = PermissibleValue(text="Saxpath") - SCEA = PermissibleValue(text="SCEA") - SchemeReport = PermissibleValue(text="SchemeReport") - Sendmail = PermissibleValue(text="Sendmail") - SGP4 = PermissibleValue(text="SGP4") - SISSL = PermissibleValue(text="SISSL") - Sleepycat = PermissibleValue(text="Sleepycat") - SMLNJ = PermissibleValue(text="SMLNJ") - SMPPL = PermissibleValue(text="SMPPL") - SNIA = PermissibleValue(text="SNIA") - snprintf = PermissibleValue(text="snprintf") - SunPro = PermissibleValue(text="SunPro") - SWL = PermissibleValue(text="SWL") - Symlinks = PermissibleValue(text="Symlinks") - TCL = PermissibleValue(text="TCL") - TermReadKey = PermissibleValue(text="TermReadKey") - TMate = PermissibleValue(text="TMate") - TOSL = PermissibleValue(text="TOSL") - TPDL = PermissibleValue(text="TPDL") - TTWL = PermissibleValue(text="TTWL") - UCAR = PermissibleValue(text="UCAR") - UnixCrypt = PermissibleValue(text="UnixCrypt") - Unlicense = PermissibleValue(text="Unlicense") - Vim = PermissibleValue(text="Vim") - VOSTROM = PermissibleValue(text="VOSTROM") - W3C = PermissibleValue(text="W3C") - w3m = PermissibleValue(text="w3m") - Wsuipa = PermissibleValue(text="Wsuipa") - WTFPL = PermissibleValue(text="WTFPL") - X11 = PermissibleValue(text="X11") - Xerox = PermissibleValue(text="Xerox") - Xfig = PermissibleValue(text="Xfig") - xinetd = PermissibleValue(text="xinetd") - xlock = PermissibleValue(text="xlock") - Xnet = PermissibleValue(text="Xnet") - xpp = PermissibleValue(text="xpp") - XSkat = PermissibleValue(text="XSkat") - Zed = PermissibleValue(text="Zed") - Zlib = PermissibleValue(text="Zlib") - - _defn = EnumDefinition( - name="SPDX", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) - -class OSDistribution(EnumDefinitionImpl): - """ - Possible values for operating system distribution. - """ - Debian = PermissibleValue(text="Debian") - Fedora = PermissibleValue(text="Fedora") - FreeBSD = PermissibleValue(text="FreeBSD") - Mandrakelinux = PermissibleValue(text="Mandrakelinux") - NetBSD = PermissibleValue(text="NetBSD") - OpenBSD = PermissibleValue(text="OpenBSD") - OpenSolaris = PermissibleValue(text="OpenSolaris") - openSUSE = PermissibleValue(text="openSUSE") - Ubuntu = PermissibleValue(text="Ubuntu") - CirrOS = PermissibleValue(text="CirrOS") - AlmaLinux = PermissibleValue(text="AlmaLinux") - others = PermissibleValue(text="others") - - _defn = EnumDefinition( - name="OSDistribution", - description="Possible values for operating system distribution.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) - -class HypervisorType(EnumDefinitionImpl): - """ - Possible values for hypervisor types. - """ - quemu = PermissibleValue(text="quemu") - KVM = PermissibleValue(text="KVM") - Xen = PermissibleValue(text="Xen") - ESXi = PermissibleValue(text="ESXi") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="HypervisorType", - description="Possible values for hypervisor types.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) - -class PersonalDataProtectionRegime(EnumDefinitionImpl): - - GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") - LGPD2019 = PermissibleValue( - text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") - PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") - CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") - VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") - - _defn = EnumDefinition( - name="PersonalDataProtectionRegime", - ) - -class RequestTypes(EnumDefinitionImpl): - - API = PermissibleValue(text="API") - email = PermissibleValue(text="email") - webform = PermissibleValue(text="webform") - unregisteredLetter = PermissibleValue(text="unregisteredLetter") - registeredLetter = PermissibleValue(text="registeredLetter") - supportCenter = PermissibleValue(text="supportCenter") - - _defn = EnumDefinition( - name="RequestTypes", - ) - -class AccessTypes(EnumDefinitionImpl): - - digital = PermissibleValue( - text="digital", - description="Access via digital service, such as e-mail or web form.") - physical = PermissibleValue( - text="physical", - description="Access via physical medium, such as letter or physical appointment.") - - _defn = EnumDefinition( - name="AccessTypes", - ) - -class MIMETypes(EnumDefinitionImpl): - - calendar = PermissibleValue(text="calendar") - cql = PermissibleValue(text="cql") - css = PermissibleValue(text="css") - csv = PermissibleValue(text="csv") - dns = PermissibleValue(text="dns") - encaprtp = PermissibleValue(text="encaprtp") - enriched = PermissibleValue(text="enriched") - example = PermissibleValue(text="example") - fhirpath = PermissibleValue(text="fhirpath") - flexfec = PermissibleValue(text="flexfec") - fwdred = PermissibleValue(text="fwdred") - gff3 = PermissibleValue(text="gff3") - hl7v2 = PermissibleValue(text="hl7v2") - html = PermissibleValue(text="html") - javascript = PermissibleValue(text="javascript") - markdown = PermissibleValue(text="markdown") - mizar = PermissibleValue(text="mizar") - n3 = PermissibleValue(text="n3") - parameters = PermissibleValue(text="parameters") - parityfec = PermissibleValue(text="parityfec") - plain = PermissibleValue(text="plain") - RED = PermissibleValue(text="RED") - richtext = PermissibleValue(text="richtext") - rtf = PermissibleValue(text="rtf") - rtploopback = PermissibleValue(text="rtploopback") - rtx = PermissibleValue(text="rtx") - SGML = PermissibleValue(text="SGML") - shacl = PermissibleValue(text="shacl") - shex = PermissibleValue(text="shex") - spdx = PermissibleValue(text="spdx") - strings = PermissibleValue(text="strings") - t140 = PermissibleValue(text="t140") - troff = PermissibleValue(text="troff") - turtle = PermissibleValue(text="turtle") - ulpfec = PermissibleValue(text="ulpfec") - vcard = PermissibleValue(text="vcard") - vtt = PermissibleValue(text="vtt") - wgsl = PermissibleValue(text="wgsl") - xml = PermissibleValue(text="xml") - A2L = PermissibleValue(text="A2L") - activemessage = PermissibleValue(text="activemessage") - AML = PermissibleValue(text="AML") - applefile = PermissibleValue(text="applefile") - ATF = PermissibleValue(text="ATF") - ATFX = PermissibleValue(text="ATFX") - atomicmail = PermissibleValue(text="atomicmail") - ATXML = PermissibleValue(text="ATXML") - cbor = PermissibleValue(text="cbor") - cccex = PermissibleValue(text="cccex") - cdni = PermissibleValue(text="cdni") - CEA = PermissibleValue(text="CEA") - cfw = PermissibleValue(text="cfw") - clr = PermissibleValue(text="clr") - cms = PermissibleValue(text="cms") - commonground = PermissibleValue(text="commonground") - cose = PermissibleValue(text="cose") - csrattrs = PermissibleValue(text="csrattrs") - cwl = PermissibleValue(text="cwl") - cwt = PermissibleValue(text="cwt") - cybercash = PermissibleValue(text="cybercash") - dashdelta = PermissibleValue(text="dashdelta") - DCD = PermissibleValue(text="DCD") - dicom = PermissibleValue(text="dicom") - DII = PermissibleValue(text="DII") - DIT = PermissibleValue(text="DIT") - dvcs = PermissibleValue(text="dvcs") - EDIFACT = PermissibleValue(text="EDIFACT") - efi = PermissibleValue(text="efi") - eshop = PermissibleValue(text="eshop") - exi = PermissibleValue(text="exi") - express = PermissibleValue(text="express") - fastinfoset = PermissibleValue(text="fastinfoset") - fastsoap = PermissibleValue(text="fastsoap") - fdf = PermissibleValue(text="fdf") - fits = PermissibleValue(text="fits") - gzip = PermissibleValue(text="gzip") - H224 = PermissibleValue(text="H224") - http = PermissibleValue(text="http") - hyperstudio = PermissibleValue(text="hyperstudio") - iges = PermissibleValue(text="iges") - index = PermissibleValue(text="index") - IOTP = PermissibleValue(text="IOTP") - ipfix = PermissibleValue(text="ipfix") - ipp = PermissibleValue(text="ipp") - ISUP = PermissibleValue(text="ISUP") - jose = PermissibleValue(text="jose") - json = PermissibleValue(text="json") - jwt = PermissibleValue(text="jwt") - linkset = PermissibleValue(text="linkset") - LXF = PermissibleValue(text="LXF") - macwriteii = PermissibleValue(text="macwriteii") - marc = PermissibleValue(text="marc") - mathematica = PermissibleValue(text="mathematica") - mbox = PermissibleValue(text="mbox") - MF4 = PermissibleValue(text="MF4") - mikey = PermissibleValue(text="mikey") - mipc = PermissibleValue(text="mipc") - mp21 = PermissibleValue(text="mp21") - mp4 = PermissibleValue(text="mp4") - msword = PermissibleValue(text="msword") - mxf = PermissibleValue(text="mxf") - nasdata = PermissibleValue(text="nasdata") - node = PermissibleValue(text="node") - nss = PermissibleValue(text="nss") - ODA = PermissibleValue(text="ODA") - ODX = PermissibleValue(text="ODX") - ogg = PermissibleValue(text="ogg") - oscore = PermissibleValue(text="oscore") - oxps = PermissibleValue(text="oxps") - p21 = PermissibleValue(text="p21") - passport = PermissibleValue(text="passport") - pdf = PermissibleValue(text="pdf") - PDX = PermissibleValue(text="PDX") - pkcs10 = PermissibleValue(text="pkcs10") - pkcs8 = PermissibleValue(text="pkcs8") - pkcs12 = PermissibleValue(text="pkcs12") - pkixcmp = PermissibleValue(text="pkixcmp") - postscript = PermissibleValue(text="postscript") - QSIG = PermissibleValue(text="QSIG") - raptorfec = PermissibleValue(text="raptorfec") - riscos = PermissibleValue(text="riscos") - sbe = PermissibleValue(text="sbe") - sdp = PermissibleValue(text="sdp") - sieve = PermissibleValue(text="sieve") - simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") - sipc = PermissibleValue(text="sipc") - slate = PermissibleValue(text="slate") - smpte336m = PermissibleValue(text="smpte336m") - sql = PermissibleValue(text="sql") - srgs = PermissibleValue(text="srgs") - TETRA_ISI = PermissibleValue(text="TETRA_ISI") - tnauthlist = PermissibleValue(text="tnauthlist") - trig = PermissibleValue(text="trig") - tzif = PermissibleValue(text="tzif") - vemmi = PermissibleValue(text="vemmi") - wasm = PermissibleValue(text="wasm") - widget = PermissibleValue(text="widget") - wita = PermissibleValue(text="wita") - xfdf = PermissibleValue(text="xfdf") - yaml = PermissibleValue(text="yaml") - yang = PermissibleValue(text="yang") - zip = PermissibleValue(text="zip") - zlib = PermissibleValue(text="zlib") - zstd = PermissibleValue(text="zstd") - - _defn = EnumDefinition( - name="MIMETypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) - -class ProvisionTypes(EnumDefinitionImpl): - - private = PermissibleValue( - text="private", - description="A service, which is provided for one customer exclusively.") - public = PermissibleValue( - text="public", - description="A service, which is used by several customers, simultaneously.") - hybrid = PermissibleValue( - text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") - - _defn = EnumDefinition( - name="ProvisionTypes", - ) - -class TenantSeparation(EnumDefinitionImpl): - - physical = PermissibleValue( - text="physical", - description="TBD") - - _defn = EnumDefinition( - name="TenantSeparation", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) - -class FirmType(EnumDefinitionImpl): - """ - Possible values for VM image's firmerequired hypervisor. - """ - BIOS = PermissibleValue(text="BIOS") - UEFI = PermissibleValue(text="UEFI") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="FirmType", - description="Possible values for VM image's firmerequired hypervisor.", - ) - -class WatchDogActions(EnumDefinitionImpl): - """ - Possible values for VM image's watchdog actions. - """ - disabled = PermissibleValue( - text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") - reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") - poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") - pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") - none = PermissibleValue( - text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") - - _defn = EnumDefinition( - name="WatchDogActions", - description="Possible values for VM image's watchdog actions.", - ) - -class RNGTypes(EnumDefinitionImpl): - - Quantum = PermissibleValue( - text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") - - _defn = EnumDefinition( - name="RNGTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Electrical noise", - PermissibleValue( - text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", - PermissibleValue( - text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", - PermissibleValue( - text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", - PermissibleValue( - text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) - -class VMDiskType(EnumDefinitionImpl): - - RAW = PermissibleValue(text="RAW") - QCOW2 = PermissibleValue(text="QCOW2") - VHD = PermissibleValue(text="VHD") - VMDK = PermissibleValue(text="VMDK") - ISO = PermissibleValue(text="ISO") - CVF = PermissibleValue(text="CVF") - CVA = PermissibleValue(text="CVA") - - _defn = EnumDefinition( - name="VMDiskType", - ) - -# Slots -class slots: - pass - -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) - -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 0c74864..092d38c 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -3,22 +3,20 @@ """ import inspect -from generator.common.gx_schema import SCHEMA -from generator.common.gx_schema import VCARD -from generator.common.gx_schema import GX -from generator.common.gx_schema import QUDT -from generator.common.gx_schema import YAMLRoot -from generator.common.gx_schema import slots - from json import JSONDecoder from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from typing import List +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots +from linkml_runtime.utils.yamlutils import TypedNode +from typing import List, Tuple from uuid import uuid4 +from datetime import date, datetime +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python @@ -70,7 +68,6 @@ def to_json_ld(obj) -> dict: @rtype: dict """ json_ld = dict() - if isinstance(obj, JsonLdObject): # if JsonLdObject adds id gx_object = obj.gx_object @@ -85,56 +82,44 @@ def to_json_ld(obj) -> dict: # skip emtpy values continue slot_curie = get_slot_curie(key, obj) - if isinstance(value, XSDDateTime): - # Add type for datetime - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:dateTime" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, XSDDate): - # add type for date - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:date" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, float): - # add type for float - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:float" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, str) and value.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:anyURI" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, bool): - # add type for boolean - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:boolean" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, list): + if isinstance(value, list): # call to_json_ld for each entry in list json_ld[slot_curie] = list() for item in value: json_ld[slot_curie].append(to_json_ld(item)) - elif isinstance(value, EnumDefinitionImpl): + elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code - json_ld[slot_curie] = value.code.text - elif isinstance(value, YAMLRoot): - json_ld[slot_curie] = to_json_ld(value) + return obj.code.text else: - json_ld[slot_curie] = value + json_ld[slot_curie] = to_json_ld(value) return json_ld - elif isinstance(obj, str): - if obj.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld["@type"] = "xsd:anyURI" - json_ld["@value"] = obj - return json_ld - else: - return obj + elif isinstance(obj, datetime): + # Add type for datetime + return { + "@type": "xsd:dateTime", + "@value": str(obj)} + elif isinstance(obj, date): + # add type for date + return { + "@type": "xsd:date", + "@value": str(obj)} + elif isinstance(obj, float): + # add type for float + return { + "@type": "xsd:float", + "@value": str(obj)} + elif isinstance(obj, URI): + # add type for URI + return { + "@type": "xsd:anyURI", + "@value": str(obj)} + elif isinstance(obj, bool): + # add type for boolean + return { + "@type": "xsd:boolean", + "@value": str(obj)} else: - return JSONDecoder().decode(obj) + return obj def get_slot_curie(slot_name:str, gx_object: object)-> str: @@ -153,19 +138,20 @@ def get_slot_curie(slot_name:str, gx_object: object)-> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie - -def get_types(gaia_object: type) -> List[type]: +def get_types(gx_object: type) -> List[type]: """ Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. - @param gaia_object: GX object, whose type is to be retrived - @type gaia_object: type + @param gx_object: GX object, whose type is to be retrived + @type gx_object: type @return: list of types if given GX_OBJECT @rtype: list of types """ types = [] - for base in inspect.getmro(gaia_object): - if isinstance(base, YAMLRoot): + for base in _get_super_classes(gx_object): + try: types.append(base.class_class_curie) + except AttributeError: + pass return types From c842b9c7926a5f50a5497a06f8f319d8e7dc0e6f Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 5 Jan 2024 15:01:01 +0100 Subject: [PATCH 126/175] Support siganure, finish JSON-LD serialization, refactoring Signed-off-by: Anja Strunk --- config/config.yaml | 2 +- generator/common/const.py | 4 + .../common/{exceptions.py => expections.py} | 6 +- generator/common/gx_schema.py | 38 ++-- generator/common/json_ld.py | 56 +++-- generator/data.json | 0 .../discovery/openstack/opentack_discovery.py | 19 +- .../openstack/vm_images_discovery.py | 207 +++++++++++------- 8 files changed, 205 insertions(+), 127 deletions(-) rename generator/common/{exceptions.py => expections.py} (53%) create mode 100644 generator/data.json diff --git a/config/config.yaml b/config/config.yaml index 27a563d..d25f0b6 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -57,7 +57,7 @@ vm image: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: DEFAULTV + resource policy: DEFAULT license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: diff --git a/generator/common/const.py b/generator/common/const.py index 78b2e7c..677960a 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -1,3 +1,7 @@ +""" +Constants used by SCS GX Credential Generator. +""" + DEFAULT_RESOURCE_POLICY = "default: allow intent" DEFAULT_FIRMWARE_TYPE = "other" DEFAULT_WATCHDOG_ACTION = "none" diff --git a/generator/common/exceptions.py b/generator/common/expections.py similarity index 53% rename from generator/common/exceptions.py rename to generator/common/expections.py index de8920d..5662b83 100644 --- a/generator/common/exceptions.py +++ b/generator/common/expections.py @@ -1,5 +1,7 @@ class MissingMandatoryAttribute(AttributeError): + """ + An exception that occurs when an SCS mandatory attributes are missing. + """ def __init__(self, *args, **kwargs): - super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") - + super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") \ No newline at end of file diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 1a6e2a5..fcd1d2a 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-01-04T09:32:21 +# Generation date: 2024-01-05T13:21:25 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -255,7 +255,7 @@ class CheckSum(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.CheckSum checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None + checkSumValue: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.checkSumCalculation): @@ -263,10 +263,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) + if self._is_empty(self.checkSumValue): + self.MissingRequiredField("checkSumValue") + if not isinstance(self.checkSumValue, str): + self.checkSumValue = str(self.checkSumValue) super().__post_init__(**kwargs) @@ -280,15 +280,15 @@ class Signature(YAMLRoot): class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature - signature: str = None + signatureValue: str = None hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) + if self._is_empty(self.signatureValue): + self.MissingRequiredField("signatureValue") + if not isinstance(self.signatureValue, str): + self.signatureValue = str(self.signatureValue) if self._is_empty(self.hashAlgorithm): self.MissingRequiredField("hashAlgorithm") @@ -1072,6 +1072,7 @@ class Image(CodeArtifact): videoRamSize: Optional[Union[dict, "MemorySize"]] = None rootDiskReq: Optional[Union[dict, Disk]] = None encryption: Optional[Union[dict, Encryption]] = None + checkSum: Optional[Union[dict, CheckSum]] = None secureBoot: Optional[Union[bool, Bool]] = False vPMU: Optional[Union[bool, Bool]] = False multiQueues: Optional[Union[bool, Bool]] = False @@ -1104,6 +1105,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.encryption is not None and not isinstance(self.encryption, Encryption): self.encryption = Encryption(**as_dict(self.encryption)) + if self.checkSum is not None and not isinstance(self.checkSum, CheckSum): + self.checkSum = CheckSum(**as_dict(self.checkSum)) + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): self.secureBoot = Bool(self.secureBoot) @@ -8877,11 +8881,11 @@ class slots: slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) +slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), + model_uri=GX.checkSum__checkSumValue, domain=None, range=str) -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), + model_uri=GX.signature__signatureValue, domain=None, range=str) slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) @@ -8955,6 +8959,9 @@ class slots: slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) +slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) + slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) @@ -9242,3 +9249,4 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 092d38c..d6736ad 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -3,31 +3,31 @@ """ import inspect -from json import JSONDecoder +from datetime import date, datetime + +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.yamlutils import TypedNode -from typing import List, Tuple +from typing import List from uuid import uuid4 -from datetime import date, datetime -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python - classes of Gaia-X Credential does not have an attribute to store instance's id.""" + classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials.""" - def __init__(self, gx_object: YAMLRoot, gx_id=None): + def __init__(self, gx_object: YAMLRoot, gx_id:str=None): """ + Create a new object of JsonLdObejct @param gx_object: Gaia-X object @type gx_object: YAMLRoot @param gx_id: id of Gaia-X object + @type gx_id: basestring """ self.gx_object = gx_object self.gx_id = gx_id @@ -37,7 +37,7 @@ def __init__(self, gx_object: YAMLRoot, gx_id=None): def get_json_ld_context() -> dict: """ - Returns JSON-LD context as dict + Return JSON-LD context as dict. @return: JSON-LD context as dictionary @rtype: dict @@ -49,7 +49,8 @@ def get_json_ld_context() -> dict: QUDT.prefix: QUDT, SCHEMA.prefix: SCHEMA, VCARD.prefix: VCARD, - "xsd": "http://www.w3.org/2001/XMLSchema#" + "xsd": "http://www.w3.org/2001/XMLSchema#", + "ex": "https://example.com/" } } @@ -58,7 +59,7 @@ def to_json_ld(obj) -> dict: """ JSON serializer callback method. 1) Adds object's id, if any - 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type + 2) Adds type information of instance and its attributes. As JSON-LD interprets all attributes without any type information as string, we need to add type to non-string attributes explicitly. 3) Adds curie to instance and its attributes 4) Filters out empty values (None, {}, and []) @@ -69,15 +70,23 @@ def to_json_ld(obj) -> dict: """ json_ld = dict() if isinstance(obj, JsonLdObject): - # if JsonLdObject adds id + # if JsonLdObject add id gx_object = obj.gx_object - json_ld['@id'] = obj.gx_id + json_ld['@id'] = "ex:" + obj.gx_id.replace(" ", "") + # call to_json_ld for gx_object json_ld.update(to_json_ld(gx_object)) return json_ld elif isinstance(obj, YAMLRoot): - # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict - json_ld['@type'] = get_types(obj.__class__) + # if YAMLRoot (= all top level classes in Gaia-X Credential Schema) + # Using one type is sufficient + # json_ld['@type'] = get_types(obj.__class__) + try: + # set type of Gaia-X object if possible + json_ld['@type'] = obj.class_class_curie + except AttributeError: + pass for key, value in obj.__dict__.items(): + # serialize each attribute of object if value is None or value == [] or value == {}: # skip emtpy values continue @@ -122,9 +131,9 @@ def to_json_ld(obj) -> dict: return obj -def get_slot_curie(slot_name:str, gx_object: object)-> str: +def get_slot_curie(slot_name: str, gx_object: object) -> str: """ - Returns curie of slot with given SLOT_NAME of given GX_OBJECT. + Return curie of slot with given SLOT_NAME of given GX_OBJECT. @param slot_name: name of slot whose curie is requested @type slot_name: str @param gx_object: GX object given slot may belong to @@ -138,10 +147,11 @@ def get_slot_curie(slot_name:str, gx_object: object)-> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie + def get_types(gx_object: type) -> List[type]: """ - Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. - @param gx_object: GX object, whose type is to be retrived + Return all types as curie of given GX_OBJECT. Types are instance's class as well as all super classes. + @param gx_object: GX object, whose type is to be retrieved @type gx_object: type @return: list of types if given GX_OBJECT @rtype: list of types @@ -157,9 +167,9 @@ def get_types(gx_object: type) -> List[type]: def _get_super_classes(class_name) -> List: """ - Returns all super classes of class with given CLASS_NAME + Return all super classes of class with given CLASS_NAME. @param class_name: name of class - @return: list of all super classdes + @return: list of all super classes """ classes = [] for base in inspect.getmro(class_name): diff --git a/generator/data.json b/generator/data.json new file mode 100644 index 0000000..e69de29 diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index a6f21f2..4b1f2c4 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,18 +1,14 @@ -import json +import generator.common.json_ld as json_ld + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery -import openstack from openstack.connection import Connection -from typing import Dict -import sys -from uuid import uuid4 -import generator.common.json_ld as json_ld -from generator.common.gx_schema import VMImage +from typing import Dict -from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: - "Abstraction for openStack cloud with all its services" + "Abstraction for openStack cloud with all its services." def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn @@ -21,6 +17,11 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.config = config def discover_properties(self) -> dict: + """ + Discover all attributes of OS Cloud. + + @return: all attributes as dict + """ props = json_ld.get_json_ld_context() props['@graph'] = [] diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index ab2b7cd..c6b9064 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,62 +1,54 @@ -import typing -from json import JSONDecoder -import json -import urllib3 +from linkml_runtime.utils.metamodelcore import URI -from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.expections import MissingMandatoryAttribute + +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX from generator.common.gx_schema import UpdateStrategy -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import GaiaXEntity - -from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image -import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject -from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image -from typing import List import generator.common.const as const -from typing import Dict +from typing import Dict, Union, List + +from datetime import datetime -import yaml # TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} -# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd -# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self) -> None: - with open("config/config.yaml", "r") as config_file: - self.config = yaml.safe_load(config_file) + # def __init__(self) -> None: + # with open("config/config.yaml", "r") as config_file: + # self.config = yaml.safe_load(config_file) - - - #def __init__(self, conn: Connection, config: Dict) -> None: - # self.conn = conn - # self.config = config + def __init__(self, conn: Connection, config: Dict) -> None: + self.conn = conn + self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[JsonLdObject]: """ - Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. + Return one credential for each VM image provided by openstack cloud. - @param conn: Connection to openstack cloud VM images are to be collected @return: list of VM images + @rtype: list[JsonLdObject] """ images = list() for image in self.conn.list_images(): - #images.append(self._convert_to_gx_image(image)) images.append( JsonLdObject( self._convert_to_gx_image(image), gx_id=image.id)) @@ -64,9 +56,11 @@ def discover_vm_images(self) -> List[JsonLdObject]: def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ - Converts Openstack image to a Gaia-X virtual machine image. + Convert Openstack image to a Gaia-X virtual machine image. @param os_image: Openstack image properties + @type os_image: OS_Image @return: Gaia-X virtual machine image + @rtype GX_Image """ # Initialize Gaia-X Image @@ -93,6 +87,7 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_patch_level(os_image, gx_image) self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) + self._add_signature(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -112,7 +107,7 @@ def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") else: - gx_image.cpuReq = CPU(cpuArchitecture=cpu_arch_types.other) + gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) @staticmethod def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: @@ -138,33 +133,38 @@ def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: raise MissingMandatoryAttribute(e.args) def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: - # Copyright owner and license not supported as Image properties, currently --> Default values are used + # Copyright owner and license not supported as Image properties, currently --> Default values from config are used + if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ARCH))) elif os_image.os_distro == "centos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CENTOS))) elif os_image.os_distro == "debian": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_DEBIAN))) elif os_image.os_distro == "fedora": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FEDORA))) elif os_image.os_distro == "freebsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, @@ -172,14 +172,16 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_FREEBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FREEBSD))) elif os_image.os_distro == "gentoo": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_GENTOO))) elif os_image.os_distro == "mandrake": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, @@ -187,7 +189,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_MANDRAKE), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) elif os_image.os_distro == "mandriva": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, @@ -195,32 +198,37 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_MANDRIVA), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) elif os_image.os_distro == "mes": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MES))) elif os_image.os_distro == "msdos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MSDOS))) elif os_image.os_distro == "netbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NETBSD))) elif os_image.os_distro == "netware": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NOVELL))) elif os_image.os_distro == "openbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, @@ -228,7 +236,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_OPENBSD), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPENBSD))) elif os_image.os_distro == "opensolaris": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, @@ -236,7 +245,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_SOLARIS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SOLARIS))) elif os_image.os_distro == "opensuse": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, @@ -244,30 +254,35 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_OPEN_SUSE), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) elif os_image.os_distro == "rocky": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ROCKY))) elif os_image.os_distro == "rhel": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_RHEL))) elif os_image.os_distro == "sled": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SLED))) elif os_image.os_distro == "ubuntu": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_UBUNTU))) elif os_image.os_distro == "windows": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, @@ -275,14 +290,16 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_WINDOWS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_WINDOWS))) elif os_image.os_distro == "cirros": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CIRROS))) elif os_image.os_distro == "almalinux": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, @@ -290,7 +307,8 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> const.CONFIG_OS_ALMALINUX), copyrightOwnedBy=self._get_copyrightowner( const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") @@ -313,7 +331,8 @@ def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.license = [self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]] + for license in self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]: + gx_image.license.append(URI(license)) except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -324,10 +343,22 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - def _get_license(self, os: str) -> str: + def _get_license_from_config(self, os: str) -> str: return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: + license_list = list() + + for l in licenses: + if l.startswith("http"): + license_list.append(URI(l)) + else: + license_list.append(l) + return license_list + + @staticmethod + def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -335,7 +366,8 @@ def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -343,7 +375,8 @@ def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -351,7 +384,8 @@ def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -359,7 +393,8 @@ def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return @@ -367,7 +402,8 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -375,7 +411,8 @@ def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> Non except AttributeError: pass - def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -392,7 +429,8 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties[ 'image_description'] @@ -404,7 +442,8 @@ def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -412,9 +451,10 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.buildDate = os_image.properties['image_build_date'] + gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") except KeyError: pass @@ -442,16 +482,22 @@ def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_algo(os_image.hash_algo) + algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value - gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass @staticmethod - def _get_algo(algo: str) -> str: - if algo in ['sha512', 'sha224', 'sha256' 'sha384']: - return 'sha-2' + def _get_checksum_algo(algo: str) -> str: + if algo == 'sha512': + return 'sha-512' + if algo == 'sha224': + return 'sha-224' + if algo == 'sha256': + return 'sha-256' + if algo == 'sha384': + return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo return ChecksumAlgorithm.other @@ -467,14 +513,21 @@ def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) - @staticmethod - def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo - + gx_image.signature = Signature( + signatureValue=os_image.img_signature, + hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), + signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) except AttributeError: pass + @staticmethod + def _get_signature_algo(algo: str) -> str: + if algo.startswith("SHA-"): + return "RSA-Signature" + return SignatureAlgorithm.other + + def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: + pass # ToDo: add aggrenation of From 6f781455f94e34c82655cd792cf49c9c80f3c41d Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 8 Jan 2024 11:58:32 +0100 Subject: [PATCH 127/175] Support aggregation of Signed-off-by: Anja Strunk --- config/config.yaml | 66 ++++--- generator/common/const.py | 2 + .../openstack/vm_images_discovery.py | 164 +++++++++--------- 3 files changed, 124 insertions(+), 108 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index d25f0b6..0efa07b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,122 +1,132 @@ -vm image: +operating system: Alpine Linux: copyright owner: "Alpine Linux" - resource policy: DEFAULT + resource policy: "abc" license: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 Arch Linux: copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://gitlab.archlinux.org/archlinux CentOS Linux: copyright owner: "The CentOS Project and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://github.com/CentOS/ Debian: copyright owner: "Ian Murdock and others" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.debian.org/legal/licenses/index.en.html Fedora: copyright owner: "Fedora-Project" - resource policy: DEFAULT + resource policy: "abc" license: - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ FreeBSD: copyright owner: "The FreeBSD Project" - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." - resource policy: DEFAULT + resource policy: "abc" license: - https://www.gentoo.org/glep/glep-0076.html Mandrakelinux: copyright owner: "Mandriva Linux" - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: copyright owner: "Micro Focus International" - resource policy: DEFAULT + resource policy: "abc" license: - https://support.novell.com/techcenter/articles/ana19960702.html OpenBSD: copyright owner: "OpenBSD" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.openbsd.org/policy.html OpenSolaris: copyright owner: "Sun Microsystems" - resource policy: DEFAULT + resource policy: "abc" license: - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html openSUSE: copyright owner: "openSUSE contributors & others" - resource policy: DEFAULT + resource policy: "abc" license: - https://en.opensuse.org/openSUSE:License Rocky Linux: copyright owner: "Rocky Enterprise Software Foundation" - resource policy: DEFAULT + resource policy: "abc" license: - - https://rockylinux.org/licensing + - https://rockylinux.org/licensing Red Hat Enterprise Linux: copyright owner: "Red Hat, Inc." - resource policy: DEFAULT + resource policy: "abc" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server SUSE Linux Enterprise Desktop: copyright owner: "SUSE" - resource policy: "" + resource policy: "abc" license: - https://www.suse.com/products/terms_and_conditions.pdf Ubuntu: copyright owner: "Canonical" - resource policy: DEFAULT + resource policy: "abc" license: - https://ubuntu.com/legal/open-source-licences Microsoft Windows: copyright owner: "Microsoft Corporation" - resource policy: DEFAULT + resource policy: "abc" license: - https://www.microsoft.com/licensing CirrOS: copyright owner: "Canonical Ltd." - resource policy: DEFAULT + resource policy: "abc" license: - GPL-2.0-only AlmaLinux: copyright owner: "Canonical Ltd." - resource policy: DEFAULT + resource policy: "abc" license: - https://almalinux.org/p/the-almalinux-os-licensing-policy/ Debian 11: copyright owner: "AlmaLinux OS Foundation" - resource policy: DEFAULT - license: - - https://www.abc.org \ No newline at end of file + resource policy: "abc" + license: + - https://www.abc.org +own images: + AlmaLinux 8: + aggregation of: + - web:did:provider.de + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org \ No newline at end of file diff --git a/generator/common/const.py b/generator/common/const.py index 677960a..4bb8349 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -14,6 +14,8 @@ CONFIG_RESOURCE_POLICY = "resource policy" CONFIG_LICENSE = "license" CONFIG_COPYRIGHT = "copyright owner" +CONFIG_OPERATING_SYSTEM = "operating system" +CONFIG_OWN_IMAGES = "own images" CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index c6b9064..a76df72 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,3 +1,5 @@ +import os + from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -137,214 +139,216 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ARCH))) + self._get_license_for_os(const.CONFIG_OS_ARCH))) elif os_image.os_distro == "centos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CENTOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CENTOS))) + self._get_license_for_os(const.CONFIG_OS_CENTOS))) elif os_image.os_distro == "debian": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_DEBIAN), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_DEBIAN))) + self._get_license_for_os(const.CONFIG_OS_DEBIAN))) elif os_image.os_distro == "fedora": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FEDORA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FEDORA))) + self._get_license_for_os(const.CONFIG_OS_FEDORA))) elif os_image.os_distro == "freebsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FREEBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FREEBSD))) + self._get_license_for_os(const.CONFIG_OS_FREEBSD))) elif os_image.os_distro == "gentoo": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_GENTOO), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_GENTOO))) + self._get_license_for_os(const.CONFIG_OS_GENTOO))) elif os_image.os_distro == "mandrake": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRAKE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) + self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) elif os_image.os_distro == "mandriva": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRIVA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) + self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) elif os_image.os_distro == "mes": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MES))) + self._get_license_for_os(const.CONFIG_OS_MES))) elif os_image.os_distro == "msdos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MSDOS))) + self._get_license_for_os(const.CONFIG_OS_MSDOS))) elif os_image.os_distro == "netbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NETBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NETBSD))) + self._get_license_for_os(const.CONFIG_OS_NETBSD))) elif os_image.os_distro == "netware": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NOVELL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NOVELL))) + self._get_license_for_os(const.CONFIG_OS_NOVELL))) elif os_image.os_distro == "openbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPENBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPENBSD))) + self._get_license_for_os(const.CONFIG_OS_OPENBSD))) elif os_image.os_distro == "opensolaris": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_SOLARIS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SOLARIS))) + self._get_license_for_os(const.CONFIG_OS_SOLARIS))) elif os_image.os_distro == "opensuse": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPEN_SUSE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) elif os_image.os_distro == "rocky": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ROCKY))) + self._get_license_for_os(const.CONFIG_OS_ROCKY))) elif os_image.os_distro == "rhel": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_RHEL))) + self._get_license_for_os(const.CONFIG_OS_RHEL))) elif os_image.os_distro == "sled": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SLED))) + self._get_license_for_os(const.CONFIG_OS_SLED))) elif os_image.os_distro == "ubuntu": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_UBUNTU), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_UBUNTU))) + self._get_license_for_os(const.CONFIG_OS_UBUNTU))) elif os_image.os_distro == "windows": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_WINDOWS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_WINDOWS))) + self._get_license_for_os(const.CONFIG_OS_WINDOWS))) elif os_image.os_distro == "cirros": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CIRROS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CIRROS))) + self._get_license_for_os(const.CONFIG_OS_CIRROS))) elif os_image.os_distro == "almalinux": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_ALMALINUX), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) + self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) else: raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") - def _get_resource_policy(self, os: str) -> str: - policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] - if policy == "DEFAULT": + def _get_resource_policy_for_os(self, os: str) -> str: + try: + return self.config[const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + except KeyError: return const.DEFAULT_RESOURCE_POLICY - else: - return policy - def _get_copyrightowner(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + def _get_copyrightowner_for_os(self, os: str) -> List[str]: + return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + + def _get_license_for_os(self, os: str) -> List[str]: + return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # check if comfig contains image's specific copright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - for license in self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE]: - gx_image.license.append(URI(license)) + # check if comfig contains image's specific license + gx_image.license = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: - gx_image.resourcePolicy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + # check if comfig contains image's specific resource policy + gx_image.resourcePolicy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - def _get_license_from_config(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] @staticmethod def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: @@ -529,5 +533,5 @@ def _get_signature_algo(algo: str) -> str: return SignatureAlgorithm.other def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: - pass + self.config # ToDo: add aggrenation of From 78ed37157bdc4598d6fcd60e95a95cd10fe3f963 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 10 Jan 2024 14:54:21 +0100 Subject: [PATCH 128/175] Support aggregationOf and hypervisorType Signed-off-by: Anja Strunk --- generator/common/const.py | 1 + generator/common/json_ld.py | 5 +++ .../openstack/vm_images_discovery.py | 45 ++++++++++++++----- 3 files changed, 39 insertions(+), 12 deletions(-) diff --git a/generator/common/const.py b/generator/common/const.py index 4bb8349..dd6812e 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -16,6 +16,7 @@ CONFIG_COPYRIGHT = "copyright owner" CONFIG_OPERATING_SYSTEM = "operating system" CONFIG_OWN_IMAGES = "own images" +CONFIG_AGGREGATION_OF = "aggregation of" CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index d6736ad..bf3fbeb 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -10,6 +10,7 @@ from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions from typing import List @@ -68,6 +69,7 @@ def to_json_ld(obj) -> dict: @return: object as dictionary @rtype: dict """ + json_ld = dict() if isinstance(obj, JsonLdObject): # if JsonLdObject add id @@ -99,6 +101,9 @@ def to_json_ld(obj) -> dict: elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code return obj.code.text + elif isinstance(obj, PermissibleValue): + # add text for enumeration values instead of code + return obj.text else: json_ld[slot_curie] = to_json_ld(value) return json_ld diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index a76df72..f653892 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -9,6 +9,7 @@ from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem @@ -90,6 +91,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) self._add_signature(os_image, gx_image) + self._add_hypervisor(os_image, gx_image) + self._add_aggregation_of(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -100,16 +103,19 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @staticmethod def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: - if os_image.architecture == "i686": - gx_image.cpuReq = CPU(cpuArchitecture="x86-32") - elif os_image.architecture in ["x86_64", "ia64"]: - gx_image.cpuReq = CPU(cpuArchitecture="x86-64") - elif os_image.architecture == "aarch6": - gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") - elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") - else: - gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) + try: + if os_image.architecture == "i686": + gx_image.cpuReq = CPU(cpuArchitecture="x86-32") + elif os_image.architecture in ["x86_64", "ia64"]: + gx_image.cpuReq = CPU(cpuArchitecture="x86-64") + elif os_image.architecture == "aarch6": + gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") + elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") + else: + gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) @staticmethod def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: @@ -526,6 +532,19 @@ def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass + def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + if os_image.hypervisor_type == "xen": + gx_image.hypervisorType = HypervisorType.Xen + elif os_image.hypervisor_type == "quemu": + gx_image.hypervisorType = "quemu" + elif os_image.hypervisor_type == "hyperv": + gx_image.hypervisorType = "Hyper-V" + else: + gx_image.hypervisorType = HypervisorType.other + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) + @staticmethod def _get_signature_algo(algo: str) -> str: if algo.startswith("SHA-"): @@ -533,5 +552,7 @@ def _get_signature_algo(algo: str) -> str: return SignatureAlgorithm.other def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: - self.config - # ToDo: add aggrenation of + try: + gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] + except KeyError: + pass From 34b77bd9e4097894f9cb040cf9dd5a3715dca2e3 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 15 Jan 2024 15:16:24 +0100 Subject: [PATCH 129/175] Add first test case Signed-off-by: Anja Strunk --- gax-cpu.py | 36 --- .../openstack/vm_images_discovery.py | 130 +++++----- tests/connection.py | 15 ++ tests/test_vm_image_discovery.py | 231 ++++++++++++++++++ 4 files changed, 311 insertions(+), 101 deletions(-) delete mode 100644 gax-cpu.py create mode 100644 tests/connection.py create mode 100644 tests/test_vm_image_discovery.py diff --git a/gax-cpu.py b/gax-cpu.py deleted file mode 100644 index 22a8c02..0000000 --- a/gax-cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# gax-cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True \ No newline at end of file diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index f653892..4917d6b 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,5 +1,3 @@ -import os - from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -31,7 +29,21 @@ from datetime import datetime -# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +def _get_cpu_arch(os_image_arch: str) -> str: + try: + if os_image_arch == "i686": + return "x86-32" + if os_image_arch in ["x86_64", "ia64"]: + return "x86-64" + if os_image_arch == "aarch6": + return "AArch-32" + if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return "RISC-V" + return CpuArch.other.text + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) + + class VmDiscovery(): # def __init__(self) -> None: @@ -93,6 +105,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_signature(os_image, gx_image) self._add_hypervisor(os_image, gx_image) self._add_aggregation_of(os_image, gx_image) + self._add_rng_model(os_image, gx_image) + self._add_disk_format(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -101,24 +115,28 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: return gx_image - @staticmethod - def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - if os_image.architecture == "i686": - gx_image.cpuReq = CPU(cpuArchitecture="x86-32") - elif os_image.architecture in ["x86_64", "ia64"]: - gx_image.cpuReq = CPU(cpuArchitecture="x86-64") - elif os_image.architecture == "aarch6": - gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") - elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") - else: - gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) - except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + gx_image.vmImageDiskFormat = os_image.disk_format + except AttributeError: + pass + + + def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: + cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) - @staticmethod - def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + cpu.numberOfCores = os_image.hw_cpu_cores + except AttributeError: + pass + try: + cpu.numberOfThreads = os_image.hw_cpu_threads + except AttributeError: + pass + + gx_image.cpuReq = cpu + + def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. try: @@ -132,8 +150,7 @@ def _add_min_ram_req(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError as e: raise MissingMandatoryAttribute(e.args) - @staticmethod - def _add_min_disk_req(image: OS_Image, gx_image: GX_Image) -> None: + def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) @@ -355,9 +372,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] - - @staticmethod - def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: + def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() for l in licenses: @@ -367,8 +382,7 @@ def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: license_list.append(l) return license_list - @staticmethod - def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -376,8 +390,7 @@ def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -385,8 +398,7 @@ def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - @staticmethod - def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -394,8 +406,7 @@ def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -403,17 +414,15 @@ def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return - gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram)) + gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) except AttributeError: pass - @staticmethod - def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -421,8 +430,7 @@ def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -439,8 +447,7 @@ def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties[ 'image_description'] @@ -452,8 +459,7 @@ def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -461,45 +467,39 @@ def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") except KeyError: pass - @staticmethod - def _add_license_included(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.licenseIncluded = os_image.properties['licenseIncluded'] except KeyError: pass - @staticmethod - def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.patchLevel = os_image.properties['patchlevel'] except KeyError: pass - @staticmethod - def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.version = os_image.properties['internal_version'] except KeyError: pass - @staticmethod - def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) + algo = self._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass - @staticmethod - def _get_checksum_algo(algo: str) -> str: + def _get_checksum_algo(self, algo: str) -> str: if algo == 'sha512': return 'sha-512' if algo == 'sha224': @@ -510,17 +510,15 @@ def _get_checksum_algo(algo: str) -> str: return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo - return ChecksumAlgorithm.other + return ChecksumAlgorithm.other.text - @staticmethod - def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.maintenance = os_image.properties['maintained_until'] except KeyError: pass - @staticmethod - def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -541,18 +539,20 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: elif os_image.hypervisor_type == "hyperv": gx_image.hypervisorType = "Hyper-V" else: - gx_image.hypervisorType = HypervisorType.other + gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: raise MissingMandatoryAttribute(e.args) - @staticmethod - def _get_signature_algo(algo: str) -> str: + def _get_signature_algo(self, algo: str) -> str: if algo.startswith("SHA-"): return "RSA-Signature" - return SignatureAlgorithm.other + return SignatureAlgorithm.other.text def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] except KeyError: pass + + def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: + gx_image.hwRngTypeOfImage = "None" diff --git a/tests/connection.py b/tests/connection.py new file mode 100644 index 0000000..dd5ee80 --- /dev/null +++ b/tests/connection.py @@ -0,0 +1,15 @@ +from openstack.image.v2.image import Image +from typing import List + + +class TestConnection: + """ + Wrap connection to OpenStack Cluster + """ + images = [] + + def __init__(self, images: List[Image]): + self.images = images + + def list_images(self): + return self.images diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py new file mode 100644 index 0000000..c0725b6 --- /dev/null +++ b/tests/test_vm_image_discovery.py @@ -0,0 +1,231 @@ +import unittest +import yaml + +from datetime import datetime + +from generator.common.json_ld import JsonLdObject +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX +from generator.common.gx_schema import WatchDogActions +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import VMImage as GX_Image + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from openstack.image.v2.image import Image as OS_Image + +from tests.connection import TestConnection + + +def _get_gx_images(): + return [JsonLdObject( + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], + copyrightOwnedBy=['Canonical'], + license=['https://ubuntu.com/legal/open-source-licences'], + resourcePolicy=['default: allow intent'], + checksum=CheckSum(checkSumCalculation='sha-512', + checkSumValue='7f8bababc2c2a948'), signature=None, + version=None, patchLevel='1.5.2', + buildDate=datetime(2023, 12, 1, 0, 0), fileSize=None, + operatingSystem=OperatingSystem(name=None, description=None, + aggregationOfResources=[], + copyrightOwnedBy=['Canonical'], + license=[ + 'https://ubuntu.com/legal/open-source-licences'], + resourcePolicy=['default: allow intent'], + checksum=None, signature=None, + version='Stable', patchLevel=None, + buildDate=None, + osDistribution='Ubuntu'), + cpuReq=CPU(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + cpuArchitecture='x86-64', + cpuFlag=[], smtEnabled=False, numberOfCores=2, numberOfThreads=4, + baseFrequency=None, + boostFrequency=None, lastLevelCacheSize=None, + thermalDesignPower=None), gpuReq=None, + ramReq=Memory(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + memorySize=MemorySize(value=0.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + memoryClass='other', memoryRank='other', eccEnabled=False, + hardwareEncryption=False), + videoRamSize=MemorySize(value=20.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + rootDiskReq=Disk(vendor=None, generation=None, + defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + diskSize=MemorySize(value=21.47483648, + unit='https://qudt.org/vocab/unit/GigaBYTE'), + diskType='other', diskBusType='scsi'), encryption=None, + checkSum=None, + secureBoot=True, vPMU=False, multiQueues=False, updateStrategy=None, + licenseIncluded=False, + maintenance=None, vmImageDiskFormat='RAW', + hypervisorType='other', + hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), + JsonLdObject( + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], + copyrightOwnedBy=['Microsoft Corporation'], + license=['https://www.microsoft.com/licensing'], + resourcePolicy=['default: allow intent'], + checksum=CheckSum(checkSumCalculation='sha-512', + checkSumValue='7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182'), + signature=None, + version=None, + patchLevel=None, + buildDate=datetime(2023, 11, 1, 0, 0), + fileSize=None, + operatingSystem=OperatingSystem(name=None, description=None, + aggregationOfResources=[], + copyrightOwnedBy=['Microsoft Corporation'], + license=['https://www.microsoft.com/licensing'], + resourcePolicy=['default: allow intent'], + checksum=None, signature=None, + version='Stable', patchLevel=None, buildDate=None, + osDistribution='Microsoft Windows'), + cpuReq=CPU(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, cpuArchitecture='x86-64', cpuFlag=[], + smtEnabled=False, numberOfCores=2, numberOfThreads=4, baseFrequency=None, + boostFrequency=None, lastLevelCacheSize=None, thermalDesignPower=None), + gpuReq=None, + ramReq=Memory(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + memorySize=MemorySize(value=0.0, + unit='https://qudt.org/vocab/unit/MegaBYTE'), + memoryClass='other', memoryRank='other', + eccEnabled=False, hardwareEncryption=False), + videoRamSize=MemorySize(value=20.0, unit='https://qudt.org/vocab/unit/MegaBYTE'), + rootDiskReq=Disk(vendor=None, generation=None, defaultOversubscriptionRatio=None, + supportedOversubscriptionRatio=None, + diskSize=MemorySize(value=21.47483648, + unit='https://qudt.org/vocab/unit/GigaBYTE'), + diskType='other', diskBusType='scsi'), + encryption=None, + checkSum=None, + secureBoot=True, + vPMU=False, + multiQueues=False, + updateStrategy=None, + licenseIncluded=False, maintenance=None, vmImageDiskFormat='RAW', hypervisorType='other', + firmwareType='other', hwRngTypeOfImage='None', watchDogAction='reset'))] + + +def _get_os_images(): + return [OS_Image(hw_scsi_model="virtio - scsi", + os_distro="ubuntu", + hw_watchdog_action="reset", + hw_rng_model="virtio", + os_version="Stable", + hypervisor_type="qemu", + hw_video_ram=20, + hw_vif_multiqueue_enabled=True, + hw_pmu=False, + hw_firmware_type="bios", + hw_disk_bus="scsi", + hw_cpu_cores=2, + hw_cpu_threads=4, + architecture="x86_64", + name="Image1", + disk_format="raw", + container_format="bare", + needs_secure_boot=True, + size="9116319744", + virtual_size="9116319744", + checksum="a516d5aea8ebc358dd316dd67266a2ba", + min_ram=0, + min_disk=20, + owner="477ba6f14a5b43abe85b2966be7ebe136", + os_hash_algo="sha512", + os_hash_value="7f8bababc2c2a948", + id="94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + signatureValue="f8bababc2c2a948807473837504760432b99a3dac81629da77142328a9f638fe34371f", + hashAlgorithm="SHA-224", + signatureAlgorithm="ECC-CURVES", + properties={ + 'image_build_date': '2023-12-01', + 'hotfix_hours': '0', + 'image_description': 'Image 1', + 'provided_until': 'none', + 'replace_frequency': 'monthly', + 'uuid_validity': 'last-3', + 'patchlevel': '1.5.2' + }), + OS_Image(hw_scsi_model="virtio - scsi", + os_distro="windows", + hw_watchdog_action="reset", + hw_rng_model="virtio", + os_version="Stable", + hypervisor_type="qemu", + hw_video_ram=20, + hw_vif_multiqueue_enabled=True, + hw_pmu=False, + hw_firmware_type="bios", + hw_disk_bus="scsi", + hw_cpu_cores=2, + hw_cpu_threads=4, + architecture="x86_64", + name="Image2", + disk_format="raw", + container_format="bare", + needs_secure_boot=True, + size="9116319744", + virtual_size="9116319744", + checksum="a516d5aea8ebc358dd316dd67266a2ba", + min_ram=0, + min_disk=20, + owner="477ba6f14a5b43abe85b2966be7ebe136", + os_hash_algo="sha512", + os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", + id="94453c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + properties={ + 'image_build_date': '2023-11-01', + 'hotfix_hours': '4', + 'image_description': 'Image 2', + 'provided_until': 'none', + 'replace_frequency': 'weekly', + 'uuid_validity': 'last-3', + 'license_required': True, + 'license_included': False, + 'subscription_required': True, + 'subscription_included': False, + 'maintained_until': datetime.strptime("2024-05-31", "%Y-%m-%d") + + })] + +class VMImageDiscoveryTestcase(unittest.TestCase): + def setUp(self): + with open('../config/config.yaml', 'r') as config_file: + self.config = yaml.safe_load(config_file) + self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) + + def test_discovery_vm_images(self): + actual_gax_images = self.discovery.discover_vm_images() + expected_gax_images = _get_gx_images() + + self.assertEqual(len(expected_gax_images), len(expected_gax_images)) + + count = 0 + for image_1 in actual_gax_images: + for image_2 in expected_gax_images: + if image_1.gx_id == image_2.gx_id: + self._assert_equal(image_1, image_2) + + def _assert_equal(self, image_1: JsonLdObject, image_2: JsonLdObject): + self.assertEqual(image_1.gx_id, image_2.gx_id,"Wrong 'gx_id'") + self.assertEqual(image_1.gx_object.aggregationOfResources, image_2.gx_object.aggregationOfResources,"aggregationOf") + + +if __name__ == '__main__': + unittest.main() From b9614ea51c0f4d909b9d23fcd5e7cf149a6bda26 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 09:54:56 +0100 Subject: [PATCH 130/175] Add unit tests Signed-off-by: Anja Strunk --- test.py | 0 tests/common.py | 171 +++++++++++++++++++++++++++++++ tests/test_vm_image_discovery.py | 73 +++++++++---- 3 files changed, 223 insertions(+), 21 deletions(-) delete mode 100644 test.py create mode 100644 tests/common.py diff --git a/test.py b/test.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/common.py b/tests/common.py new file mode 100644 index 0000000..f373bf8 --- /dev/null +++ b/tests/common.py @@ -0,0 +1,171 @@ +import unittest + +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import CodeArtifact +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Device +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Encryption +from generator.common.gx_schema import GaiaXEntity +from generator.common.gx_schema import GPU +from generator.common.gx_schema import Hypervisor +from generator.common.gx_schema import Image +from generator.common.gx_schema import Memory +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Resource +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SoftwareResource +from generator.common.gx_schema import VirtualResource +from generator.common.gx_schema import VMImage + + +class OpenstackTestcase(unittest.TestCase): + def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): + self.assertEqual(ob_1.name, ob_2.name, + "GaiaXEntity.name") + self.assertEqual(ob_1.description, ob_2.description, + "GaiaXEntity.description") + + def check_resource(self, ob_1: Resource, ob_2: Resource): + self.assertEqual(ob_1.aggregationOfResources, ob_2.aggregationOfResources, + "Resource.aggregationOf") + + def check_virtual_resource(self, ob_1: VirtualResource, ob_2: VirtualResource): + self.check_resource(ob_1, ob_2) + self.assertEqual(ob_1.copyrightOwnedBy, ob_2.copyrightOwnedBy, + "VirtualResource.copyrightOwnedBy") + self.assertEqual(ob_1.license, ob_2.license, + "VirtualResource.license") + self.assertEqual(ob_1.resourcePolicy, ob_2.resourcePolicy, + "VirtualResource.resourcePolicy") + + def check_software_resource(self, ob_1: SoftwareResource, ob_2: SoftwareResource): + self.check_virtual_resource(ob_1, ob_2) + if ob_1.checksum: + self.check_checksum(ob_1.checksum, ob_2.checksum) + if ob_1.signature: + self.check_signature(ob_1.signature, ob_2.signature) + self.assertEqual(ob_1.version, ob_2.version, "SoftwareResource.version") + self.assertEqual(ob_1.patchLevel, ob_2.patchLevel, "SoftwareResource.patchLevel") + self.assertEqual(ob_1.buildDate, ob_2.buildDate, "SoftwareResource.buildDate") + + def check_checksum(self, ob_1: CheckSum, ob_2: CheckSum): + self.assertEqual(ob_1.checkSumCalculation, + ob_2.checkSumCalculation, + "Checksum.checkSumCalculation") + self.assertEqual(ob_1.checkSumValue, ob_2.checkSumValue, + "Checksum.checkSumValue") + + def check_signature(self, ob_1: Signature, ob_2: Signature): + self.assertEqual(ob_1.signatureValue, + ob_2.signatureValue, + "Signature.signatureValue") + self.assertEqual(ob_1.signatureAlgorithm, + ob_2.signatureAlgorithm, + "Signature.signatureAlgorithm") + self.assertEqual(ob_1.hashAlgorithm, + ob_2.hashAlgorithm, + "Signature.hashAlgorithm") + + def check_encryption(self, ob_1: Encryption, ob_2: Encryption): + self.assertEqual(ob_1.cipher, + ob_2.cipher, + "Encryption.cipher") + self.assertEqual(ob_1.keyManagement, + ob_2.keyManagement, + "Encryption.keyManagement") + + def check_operating_system(self, ob_1: OperatingSystem, ob_2: OperatingSystem): + self.check_software_resource(ob_1, ob_2) + self.assertEqual(ob_1.osDistribution, + ob_2.osDistribution, + "OperatingSystem.osDistribution") + + def check_hypervisor(self, ob_1: Hypervisor, ob_2: Hypervisor): + self.check_software_resource(ob_1, ob_2) + self.assertEqual(ob_1.hypervisorType, + ob_2.hypervisorType, + "Hypervisor.hypervisorType") + + def check_device(self, ob_1: Device, ob_2: Device): + self.assertEqual(ob_1.vendor, ob_2.vendor, "Device.vendor") + self.assertEqual(ob_1.generation, ob_2.generation, "Device.generation") + self.assertEqual(ob_1.defaultOversubscriptionRatio, ob_2.defaultOversubscriptionRatio, + "Device.defaultOversubscriptionRatio") + self.assertEqual(ob_1.supportedOversubscriptionRatio, ob_2.supportedOversubscriptionRatio, + "Device.supportedOversubscriptionRatio") + + def check_disk(self, ob_1: Disk, ob_2: Disk): + self.assertEqual(ob_1.diskSize.value, ob_2.diskSize.value, "Disk.diskSize.value") + self.assertEqual(ob_1.diskSize.unit, ob_2.diskSize.unit, "Disk.diskSize.unit") + self.assertEqual(ob_1.diskType, ob_2.diskType, "Disk.diskType") + self.assertEqual(ob_1.diskBusType, ob_2.diskBusType, "Disk.diskBusType") + + def check_cpu(self, ob_1: CPU, ob_2: CPU): + self.assertEqual(ob_1.cpuArchitecture, ob_2.cpuArchitecture, "CPU.cpuArchitecture") + self.assertEqual(ob_1.cpuFlag, ob_2.cpuFlag, "CPU.cpuFlag") + self.assertEqual(ob_1.smtEnabled, ob_2.smtEnabled, "CPU.smtEnabled") + self.assertEqual(ob_1.numberOfCores, ob_2.numberOfCores, "CPU.numberOfCores") + self.assertEqual(ob_1.numberOfThreads, ob_2.numberOfThreads, "CPU.numberOfThreads") + self.assertEqual(ob_1.baseFrequency, ob_2.baseFrequency, "CPU.baseFrequency") + self.assertEqual(ob_1.boostFrequency, ob_2.boostFrequency, "CPU.boostFrequency") + self.assertEqual(ob_1.lastLevelCacheSize, ob_2.lastLevelCacheSize, "CPU.lastLevelCacheSize") + self.assertEqual(ob_1.thermalDesignPower, ob_2.thermalDesignPower, "CPU.thermalDesignPower") + + def check_gpu(self, ob_1: GPU, ob_2: GPU): + pass + + def check_mem(self, ob_1: Memory, ob_2: Memory): + self.assertEqual(ob_1.memorySize.value, ob_2.memorySize.value, "Memory.memorySize.value") + self.assertEqual(ob_1.memorySize.unit, ob_2.memorySize.unit, "Memory.memorySize.unit") + self.assertEqual(ob_1.memoryClass, ob_2.memoryClass, "Memory.memoryClass") + self.assertEqual(ob_1.memoryRank, ob_2.memoryRank, "Memory.memoryRank") + self.assertEqual(ob_1.eccEnabled, ob_2.eccEnabled, "Memory.eccEnabled") + self.assertEqual(ob_1.hardwareEncryption, ob_2.hardwareEncryption, "Memory.hardwareEncryption") + + def check_code_artifact(self, ob_1: CodeArtifact, ob_2: CodeArtifact): + self.check_gaia_x_entity(ob_1, ob_2) + + def check_image(self, ob_1: Image, ob_2: Image): + self.check_code_artifact(ob_1, ob_1) + self.assertEqual(ob_1.fileSize, ob_2.fileSize, "Image.fileSize") + if ob_1.operatingSystem: + self.check_operating_system(ob_1.operatingSystem, ob_2.operatingSystem) + if ob_1.cpuReq: + self.check_cpu(ob_1.cpuReq, ob_2.cpuReq) + if ob_1.gpuReq: + self.check_gpu(ob_1.gpuReq, ob_2.gpuReq) + if ob_1.ramReq: + self.check_mem(ob_1.ramReq, ob_2.ramReq) + if ob_1.videoRamSize: + self.assertEqual(ob_1.videoRamSize.value, ob_2.videoRamSize.value, "VideoRamSize.value") + self.assertEqual(ob_1.videoRamSize.unit, ob_2.videoRamSize.unit, "VideoRamSize.unit") + if ob_1.encryption: + self.check_encryption(ob_1.encryption, ob_2.encryption) + if ob_1.checksum: + self.check_checksum(ob_1.checksum, ob_2.checksum) + + self.assertEqual(ob_1.secureBoot, ob_2.secureBoot, "Image.secureBoot") + self.assertEqual(ob_1.vPMU, ob_2.vPMU, "Image.vPMU") + self.assertEqual(ob_1.multiQueues, ob_2.multiQueues, "Image.multiQueues") + + if ob_1.updateStrategy: + self.assertEqual(ob_1.updateStrategy.replaceFrequency, ob_2.updateStrategy.replaceFrequency, + "Image.updateStrategy.replaceFrequency") + self.assertEqual(ob_1.updateStrategy.hotfixHours, ob_2.updateStrategy.hotfixHours, + "Image.updateStrategy.hotfixHours") + self.assertEqual(ob_1.updateStrategy.oldVersionsValidUntil, ob_2.updateStrategy.oldVersionsValidUntil, + "Image.updateStrategy.oldVersionsValidUntil") + self.assertEqual(ob_1.updateStrategy.providedUntil, ob_2.updateStrategy.providedUntil, + "Image.updateStrategy.providedUntil") + + self.assertEqual(ob_1.licenseIncluded, ob_2.licenseIncluded, "Image.licenseIncluded") + self.assertEqual(ob_1.maintenance, ob_2.maintenance, "Image.maintenance") + + def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): + self.check_image(ob_1, ob_2) + self.assertEqual(ob_1.vmImageDiskFormat, str(ob_2.vmImageDiskFormat), "VM_Image.vmImageDiskFormat") + self.assertEqual(ob_1.hypervisorType, str(ob_2.hypervisorType), "VM_Image.hypervisorType") + self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") + self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") + self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index c0725b6..a7b334f 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -4,31 +4,27 @@ from datetime import datetime from generator.common.json_ld import JsonLdObject -from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk -from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX from generator.common.gx_schema import WatchDogActions -from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import VMImage as GX_Image +from generator.common.json_ld import to_json_ld + from generator.discovery.openstack.vm_images_discovery import VmDiscovery from openstack.image.v2.image import Image as OS_Image +from tests.common import OpenstackTestcase from tests.connection import TestConnection def _get_gx_images(): return [JsonLdObject( - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_id='image_1', gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], copyrightOwnedBy=['Canonical'], license=['https://ubuntu.com/legal/open-source-licences'], @@ -75,7 +71,7 @@ def _get_gx_images(): hypervisorType='other', hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), JsonLdObject( - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', + gx_id='image_2', gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], copyrightOwnedBy=['Microsoft Corporation'], license=['https://www.microsoft.com/licensing'], @@ -138,7 +134,7 @@ def _get_os_images(): hw_cpu_threads=4, architecture="x86_64", name="Image1", - disk_format="raw", + disk_format='RAW', container_format="bare", needs_secure_boot=True, size="9116319744", @@ -149,7 +145,7 @@ def _get_os_images(): owner="477ba6f14a5b43abe85b2966be7ebe136", os_hash_algo="sha512", os_hash_value="7f8bababc2c2a948", - id="94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + id="image_1", signatureValue="f8bababc2c2a948807473837504760432b99a3dac81629da77142328a9f638fe34371f", hashAlgorithm="SHA-224", signatureAlgorithm="ECC-CURVES", @@ -177,7 +173,7 @@ def _get_os_images(): hw_cpu_threads=4, architecture="x86_64", name="Image2", - disk_format="raw", + disk_format="RAW", container_format="bare", needs_secure_boot=True, size="9116319744", @@ -188,7 +184,7 @@ def _get_os_images(): owner="477ba6f14a5b43abe85b2966be7ebe136", os_hash_algo="sha512", os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", - id="94453c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737", + id="image_2", properties={ 'image_build_date': '2023-11-01', 'hotfix_hours': '4', @@ -201,30 +197,65 @@ def _get_os_images(): 'subscription_required': True, 'subscription_included': False, 'maintained_until': datetime.strptime("2024-05-31", "%Y-%m-%d") - })] -class VMImageDiscoveryTestcase(unittest.TestCase): + +class VMImageDiscoveryTestcase(OpenstackTestcase): def setUp(self): with open('../config/config.yaml', 'r') as config_file: self.config = yaml.safe_load(config_file) self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) def test_discovery_vm_images(self): - actual_gax_images = self.discovery.discover_vm_images() + actual_gax_images = self.discovery.discover_vm_images() expected_gax_images = _get_gx_images() self.assertEqual(len(expected_gax_images), len(expected_gax_images)) - count = 0 for image_1 in actual_gax_images: for image_2 in expected_gax_images: if image_1.gx_id == image_2.gx_id: - self._assert_equal(image_1, image_2) + self.check_vm_image(image_1.gx_object, image_2.gx_object) + + def test_json_ld(self): + jsond = { + '@id': 'ex:image_1', '@type': 'gx:VMImage', 'gx:name': 'Image1', 'gx:description': 'Image 1_ext', + 'gx:copyrightOwnedBy': ['Canonical'], 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], + 'gx:resourcePolicy': ['default: allow intent'], + 'gx:checksum': {'@type': 'gx:CheckSum', 'gx:checkSumCalculation': 'sha-512', + 'gx:checkSumValue': '7f8bababc2c2a948'}, 'gx:patchLevel': '1.5.2', + 'gx:buildDate': '2023-12-01T00:00:00', + 'gx:operatingSystem': {'@type': 'gx:OperatingSystem', 'gx:copyrightOwnedBy': ['Canonical'], + 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], + 'gx:resourcePolicy': ['default: allow intent'], 'gx:version': 'Stable', + 'gx:osDistribution': 'Ubuntu'}, + 'gx:cpuReq': {'@type': 'gx:CPU', 'gx:cpuArchitecture': 'x86-64', + 'gx:smtEnabled': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:numberOfCores': 2, + 'gx:numberOfThreads': 4}, 'gx:ramReq': {'@type': 'gx:Memory', + 'gx:memorySize': {'@type': 'gx:MemorySize', + 'qudt:value': {'@type': 'xsd:float', + '@value': '0.0'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, + 'gx:memoryClass': 'other', 'gx:memoryRank': 'other', + 'gx:eccEnabled': {'@type': 'xsd:boolean', + '@value': 'False'}, + 'gx:hardwareEncryption': {'@type': 'xsd:boolean', + '@value': 'False'}}, + 'gx:videoRamSize': {'@type': 'gx:MemorySize', 'qudt:value': {'@type': 'xsd:float', '@value': '20.0'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, + 'gx:rootDiskReq': {'@type': 'gx:Disk', 'gx:diskSize': {'@type': 'gx:MemorySize', + 'qudt:value': {'@type': 'xsd:float', + '@value': '21.47483648'}, + 'qudt:unit': 'https://qudt.org/vocab/unit/GigaBYTE'}, + 'gx:diskType': 'other', 'gx:diskBusType': 'scsi'}, + 'gx:secureBoot': {'@type': 'xsd:boolean', '@value': 'True'}, + 'gx:vPMU': {'@type': 'xsd:boolean', '@value': 'False'}, + 'gx:multiQueues': {'@type': 'xsd:boolean', '@value': 'False'}, + 'gx:licenseIncluded': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:vmImageDiskFormat': 'RAW', + 'gx:hypervisorType': 'other', 'gx:firmwareType': 'other', 'gx:hwRngTypeOfImage': 'None', + 'gx:watchDogAction': 'reset'} - def _assert_equal(self, image_1: JsonLdObject, image_2: JsonLdObject): - self.assertEqual(image_1.gx_id, image_2.gx_id,"Wrong 'gx_id'") - self.assertEqual(image_1.gx_object.aggregationOfResources, image_2.gx_object.aggregationOfResources,"aggregationOf") + self.assertEqual(jsond, to_json_ld(_get_gx_images()[0])) if __name__ == '__main__': From 4a8305e15a4abf31fc2b8dcc1855766016ae31bc Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 10:55:57 +0100 Subject: [PATCH 131/175] Add shacl validation Signed-off-by: Anja Strunk --- generator/common/json_ld.py | 10 +- generator/data.json | 0 .../openstack/vm_images_discovery.py | 18 +- requirements.txt | 1 + tests/common.py | 15 + tests/connection.py | 15 - tests/gaia-x.shacl.ttl | 2281 +++++++++++++++++ tests/test_vm_image_discovery.py | 54 +- 8 files changed, 2333 insertions(+), 61 deletions(-) delete mode 100644 generator/data.json delete mode 100644 tests/connection.py create mode 100644 tests/gaia-x.shacl.ttl diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index bf3fbeb..1a740ae 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -111,27 +111,27 @@ def to_json_ld(obj) -> dict: # Add type for datetime return { "@type": "xsd:dateTime", - "@value": str(obj)} + "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} elif isinstance(obj, date): # add type for date return { "@type": "xsd:date", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, float): # add type for float return { "@type": "xsd:float", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, URI): # add type for URI return { "@type": "xsd:anyURI", - "@value": str(obj)} + "@value": obj} elif isinstance(obj, bool): # add type for boolean return { "@type": "xsd:boolean", - "@value": str(obj)} + "@value": obj} else: return obj diff --git a/generator/data.json b/generator/data.json deleted file mode 100644 index e69de29..0000000 diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 4917d6b..aa5d6ba 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -7,6 +7,7 @@ from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import DiskTypes from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize @@ -28,6 +29,8 @@ from datetime import datetime +import yaml + def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -46,7 +49,7 @@ def _get_cpu_arch(os_image_arch: str) -> str: class VmDiscovery(): - # def __init__(self) -> None: + #def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) @@ -117,7 +120,18 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.vmImageDiskFormat = os_image.disk_format + if os_image.disk_format.lower() == "raw": + gx_image.vmImageDiskFormat = "RAW" + if os_image.disk_format.lower() == "qcow2": + gx_image.vmImageDiskFormat = "QCOW2" + if os_image.disk_format.lower() == "vhd": + gx_image.vmImageDiskFormat = "VHD" + if os_image.disk_format.lower() == "iso": + gx_image.vmImageDiskFormat = "ISO" + if os_image.disk_format.lower() == "cvf": + gx_image.vmImageDiskFormat = "CVF" + if os_image.disk_format.lower() == "cva": + gx_image.vmImageDiskFormat = "CVA" except AttributeError: pass diff --git a/requirements.txt b/requirements.txt index 80b4586..080f932 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ kubernetes==26.1.0 openstacksdk==1.1.* PyYAML==6.* click==8.1.7 +pyshacl==0.25.0 diff --git a/tests/common.py b/tests/common.py index f373bf8..a9d5e33 100644 --- a/tests/common.py +++ b/tests/common.py @@ -18,6 +18,8 @@ from generator.common.gx_schema import VirtualResource from generator.common.gx_schema import VMImage +from typing import List + class OpenstackTestcase(unittest.TestCase): def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): @@ -169,3 +171,16 @@ def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") + + +class TestConnection: + """ + Wrap connection to OpenStack Cluster + """ + images = [] + + def __init__(self, images: List[Image]): + self.images = images + + def list_images(self): + return self.images diff --git a/tests/connection.py b/tests/connection.py deleted file mode 100644 index dd5ee80..0000000 --- a/tests/connection.py +++ /dev/null @@ -1,15 +0,0 @@ -from openstack.image.v2.image import Image -from typing import List - - -class TestConnection: - """ - Wrap connection to OpenStack Cluster - """ - images = [] - - def __init__(self, images: List[Image]): - self.images = images - - def list_images(self): - return self.images diff --git a/tests/gaia-x.shacl.ttl b/tests/gaia-x.shacl.ttl new file mode 100644 index 0000000..c34efa5 --- /dev/null +++ b/tests/gaia-x.shacl.ttl @@ -0,0 +1,2281 @@ +@prefix gx: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass . + +gx:CodeArtifact a sh:NodeShape ; + sh:closed false ; + sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Code Artifact" ; + sh:property [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ] ; + sh:targetClass gx:CodeArtifact . + +gx:DataResource a sh:NodeShape ; + sh:closed false ; + sh:description "A dataset exposed through a service instance." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Resource" ; + sh:property [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to participant legally enabling the data usage." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "produced by" ; + sh:order 0 ; + sh:path gx:producedBy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 7 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:Participant ; + sh:description "data controller Participant as defined in GDPR." ; + sh:name "data controller" ; + sh:order 5 ; + sh:path gx:dataController ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 9 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:boolean ; + sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "contains PII" ; + sh:order 4 ; + sh:path gx:containsPII ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; + sh:maxCount 1 ; + sh:name "expiration dateTime" ; + sh:order 3 ; + sh:path gx:expirationDateTime ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is obsolete." ; + sh:maxCount 1 ; + sh:name "obsolete dateTime" ; + sh:order 2 ; + sh:path gx:obsoleteDateTime ], + [ sh:class gx:Consent ; + sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; + sh:name "consent" ; + sh:order 6 ; + sh:path gx:consent ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 8 ; + sh:path gx:license ], + [ sh:class gx:DataExchangeComponent ; + sh:description "A resolvable link to the data exchange component that exposes the data resource." ; + sh:minCount 1 ; + sh:name "exposed through" ; + sh:order 1 ; + sh:path gx:exposedThrough ] ; + sh:targetClass gx:DataResource . + +gx:Device a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 3 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 2 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 1 ; + sh:path gx:generation ] ; + sh:targetClass gx:Device . + +gx:GaiaX a sh:NodeShape ; + sh:closed false ; + sh:description "Top level element of Gaia-X ecosystem." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:GaiaX . + +gx:GaiaXEntity a sh:NodeShape ; + sh:closed false ; + sh:description "Root class for Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Gaia-X Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:GaiaXEntity . + +gx:Hypervisor a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:hypervisorType ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ] ; + sh:targetClass gx:Hypervisor . + +gx:Image a sh:NodeShape ; + sh:closed false ; + sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Image" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 21 ; + sh:path gx:license ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:checkSum ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 5 ; + sh:path gx:videoRamSize ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:version ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 1 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 25 ; + sh:path gx:description ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 20 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 0 ; + sh:path gx:fileSize ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 6 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 13 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 19 ; + sh:path gx:buildDate ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 2 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 11 ; + sh:path gx:multiQueues ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 24 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 22 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 3 ; + sh:path gx:gpuReq ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 4 ; + sh:path gx:ramReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:updateStrategy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 23 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 9 ; + sh:path gx:secureBoot ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 18 ; + sh:path gx:patchLevel ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 10 ; + sh:path gx:vPMU ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:checksum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:encryption ] ; + sh:targetClass gx:Image . + +gx:InstantiationRequirement a sh:NodeShape ; + sh:closed false ; + sh:description "A container class to gather all requirements for compute service offering instantiations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Instantiation Requirement" ; + sh:targetClass gx:InstantiationRequirement . + +gx:Issuer a sh:NodeShape ; + sh:closed false ; + sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; + sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 0 ; + sh:path gx:issuerTermsAndConditions ] ; + sh:targetClass gx:Issuer . + +gx:PXEImage a sh:NodeShape ; + sh:closed false ; + sh:description "PXE image for physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "PXE image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 4 ; + sh:path gx:gpuReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 23 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:checkSum ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:signature ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 5 ; + sh:path gx:ramReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 2 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path gx:version ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 20 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 26 ; + sh:path gx:description ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 21 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 22 ; + sh:path gx:license ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 24 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 6 ; + sh:path gx:videoRamSize ], + [ sh:description "Disk format. Default \"ISO\"." ; + sh:in ( "WINPE" "ISO" ) ; + sh:maxCount 1 ; + sh:name "disk format" ; + sh:order 0 ; + sh:path gx:pxeImageDiskFormat ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:maintenance ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 3 ; + sh:path gx:cpuReq ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:checksum ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 12 ; + sh:path gx:multiQueues ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 19 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 14 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 10 ; + sh:path gx:secureBoot ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 1 ; + sh:path gx:fileSize ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 7 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 11 ; + sh:path gx:vPMU ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:updateStrategy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 25 ; + sh:path gx:name ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:encryption ] ; + sh:targetClass gx:PXEImage . + +gx:RegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:RegistrationNumber . + +gx:Resource a sh:NodeShape ; + sh:closed false ; + sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 1 ; + sh:path gx:name ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 0 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 2 ; + sh:path gx:description ] ; + sh:targetClass gx:Resource . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass . + +gx:ConfidentialComputing a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Particular confidential computing technology used by the flavors as defined in..." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:technology ], + [ sh:datatype xsd:anyURI ; + sh:description "indicates whether confidential server has an associated attestation service." ; + sh:maxCount 1 ; + sh:name "attestation service URI" ; + sh:order 1 ; + sh:path gx:attestationServiceURI ] ; + sh:targetClass gx:ConfidentialComputing . + +gx:Consent a sh:NodeShape ; + sh:closed false ; + sh:description "Information on the legitimate processing of information related to PII." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Consent" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; + sh:minCount 1 ; + sh:name "purpose" ; + sh:order 2 ; + sh:path gx:purpose ], + [ sh:datatype xsd:string ; + sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal Basis" ; + sh:order 0 ; + sh:path gx:legalBasis ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; + sh:minCount 1 ; + sh:name "consent withdrawal contact point" ; + sh:order 3 ; + sh:path gx:consentWithdrawalContactPoint ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; + sh:minCount 1 ; + sh:name "data protection contact point" ; + sh:order 1 ; + sh:path gx:dataProtectionContactPoint ] ; + sh:targetClass gx:Consent . + +gx:DataExchangeComponent a sh:NodeShape ; + sh:closed false ; + sh:description "A service/resource used to make a data resource available." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Exchange Component" ; + sh:targetClass gx:DataExchangeComponent . + +gx:EORI a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The Economic Operators Registration and Identification number (EORI)." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:eori ] ; + sh:targetClass gx:EORI . + +gx:EUID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:euid ] ; + sh:targetClass gx:EUID . + +gx:GPSLocation a sh:NodeShape ; + sh:closed false ; + sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "latitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 0 ; + sh:path gx:latitude ], + [ sh:datatype xsd:string ; + sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; + sh:maxCount 1 ; + sh:name "crs" ; + sh:order 3 ; + sh:path gx:crs ; + sh:pattern "^CRS" ], + [ sh:datatype xsd:string ; + sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; + sh:maxCount 1 ; + sh:name "altitude" ; + sh:order 2 ; + sh:path gx:altitude ], + [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "longitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 1 ; + sh:path gx:longitude ] ; + sh:targetClass gx:GPSLocation . + +gx:LatestN a sh:NodeShape ; + sh:closed false ; + sh:description "Number of latest N outdated image versions, which will be valid." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:order 0 ; + sh:path gx:value ] ; + sh:targetClass gx:LatestN . + +gx:LeiCode a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unique LEI number as defined by https://www.gleif.org." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:LeiCode . + +gx:LocalRegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The state issued company number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:local ] ; + sh:targetClass gx:LocalRegistrationNumber . + +gx:Participant a sh:NodeShape ; + sh:closed false ; + sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:Participant . + +gx:ServerFlavor a sh:NodeShape ; + sh:closed false ; + sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Server Flavor" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; + sh:maxCount 1 ; + sh:name "Hardware-assisted virtualization" ; + sh:order 8 ; + sh:path gx:hardwareAssistedVirtualization ], + [ sh:class gx:CPU ; + sh:description "CPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "CPU requirements" ; + sh:order 0 ; + sh:path gx:cpu ], + [ sh:class gx:SoftwareResource ; + sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:hypervisor ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 9 ; + sh:path gx:hwRngTypeOfFlavor ], + [ sh:datatype xsd:string ; + sh:description "Network capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:network ], + [ sh:class gx:Disk ; + sh:description "Boot volume capabilities of boot volume of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "boot volume" ; + sh:order 4 ; + sh:path gx:bootVolume ], + [ sh:class gx:ConfidentialComputing ; + sh:description "Details with respect to confidential computing capabilities of the flavor." ; + sh:maxCount 1 ; + sh:name "confidential computing" ; + sh:order 6 ; + sh:path gx:confidentialComputing ], + [ sh:class gx:GPU ; + sh:description "GPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:gpu ], + [ sh:class gx:Memory ; + sh:description "Size of RAM of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:ram ], + [ sh:class gx:Disk ; + sh:description "Additional volume capabilities of boot volume of the flavor." ; + sh:name "additional volume" ; + sh:order 5 ; + sh:path gx:additionalVolume ] ; + sh:targetClass gx:ServerFlavor . + +gx:StandardConformity a sh:NodeShape ; + sh:closed false ; + sh:description "Details about standard applied to Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Name of the standard." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "title" ; + sh:order 0 ; + sh:path gx:title ], + [ sh:datatype xsd:anyURI ; + sh:description "Provides a link to schemas or details about applied standards." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "standard reference" ; + sh:order 1 ; + sh:path gx:standardReference ], + [ sh:datatype xsd:string ; + sh:description "Publisher of the standard." ; + sh:maxCount 1 ; + sh:name "publisher" ; + sh:order 2 ; + sh:path gx:publisher ] ; + sh:targetClass gx:StandardConformity . + +gx:VMImage a sh:NodeShape ; + sh:closed false ; + sh:description "Image for virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "VM image" ; + sh:property [ sh:description "Define the action to be performed if server hangs." ; + sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; + sh:maxCount 1 ; + sh:name "Watchdog action" ; + sh:order 4 ; + sh:path gx:watchDogAction ], + [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; + sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; + sh:maxCount 1 ; + sh:name "VM Image disk format" ; + sh:order 0 ; + sh:path gx:vmImageDiskFormat ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 8 ; + sh:path gx:gpuReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 6 ; + sh:path gx:operatingSystem ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 28 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path gx:version ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 10 ; + sh:path gx:videoRamSize ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 23 ; + sh:path gx:patchLevel ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 26 ; + sh:path gx:license ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:encryption ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:checkSum ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 24 ; + sh:path gx:buildDate ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 5 ; + sh:path gx:fileSize ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 29 ; + sh:path gx:name ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 9 ; + sh:path gx:ramReq ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 25 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 16 ; + sh:path gx:multiQueues ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:updateStrategy ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 11 ; + sh:path gx:rootDiskReq ], + [ sh:description "Hypervisor type required by the image" ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:name "Hypervisor type" ; + sh:order 1 ; + sh:path gx:hypervisorType ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 14 ; + sh:path gx:secureBoot ], + [ sh:description "Type of firmware which which guests are booted." ; + sh:in ( "BIOS" "UEFI" "other" ) ; + sh:maxCount 1 ; + sh:name "Firmware type" ; + sh:order 2 ; + sh:path gx:firmwareType ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 3 ; + sh:path gx:hwRngTypeOfImage ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 30 ; + sh:path gx:description ], + [ sh:datatype xsd:boolean ; + sh:description "In case an image requires a commercial license to be used (No Freeware), this attribute indicates, if service usage fee includes that license (true) or customer has to bring its own commercial license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 18 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 15 ; + sh:path gx:vPMU ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 7 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 27 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:VMImage . + +gx:VatID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The VAT identification number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:vatID ] ; + sh:targetClass gx:VatID . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:GPSUnit a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of a geographical point." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "minutes" ; + sh:order 1 ; + sh:path gx:minutes ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:maxInclusive 1 ; + sh:minInclusive 0 ; + sh:name "decimals" ; + sh:order 3 ; + sh:path gx:decimals ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 180 ; + sh:minCount 1 ; + sh:minInclusive -180 ; + sh:name "degrees" ; + sh:order 0 ; + sh:path gx:degrees ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "seconds" ; + sh:order 2 ; + sh:path gx:seconds ] ; + sh:targetClass gx:GPSUnit . + +gx:Encryption a sh:NodeShape ; + sh:closed false ; + sh:description "Encryption capabilities of a Gaia-X entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Supported algorithm used to encrypt." ; + sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "encryption algorithm" ; + sh:order 0 ; + sh:path gx:cipher ], + [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; + sh:in ( "BYOK" "HYOK" "managed" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "key management" ; + sh:order 1 ; + sh:path gx:keyManagement ] ; + sh:targetClass gx:Encryption . + +gx:MaintenanceSubscription a sh:NodeShape ; + sh:closed false ; + sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; + sh:maxCount 1 ; + sh:name "Subscription required" ; + sh:order 1 ; + sh:path gx:subscriptionRequired ], + [ sh:datatype xsd:date ; + sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; + sh:maxCount 1 ; + sh:name "Maintenance until" ; + sh:order 2 ; + sh:path gx:maintainedUntil ], + [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; + sh:maxCount 1 ; + sh:name "Subscription included" ; + sh:order 0 ; + sh:path gx:subscriptionIncluded ] ; + sh:targetClass gx:MaintenanceSubscription . + +gx:UpdateStrategy a sh:NodeShape ; + sh:closed false ; + sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; + sh:maxCount 1 ; + sh:name "Provided until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; + sh:order 3 ; + sh:path gx:providedUntil ], + [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; + sh:maxCount 1 ; + sh:name "Old versions Valid until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; + sh:order 2 ; + sh:path gx:oldVersionsValidUntil ], + [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; + sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; + sh:maxCount 1 ; + sh:name "Replace Frequency" ; + sh:order 0 ; + sh:path gx:replaceFrequency ], + [ sh:datatype xsd:integer ; + sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; + sh:maxCount 1 ; + sh:minInclusive 0 ; + sh:name "Hotfix hours" ; + sh:order 1 ; + sh:path gx:hotfixHours ] ; + sh:targetClass gx:UpdateStrategy . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Full address of the entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "String of a street-address" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ], + [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; + sh:order 0 ; + sh:path gx:countryCode ], + [ sh:class gx:GPSLocation ; + sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; + sh:order 1 ; + sh:path gx:gps ], + [ sh:datatype xsd:string ; + sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "the street address of a postal address" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ] ; + sh:targetClass . + +gx:CPU a sh:NodeShape ; + sh:closed false ; + sh:description "Computational processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 11 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class ; + sh:description "CPU Thermal Design Power." ; + sh:maxCount 1 ; + sh:name "thermal design power" ; + sh:order 8 ; + sh:path gx:thermalDesignPower ], + [ sh:datatype xsd:integer ; + sh:description "Number of threads of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of threads" ; + sh:order 4 ; + sh:path gx:numberOfThreads ], + [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; + sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; + sh:maxCount 1 ; + sh:name "CPU architecture" ; + sh:order 0 ; + sh:path gx:cpuArchitecture ], + [ sh:datatype xsd:integer ; + sh:description "Number of cores of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of CPU cores" ; + sh:order 3 ; + sh:path gx:numberOfCores ], + [ sh:class gx:MemorySize ; + sh:description "Last Level Cache size of the CPU." ; + sh:maxCount 1 ; + sh:name "last level cache size" ; + sh:order 7 ; + sh:path gx:lastLevelCacheSize ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 12 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; + sh:maxCount 1 ; + sh:name "smt enabled" ; + sh:order 2 ; + sh:path gx:smtEnabled ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; + sh:name "CPU flags" ; + sh:order 1 ; + sh:path gx:cpuFlag ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 10 ; + sh:path gx:generation ], + [ sh:class ; + sh:description "Base frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "base CPU frequency" ; + sh:order 5 ; + sh:path gx:baseFrequency ], + [ sh:class ; + sh:description "Boost frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "boost CPU frequency" ; + sh:order 6 ; + sh:path gx:boostFrequency ] ; + sh:targetClass gx:CPU . + +gx:ComputeServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Compute Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 12 ; + sh:path gx:name ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 11 ; + sh:path gx:hostedOn ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 1 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 5 ; + sh:path gx:servicePolicy ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 6 ; + sh:path gx:dataProtectionRegime ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 0 ; + sh:path gx:tenantSeparation ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 2 ; + sh:path gx:dependsOn ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 10 ; + sh:path gx:endpoint ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 13 ; + sh:path gx:description ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 9 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 8 ; + sh:path gx:keyword ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 4 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 7 ; + sh:path gx:dataAccountExport ] ; + sh:targetClass gx:ComputeServiceOffering . + +gx:DataAccountExport a sh:NodeShape ; + sh:closed false ; + sh:description "List of methods to export data from your account out of the service." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "request type" ; + sh:order 0 ; + sh:path gx:requestType ], + [ sh:description "Type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "access type" ; + sh:order 1 ; + sh:path gx:accessType ], + [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; + sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "format type" ; + sh:order 2 ; + sh:path gx:formatType ] ; + sh:targetClass gx:DataAccountExport . + +gx:Endpoint a sh:NodeShape ; + sh:closed false ; + sh:description "An endpoint is a mean to access and interact with a service or a resource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:StandardConformity ; + sh:description "Provides information about applied standards." ; + sh:minCount 1 ; + sh:name "standard conformity" ; + sh:order 1 ; + sh:path gx:standardConformity ], + [ sh:datatype xsd:string ; + sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:formalDescription ], + [ sh:datatype xsd:anyURI ; + sh:description "The URL of the endpoint where it can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint URL" ; + sh:order 0 ; + sh:path gx:endpointURL ] ; + sh:targetClass gx:Endpoint . + +gx:GPU a sh:NodeShape ; + sh:closed false ; + sh:description "Graphical processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Interconnection of multiple GPUs within a server system" ; + sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:gpuInterconnection ], + [ sh:class gx:MemorySize ; + sh:description "Size of memory of the GPU." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:gpuMemory ], + [ sh:datatype xsd:integer ; + sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "gpu processing units" ; + sh:order 2 ; + sh:path gx:gpuProcessingUnits ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 7 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; + sh:maxCount 1 ; + sh:name "GPU path through" ; + sh:order 3 ; + sh:path gx:gpuPassthrough ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 5 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 6 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:GPU . + +gx:InfrastructureServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Infrastructure Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ] ; + sh:targetClass gx:InfrastructureServiceOffering . + +gx:Memory a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of RAM." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; + sh:maxCount 1 ; + sh:name "error correction code (ecc)" ; + sh:order 3 ; + sh:path gx:eccEnabled ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 8 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path gx:vendor ], + [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; + sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; + sh:maxCount 1 ; + sh:name "memory rank" ; + sh:order 2 ; + sh:path gx:memoryRank ], + [ sh:class gx:MemorySize ; + sh:description "Memory size of RAM." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "memory size" ; + sh:order 0 ; + sh:path gx:memorySize ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 6 ; + sh:path gx:generation ], + [ sh:description "DRAM technology name defined by JEDEC" ; + sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; + sh:maxCount 1 ; + sh:name "memory class" ; + sh:order 1 ; + sh:path gx:memoryClass ], + [ sh:datatype xsd:boolean ; + sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; + sh:maxCount 1 ; + sh:name "Hardware Encryption enabled" ; + sh:order 4 ; + sh:path gx:hardwareEncryption ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 7 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:Memory . + +gx:ServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Service Offering" ; + sh:property [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ] ; + sh:targetClass gx:ServiceOffering . + +gx:TermsAndConditions a sh:NodeShape ; + sh:closed false ; + sh:description "Terms and Conditions applying to a service offering." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "sha256 hash of the document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hash ], + [ sh:datatype xsd:anyURI ; + sh:description "A resolvable link to document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:url ] ; + sh:targetClass gx:TermsAndConditions . + +gx:VirtualMachineServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Machine Service Offering" ; + sh:property [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 13 ; + sh:path gx:hostedOn ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:servicePolicy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 5 ; + sh:path gx:aggregationOfResources ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 8 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 9 ; + sh:path gx:dataAccountExport ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 4 ; + sh:path gx:dependsOn ], + [ sh:class gx:VMImage ; + sh:description "Compute Service Code Artifacts" ; + sh:minCount 1 ; + sh:name "code artifact" ; + sh:order 0 ; + sh:path gx:codeArtifact ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 6 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 3 ; + sh:path gx:providedBy ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 11 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 14 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 12 ; + sh:path gx:endpoint ], + [ sh:class gx:ServerFlavor ; + sh:description "Set of technical requirements or conditions to instantiate this service offering." ; + sh:minCount 1 ; + sh:name "instantiation requirement" ; + sh:order 1 ; + sh:path gx:instantiationReq ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 15 ; + sh:path gx:description ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 2 ; + sh:path gx:tenantSeparation ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 10 ; + sh:path gx:keyword ] ; + sh:targetClass gx:VirtualMachineServiceOffering . + +gx:Disk a sh:NodeShape ; + sh:closed false ; + sh:description "Capabilities of a physical or virtual hard drive." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "The type of storage drive." ; + sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; + sh:maxCount 1 ; + sh:name "Disk Type" ; + sh:order 1 ; + sh:path gx:diskType ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 5 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Type of disk controller the disk is attached to." ; + sh:maxCount 1 ; + sh:name "Disk Bus Type" ; + sh:order 2 ; + sh:path gx:diskBusType ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:vendor ], + [ sh:class gx:MemorySize ; + sh:description "The size of the hard drive." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Disk size" ; + sh:order 0 ; + sh:path gx:diskSize ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 4 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 6 ; + sh:path gx:supportedOversubscriptionRatio ] ; + sh:targetClass gx:Disk . + +gx:SoftwareResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Gaia-X Virtual Resource describing an executable program." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Software Resource" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ] ; + sh:targetClass gx:SoftwareResource . + +gx:OperatingSystem a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing an operating system." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Operation System" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" "CirrOS" "AlmaLinux" "others" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Operation System Distribution" ; + sh:order 0 ; + sh:path gx:osDistribution ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ] ; + sh:targetClass gx:OperatingSystem . + +gx:Signature a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the signature" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:signatureValue ], + [ sh:description "Algorithm used to create hash." ; + sh:in ( "md5" "sha-1" "sha-224" "sha-256" "sha-512" "sha-384" "sha-3" "ripemd-160" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hashAlgorithm ], + [ sh:description "Defines the algorithm used to calculate or verify the signature." ; + sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:signatureAlgorithm ] ; + sh:targetClass gx:Signature . + +gx:CheckSum a sh:NodeShape ; + sh:closed false ; + sh:description "Detail on how to calculate or verify a checksum." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the check sum." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:checkSumValue ], + [ sh:description "Algorithm used to create checksum." ; + sh:in ( "md5" "sha-1" "sha-224" "sha-256" "sha-512" "sha-384" "sha-3" "ripemd-160" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:checkSumCalculation ] ; + sh:targetClass gx:CheckSum . + +gx:MemorySize a sh:NodeShape ; + sh:closed false ; + sh:description "The number of bits, that can be stored on a digital storage." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Memory size" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ], + [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:MemorySize . + +gx:LegalPerson a sh:NodeShape ; + sh:closed false ; + sh:description "A legal person, who is uniquely identified by its registration number." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Legal Person" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class ; + sh:description "The full legal address of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal address" ; + sh:order 1 ; + sh:path gx:legalAddress ], + [ sh:class ; + sh:description "Full physical location of the headquarter of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:headquartersAddress ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; + sh:minCount 1 ; + sh:name "registration number" ; + sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; + sh:order 0 ; + sh:path gx:registrationNumber ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; + sh:order 4 ; + sh:path gx:subOrganisationOf ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; + sh:order 3 ; + sh:path gx:parentOrganizationOf ] ; + sh:targetClass gx:LegalPerson . + +gx:PhysicalResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Physical Resource" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; + sh:name "manufactured by" ; + sh:order 2 ; + sh:path gx:manufacturedBy ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; + sh:minCount 1 ; + sh:name "maintained by" ; + sh:order 0 ; + sh:path gx:maintainedBy ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; + sh:name "owned by" ; + sh:order 1 ; + sh:path gx:ownedBy ], + [ sh:class ; + sh:description "A list of physical locations." ; + sh:minCount 1 ; + sh:order 3 ; + sh:path gx:location ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 4 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ] ; + sh:targetClass gx:PhysicalResource . + +gx:VirtualResource a sh:NodeShape ; + sh:closed false ; + sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Resource" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 1 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 5 ; + sh:path gx:description ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 0 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 4 ; + sh:path gx:name ] ; + sh:targetClass gx:VirtualResource . + diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index a7b334f..8856972 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -1,3 +1,4 @@ +import json import unittest import yaml @@ -14,12 +15,14 @@ from generator.common.gx_schema import VMImage as GX_Image from generator.common.json_ld import to_json_ld - from generator.discovery.openstack.vm_images_discovery import VmDiscovery + from openstack.image.v2.image import Image as OS_Image +from pyshacl import validate + from tests.common import OpenstackTestcase -from tests.connection import TestConnection +from tests.common import TestConnection def _get_gx_images(): @@ -218,44 +221,17 @@ def test_discovery_vm_images(self): self.check_vm_image(image_1.gx_object, image_2.gx_object) def test_json_ld(self): - jsond = { - '@id': 'ex:image_1', '@type': 'gx:VMImage', 'gx:name': 'Image1', 'gx:description': 'Image 1_ext', - 'gx:copyrightOwnedBy': ['Canonical'], 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], - 'gx:resourcePolicy': ['default: allow intent'], - 'gx:checksum': {'@type': 'gx:CheckSum', 'gx:checkSumCalculation': 'sha-512', - 'gx:checkSumValue': '7f8bababc2c2a948'}, 'gx:patchLevel': '1.5.2', - 'gx:buildDate': '2023-12-01T00:00:00', - 'gx:operatingSystem': {'@type': 'gx:OperatingSystem', 'gx:copyrightOwnedBy': ['Canonical'], - 'gx:license': ['https://ubuntu.com/legal/open-source-licences'], - 'gx:resourcePolicy': ['default: allow intent'], 'gx:version': 'Stable', - 'gx:osDistribution': 'Ubuntu'}, - 'gx:cpuReq': {'@type': 'gx:CPU', 'gx:cpuArchitecture': 'x86-64', - 'gx:smtEnabled': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:numberOfCores': 2, - 'gx:numberOfThreads': 4}, 'gx:ramReq': {'@type': 'gx:Memory', - 'gx:memorySize': {'@type': 'gx:MemorySize', - 'qudt:value': {'@type': 'xsd:float', - '@value': '0.0'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, - 'gx:memoryClass': 'other', 'gx:memoryRank': 'other', - 'gx:eccEnabled': {'@type': 'xsd:boolean', - '@value': 'False'}, - 'gx:hardwareEncryption': {'@type': 'xsd:boolean', - '@value': 'False'}}, - 'gx:videoRamSize': {'@type': 'gx:MemorySize', 'qudt:value': {'@type': 'xsd:float', '@value': '20.0'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/MegaBYTE'}, - 'gx:rootDiskReq': {'@type': 'gx:Disk', 'gx:diskSize': {'@type': 'gx:MemorySize', - 'qudt:value': {'@type': 'xsd:float', - '@value': '21.47483648'}, - 'qudt:unit': 'https://qudt.org/vocab/unit/GigaBYTE'}, - 'gx:diskType': 'other', 'gx:diskBusType': 'scsi'}, - 'gx:secureBoot': {'@type': 'xsd:boolean', '@value': 'True'}, - 'gx:vPMU': {'@type': 'xsd:boolean', '@value': 'False'}, - 'gx:multiQueues': {'@type': 'xsd:boolean', '@value': 'False'}, - 'gx:licenseIncluded': {'@type': 'xsd:boolean', '@value': 'False'}, 'gx:vmImageDiskFormat': 'RAW', - 'gx:hypervisorType': 'other', 'gx:firmwareType': 'other', 'gx:hwRngTypeOfImage': 'None', - 'gx:watchDogAction': 'reset'} - self.assertEqual(jsond, to_json_ld(_get_gx_images()[0])) + conforms, _, _ = validate(data_graph=json.dumps( + _get_gx_images()[0], + indent=4, default=to_json_ld), + shacl_graph="gaia-x.shacl.ttl", + data_graph_format="json-ld", + shacl_graph_format="ttl" + ) + + self.assertTrue(conforms) + if __name__ == '__main__': From c30fce136a439f3c4a07636bdf4b03bdb30f75eb Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:13:29 +0100 Subject: [PATCH 132/175] Add simple FileSystem Wallet Signed-off-by: Anja Strunk --- config/config.yaml | 269 +++++++++--------- generator/cli.py | 56 +++- generator/common/const.py | 6 + .../discovery/openstack/opentack_discovery.py | 19 +- .../openstack/vm_images_discovery.py | 16 +- generator/wallet/file_wallet.py | 29 +- generator/wallet/wallet.py | 15 +- generator/wallet/xfsc_wallet.py | 5 +- 8 files changed, 248 insertions(+), 167 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 0efa07b..9e9dc55 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,132 +1,137 @@ -operating system: - Alpine Linux: - copyright owner: "Alpine Linux" - resource policy: "abc" - license: - - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 - Arch Linux: - copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: "abc" - license: - - https://gitlab.archlinux.org/archlinux - CentOS Linux: - copyright owner: "The CentOS Project and others" - resource policy: "abc" - license: - - https://github.com/CentOS/ - Debian: - copyright owner: "Ian Murdock and others" - resource policy: "abc" - license: - - https://www.debian.org/legal/licenses/index.en.html - Fedora: - copyright owner: "Fedora-Project" - resource policy: "abc" - license: - - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ - FreeBSD: - copyright owner: "The FreeBSD Project" - resource policy: "abc" - license: - - GPL-3.0-only - - LGPL-2.0 - Gentoo Linux: - copyright owner: "Gentoo Foundation, Inc." - resource policy: "abc" - license: - - https://www.gentoo.org/glep/glep-0076.html - Mandrakelinux: - copyright owner: "Mandriva Linux" - resource policy: "abc" - license: - - GPL-3.0-only - Mandriva Linux: - copyright owner: "Mandriva S. A." - resource policy: "abc" - license: - - GPL-3.0-only - Mandriva Enterprise Server: - copyright owner: "Mandriva S. A." - resource policy: "abc" - license: - - GPL-3.0-only - MS-DOS: - copyright owner: "Microsoft Corporation" - resource policy: "abc" - license: - - https://www.microsoft.com/licensing/docs/view/Licensing-Guides - NetBSD: - copyright owner: "The NetBSD Foundation" - resource policy: "abc" - license: - - https://www.netbsd.org/about/redistribution.html - Novell NetWare: - copyright owner: "Micro Focus International" - resource policy: "abc" - license: - - https://support.novell.com/techcenter/articles/ana19960702.html - OpenBSD: - copyright owner: "OpenBSD" - resource policy: "abc" - license: - - https://www.openbsd.org/policy.html - OpenSolaris: - copyright owner: "Sun Microsystems" - resource policy: "abc" - license: - - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html - openSUSE: - copyright owner: "openSUSE contributors & others" - resource policy: "abc" - license: - - https://en.opensuse.org/openSUSE:License - Rocky Linux: - copyright owner: "Rocky Enterprise Software Foundation" - resource policy: "abc" - license: - - https://rockylinux.org/licensing - Red Hat Enterprise Linux: - copyright owner: "Red Hat, Inc." - resource policy: "abc" - license: - - https://www.redhat.com/en/store/red-hat-enterprise-linux-server - SUSE Linux Enterprise Desktop: - copyright owner: "SUSE" - resource policy: "abc" - license: - - https://www.suse.com/products/terms_and_conditions.pdf - Ubuntu: - copyright owner: "Canonical" - resource policy: "abc" - license: - - https://ubuntu.com/legal/open-source-licences - Microsoft Windows: - copyright owner: "Microsoft Corporation" - resource policy: "abc" - license: - - https://www.microsoft.com/licensing - CirrOS: - copyright owner: "Canonical Ltd." - resource policy: "abc" - license: - - GPL-2.0-only - AlmaLinux: - copyright owner: "Canonical Ltd." - resource policy: "abc" - license: - - https://almalinux.org/p/the-almalinux-os-licensing-policy/ - Debian 11: - copyright owner: "AlmaLinux OS Foundation" - resource policy: "abc" - license: - - https://www.abc.org -own images: - AlmaLinux 8: - aggregation of: - - web:did:provider.de - copyright owner: - - "AlmaLinux OS Foundation" - - "ABC" - resource policy: "abc" - license: - - https://www.abc.org \ No newline at end of file +default: + operating system: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: "abc" + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 + Arch Linux: + copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" + resource policy: "abc" + license: + - https://gitlab.archlinux.org/archlinux + CentOS Linux: + copyright owner: "The CentOS Project and others" + resource policy: "abc" + license: + - https://github.com/CentOS/ + Debian: + copyright owner: "Ian Murdock and others" + resource policy: "abc" + license: + - https://www.debian.org/legal/licenses/index.en.html + Fedora: + copyright owner: "Fedora-Project" + resource policy: "abc" + license: + - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ + FreeBSD: + copyright owner: "The FreeBSD Project" + resource policy: "abc" + license: + - GPL-3.0-only + - LGPL-2.0 + Gentoo Linux: + copyright owner: "Gentoo Foundation, Inc." + resource policy: "abc" + license: + - https://www.gentoo.org/glep/glep-0076.html + Mandrakelinux: + copyright owner: "Mandriva Linux" + resource policy: "abc" + license: + - GPL-3.0-only + Mandriva Linux: + copyright owner: "Mandriva S. A." + resource policy: "abc" + license: + - GPL-3.0-only + Mandriva Enterprise Server: + copyright owner: "Mandriva S. A." + resource policy: "abc" + license: + - GPL-3.0-only + MS-DOS: + copyright owner: "Microsoft Corporation" + resource policy: "abc" + license: + - https://www.microsoft.com/licensing/docs/view/Licensing-Guides + NetBSD: + copyright owner: "The NetBSD Foundation" + resource policy: "abc" + license: + - https://www.netbsd.org/about/redistribution.html + Novell NetWare: + copyright owner: "Micro Focus International" + resource policy: "abc" + license: + - https://support.novell.com/techcenter/articles/ana19960702.html + OpenBSD: + copyright owner: "OpenBSD" + resource policy: "abc" + license: + - https://www.openbsd.org/policy.html + OpenSolaris: + copyright owner: "Sun Microsystems" + resource policy: "abc" + license: + - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html + openSUSE: + copyright owner: "openSUSE contributors & others" + resource policy: "abc" + license: + - https://en.opensuse.org/openSUSE:License + Rocky Linux: + copyright owner: "Rocky Enterprise Software Foundation" + resource policy: "abc" + license: + - https://rockylinux.org/licensing + Red Hat Enterprise Linux: + copyright owner: "Red Hat, Inc." + resource policy: "abc" + license: + - https://www.redhat.com/en/store/red-hat-enterprise-linux-server + SUSE Linux Enterprise Desktop: + copyright owner: "SUSE" + resource policy: "abc" + license: + - https://www.suse.com/products/terms_and_conditions.pdf + Ubuntu: + copyright owner: "Canonical" + resource policy: "abc" + license: + - https://ubuntu.com/legal/open-source-licences + Microsoft Windows: + copyright owner: "Microsoft Corporation" + resource policy: "abc" + license: + - https://www.microsoft.com/licensing + CirrOS: + copyright owner: "Canonical Ltd." + resource policy: "abc" + license: + - GPL-2.0-only + AlmaLinux: + copyright owner: "Canonical Ltd." + resource policy: "abc" + license: + - https://almalinux.org/p/the-almalinux-os-licensing-policy/ + Debian 11: + copyright owner: "AlmaLinux OS Foundation" + resource policy: "abc" + license: + - https://www.abc.org +cloud resources: + own images: + AlmaLinux 8: + aggregation of: + - web:did:provider.de + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org +wallets: + filesystem: + path: /etc/wallet/gx-credentials/ \ No newline at end of file diff --git a/generator/cli.py b/generator/cli.py index 0244287..7da5373 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,12 +1,22 @@ import click +import json + +import generator.common.json_ld as json_ld +import generator.common.const as const + import openstack as os import sys import yaml +from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud -import json -import generator.common.json_ld as json_ld +from generator.wallet.wallet import WalletConnector +from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.xfsc_wallet import XFSCWallet + +from typing import List + @click.group() def cli(): @@ -14,10 +24,13 @@ def cli(): @click.command() -@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') +@click.option( + "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") +@click.option('--config', default='../config/config.yaml', + help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout, config): +def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,14 +41,25 @@ def openstack(cloud, timeout, config): except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + default_domain='default', project_domain_id='default') conn.authorize() # generate Gaia-X Credentials with open(config, "r") as config_file: - os_cloud = OsCloud(conn, yaml.safe_load(config_file)) - props = os_cloud.discover_properties() - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + # init everything + config_dict = yaml.safe_load(config_file) + wallets = init_wallets(config_dict) + os_cloud = OsCloud(conn, config_dict) + + # run discovery + creds = os_cloud.discover_properties() + + # store creds in wallets and print them as overall JSON-LD + store_creds_in_wallet(wallets, creds) + if print_json_ld: + props = json_ld.get_json_ld_context() + props['@graph'] = creds + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() @@ -44,6 +68,22 @@ def kubernetes(): pass +def init_wallets(config: dict) -> List[WalletConnector]: + wallets = list() + for wallet in config[const.CONFIG_WALLETS]: + if wallet == const.CONFIG_FILESYSTEM_WALLET: + wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + elif wallet == const.CONFIG_XFSC_WALLET: + wallets.append(XFSCWallet()) + return wallets + + +def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: + for w in wallets: + for c in creds: + w.store_credential(c) + + cli.add_command(openstack) cli.add_command(kubernetes) diff --git a/generator/common/const.py b/generator/common/const.py index dd6812e..9b1afd9 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -17,6 +17,12 @@ CONFIG_OPERATING_SYSTEM = "operating system" CONFIG_OWN_IMAGES = "own images" CONFIG_AGGREGATION_OF = "aggregation of" +CONFIG_WALLETS = "wallets" +CONFIG_DEFAULT = "default" +CONFIG_CLOUD_RESOURCES = "cloud resources:" +CONFIG_FILESYSTEM_WALLET = "filesystem" +CONFIG_XFSC_WALLET = "xfsc" + CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 4b1f2c4..d1ddb28 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,10 +1,12 @@ -import generator.common.json_ld as json_ld +from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from linkml_runtime.utils.yamlutils import YAMLRoot + from openstack.connection import Connection -from typing import Dict +from typing import Dict, List class OsCloud: @@ -16,19 +18,18 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config - def discover_properties(self) -> dict: + def discover_properties(self) -> List[JsonLdObject]: """ Discover all attributes of OS Cloud. - @return: all attributes as dict + @return: all attributes as list of YAMLRoot """ - props = json_ld.get_json_ld_context() - props['@graph'] = [] + creds = list() vm_dis = VmDiscovery(self.conn, self.config) - for img in vm_dis.discover_vm_images(): - props['@graph'].append(img) - return props + creds.extend(vm_dis.discover_vm_images()) + + return creds diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index aa5d6ba..968d2cf 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -353,20 +353,20 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> def _get_resource_policy_for_os(self, os: str) -> str: try: - return self.config[const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] def _get_license_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: # check if comfig contains image's specific copright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -374,7 +374,7 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license - gx_image.license = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -382,7 +382,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy - gx_image.resourcePolicy = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] @@ -569,4 +569,6 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.hwRngTypeOfImage = "None" + pass + # not supported yet + #gx_image.hwRngTypeOfImage = "None" diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index a71a2e8..896b6d2 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,10 +1,33 @@ -from wallet import WalletConnector +import json +import os +from generator.common.json_ld import to_json_ld +from generator.common.json_ld import get_json_ld_context -class FileSystemWallet(WalletConnector): +from generator.common.json_ld import JsonLdObject + +from generator.wallet.wallet import WalletConnector + + +class FileSystemWallet(WalletConnector, object): """ - Abstraction for filesystem acting as wallet. + Abstraction for filesystem acting as a wallet. """ + def __init__(self, dir: str) -> None: + super().__init__() + self.dir = dir + + def store_credential(self, credential: JsonLdObject) -> None: + super().store_credential(credential) + + with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + props = get_json_ld_context() + props['@graph'] = [credential] + json.dump(props, json_file, indent=4, default=to_json_ld) + + + + def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 592bd61..8e5e43a 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,16 +1,23 @@ -from abc import ABCMeta +from abc import ABC from abc import abstractmethod -from linkml_runtime.utils.yamlutils import YAMLRoot +from generator.common.json_ld import JsonLdObject -class WalletConnector(ABCMeta): + +class WalletConnector(ABC): """ Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector wraps API calls for different kind of wallets. """ @abstractmethod - def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + def store_credential(self, credential: JsonLdObject) -> None: + """ + Stores given CREDENTIAL in this wallet. + @param credential: credential to be stored in JSON-LD + @type JsonLdObject + @return: None + """ pass @abstractmethod diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py index b699aa1..489c619 100644 --- a/generator/wallet/xfsc_wallet.py +++ b/generator/wallet/xfsc_wallet.py @@ -1,4 +1,4 @@ -from wallet import WalletConnector +from generator.wallet.wallet import WalletConnector class XFSCWallet(WalletConnector): @@ -6,6 +6,3 @@ class XFSCWallet(WalletConnector): Abstraction XFSC wallet, called Organization Credential Manager. See https://projects.eclipse.org/projects/technology.xfsc """ - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) From fe6d1b5234cdd1a23517ddc6d86b62337d01d10b Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:35:53 +0100 Subject: [PATCH 133/175] Reformat files Signed-off-by: Anja Strunk --- generator/cli.py | 54 +- generator/common/const.py | 2 +- generator/common/expections.py | 6 +- generator/common/gx_schema.py | 15647 +++++++++------- generator/common/json_ld.py | 63 +- .../discovery/openstack/opentack_discovery.py | 14 +- .../openstack/vm_images_discovery.py | 600 +- generator/wallet/file_wallet.py | 15 +- generator/wallet/wallet.py | 3 +- 9 files changed, 9177 insertions(+), 7227 deletions(-) diff --git a/generator/cli.py b/generator/cli.py index 7da5373..b23a533 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,22 +1,19 @@ -import click import json +import sys +from typing import List -import generator.common.json_ld as json_ld -import generator.common.const as const - +import click import openstack as os -import sys import yaml +import generator.common.const as const +import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud - -from generator.wallet.wallet import WalletConnector from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet -from typing import List - @click.group() def cli(): @@ -25,11 +22,17 @@ def cli(): @click.command() @click.option( - "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") -@click.option('--config', default='../config/config.yaml', - help='Path to Configuration file for SCS GX Credential Generator.') -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') + "--print-json-ld", + is_flag=True, + help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", +) +@click.option( + "--config", + default="../config/config.yaml", + help="Path to Configuration file for SCS GX Credential Generator.", +) +@click.option("--timeout", default=12, help="Timeout for API calls in seconds") +@click.argument("cloud") def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -40,8 +43,13 @@ def openstack(cloud, timeout, config, print_json_ld): conn.authorize() except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + conn = os.connect( + cloud=cloud, + timeout=timeout, + api_timeout=timeout * 1.5 + 4, + default_domain="default", + project_domain_id="default", + ) conn.authorize() # generate Gaia-X Credentials @@ -58,7 +66,7 @@ def openstack(cloud, timeout, config, print_json_ld): store_creds_in_wallet(wallets, creds) if print_json_ld: props = json_ld.get_json_ld_context() - props['@graph'] = creds + props["@graph"] = creds print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @@ -72,13 +80,19 @@ def init_wallets(config: dict) -> List[WalletConnector]: wallets = list() for wallet in config[const.CONFIG_WALLETS]: if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + wallets.append( + FileSystemWallet( + config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + ) + ) elif wallet == const.CONFIG_XFSC_WALLET: wallets.append(XFSCWallet()) return wallets -def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: +def store_creds_in_wallet( + wallets: List[WalletConnector], creds: List[JsonLdObject] +) -> None: for w in wallets: for c in creds: w.store_credential(c) @@ -87,5 +101,5 @@ def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObje cli.add_command(openstack) cli.add_command(kubernetes) -if __name__ == '__main__': +if __name__ == "__main__": cli() diff --git a/generator/common/const.py b/generator/common/const.py index 9b1afd9..e9095f0 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -46,4 +46,4 @@ CONFIG_OS_UBUNTU = "Ubuntu" CONFIG_OS_WINDOWS = "Microsoft Windows" CONFIG_OS_CIRROS = "CirrOS" -CONFIG_OS_ALMALINUX = "AlmaLinux" \ No newline at end of file +CONFIG_OS_ALMALINUX = "AlmaLinux" diff --git a/generator/common/expections.py b/generator/common/expections.py index 5662b83..ae89ffa 100644 --- a/generator/common/expections.py +++ b/generator/common/expections.py @@ -1,7 +1,9 @@ - class MissingMandatoryAttribute(AttributeError): """ An exception that occurs when an SCS mandatory attributes are missing. """ + def __init__(self, *args, **kwargs): - super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") \ No newline at end of file + super(MissingMandatoryAttribute, self).__init__( + args, "Are you sure this is a SCS compliant cluster." + ) diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index fcd1d2a..ed19582 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -8,21 +8,47 @@ import dataclasses import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions +from typing import Any, ClassVar, Dict, List, Optional, Union -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from jsonasobj2 import JsonObj, as_dict +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) +from linkml_runtime.linkml_model.types import ( + Boolean, + Date, + Datetime, + Float, + Integer, + String, + Uri, +) +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.utils.dataclass_extensions_376 import ( + dataclasses_init_fn_with_kwargs, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.formatutils import camelcase, sfx, underscore +from linkml_runtime.utils.metamodelcore import ( + URI, + Bool, + XSDDate, + XSDDateTime, + bnode, + empty_dict, + empty_list, +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str, +) from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime metamodel_version = "1.7.0" version = None @@ -31,16 +57,17 @@ dataclasses._init_fn = dataclasses_init_fn_with_kwargs # Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +GX = CurieNamespace("gx", "http://w3id.org/gaia-x/gx-trust-framework/") +LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/") +QUDT = CurieNamespace("qudt", "http://qudt.org/vocab/") +SCHEMA = CurieNamespace("schema", "http://schema.org/") +VCARD = CurieNamespace("vcard", "http://www.w3.org/2006/vcard/ns#") DEFAULT_ = GX # Types + # Class references class LocalRegistrationNumberLocal(extended_str): pass @@ -70,6 +97,7 @@ class GaiaX(YAMLRoot): """ Top level element of Gaia-X ecosystem. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaX"] @@ -83,6 +111,7 @@ class Address(YAMLRoot): """ Full address of the entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = VCARD["Address"] @@ -91,7 +120,9 @@ class Address(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + gps: Optional[ + Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]] + ] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -102,7 +133,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + self._normalize_inlined_as_dict( + slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False + ) if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -121,6 +154,7 @@ class GPSLocation(YAMLRoot): """ Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] @@ -158,6 +192,7 @@ class GPSUnit(YAMLRoot): """ Definition of a geographical point. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] @@ -193,6 +228,7 @@ class GaiaXEntity(YAMLRoot): """ Root class for Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] @@ -218,6 +254,7 @@ class Encryption(YAMLRoot): """ Encryption capabilities of a Gaia-X entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Encryption"] @@ -247,6 +284,7 @@ class CheckSum(YAMLRoot): """ Detail on how to calculate or verify a checksum. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CheckSum"] @@ -308,6 +346,7 @@ class Device(YAMLRoot): """ Details with respect to properties and capabilities of a hardware or virtualized device. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Device"] @@ -327,11 +366,17 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.generation is not None and not isinstance(self.generation, str): self.generation = str(self.generation) - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + if self.defaultOversubscriptionRatio is not None and not isinstance( + self.defaultOversubscriptionRatio, int + ): self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + if self.supportedOversubscriptionRatio is not None and not isinstance( + self.supportedOversubscriptionRatio, int + ): + self.supportedOversubscriptionRatio = int( + self.supportedOversubscriptionRatio + ) super().__post_init__(**kwargs) @@ -341,6 +386,7 @@ class CPU(Device): """ Computational processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CPU"] @@ -359,7 +405,9 @@ class CPU(Device): thermalDesignPower: Optional[Union[dict, "Power"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + if self.cpuArchitecture is not None and not isinstance( + self.cpuArchitecture, Architectures + ): self.cpuArchitecture = Architectures(self.cpuArchitecture) if not isinstance(self.cpuFlag, list): @@ -372,19 +420,29 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): self.numberOfCores = int(self.numberOfCores) - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + if self.numberOfThreads is not None and not isinstance( + self.numberOfThreads, int + ): self.numberOfThreads = int(self.numberOfThreads) - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + if self.baseFrequency is not None and not isinstance( + self.baseFrequency, Frequency + ): self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + if self.boostFrequency is not None and not isinstance( + self.boostFrequency, Frequency + ): self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + if self.lastLevelCacheSize is not None and not isinstance( + self.lastLevelCacheSize, MemorySize + ): self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + if self.thermalDesignPower is not None and not isinstance( + self.thermalDesignPower, Power + ): self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) super().__post_init__(**kwargs) @@ -395,6 +453,7 @@ class Disk(Device): """ Capabilities of a physical or virtual hard drive. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Disk"] @@ -426,6 +485,7 @@ class Endpoint(YAMLRoot): """ An endpoint is a mean to access and interact with a service or a resource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Endpoint"] @@ -433,19 +493,28 @@ class Endpoint(YAMLRoot): class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + standardConformity: Union[ + Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]] + ] = None endpointURL: Optional[Union[str, URI]] = None formalDescription: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.standardConformity): self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + self._normalize_inlined_as_dict( + slot_name="standardConformity", + slot_type=StandardConformity, + key_name="title", + keyed=False, + ) if self.endpointURL is not None and not isinstance(self.endpointURL, URI): self.endpointURL = URI(self.endpointURL) - if self.formalDescription is not None and not isinstance(self.formalDescription, str): + if self.formalDescription is not None and not isinstance( + self.formalDescription, str + ): self.formalDescription = str(self.formalDescription) super().__post_init__(**kwargs) @@ -456,6 +525,7 @@ class GPU(Device): """ Graphical processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPU"] @@ -472,13 +542,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + if self.gpuInterconnection is not None and not isinstance( + self.gpuInterconnection, GPUInterconnetionTypes + ): self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + if self.gpuProcessingUnits is not None and not isinstance( + self.gpuProcessingUnits, int + ): self.gpuProcessingUnits = int(self.gpuProcessingUnits) - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + if self.gpuPassthrough is not None and not isinstance( + self.gpuPassthrough, Bool + ): self.gpuPassthrough = Bool(self.gpuPassthrough) super().__post_init__(**kwargs) @@ -489,6 +565,7 @@ class MaintenanceSubscription(YAMLRoot): """ A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] @@ -501,13 +578,19 @@ class MaintenanceSubscription(YAMLRoot): maintainedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + if self.subscriptionIncluded is not None and not isinstance( + self.subscriptionIncluded, Bool + ): self.subscriptionIncluded = Bool(self.subscriptionIncluded) - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + if self.subscriptionRequired is not None and not isinstance( + self.subscriptionRequired, Bool + ): self.subscriptionRequired = Bool(self.subscriptionRequired) - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + if self.maintainedUntil is not None and not isinstance( + self.maintainedUntil, XSDDate + ): self.maintainedUntil = XSDDate(self.maintainedUntil) super().__post_init__(**kwargs) @@ -522,6 +605,7 @@ class UpdateStrategy(YAMLRoot): referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] @@ -535,13 +619,17 @@ class UpdateStrategy(YAMLRoot): providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + if self.replaceFrequency is not None and not isinstance( + self.replaceFrequency, UpdateFrequency + ): self.replaceFrequency = UpdateFrequency(self.replaceFrequency) if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): self.hotfixHours = int(self.hotfixHours) - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + if self.oldVersionsValidUntil is not None and not isinstance( + self.oldVersionsValidUntil, str + ): self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) if self.providedUntil is not None and not isinstance(self.providedUntil, str): @@ -555,6 +643,7 @@ class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LatestN"] @@ -575,6 +664,7 @@ class InstantiationRequirement(YAMLRoot): """ A container class to gather all requirements for compute service offering instantiations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] @@ -588,6 +678,7 @@ class Issuer(YAMLRoot): """ An issuer of W3C Verifiable Credentials and Verifiable Presentations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Issuer"] @@ -601,7 +692,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.issuerTermsAndConditions): self.MissingRequiredField("issuerTermsAndConditions") if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + self.issuerTermsAndConditions = GaiaXTermsAndConditions( + self.issuerTermsAndConditions + ) super().__post_init__(**kwargs) @@ -611,6 +704,7 @@ class RegistrationNumber(YAMLRoot): Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] @@ -724,6 +818,7 @@ class Memory(Device): """ Details with respect to properties and capabilities of RAM. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Memory"] @@ -743,7 +838,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.memorySize, MemorySize): self.memorySize = MemorySize(**as_dict(self.memorySize)) - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + if self.memoryClass is not None and not isinstance( + self.memoryClass, MemoryClasses + ): self.memoryClass = MemoryClasses(self.memoryClass) if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): @@ -752,7 +849,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): self.eccEnabled = Bool(self.eccEnabled) - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + if self.hardwareEncryption is not None and not isinstance( + self.hardwareEncryption, Bool + ): self.hardwareEncryption = Bool(self.hardwareEncryption) super().__post_init__(**kwargs) @@ -763,6 +862,7 @@ class Quantity(YAMLRoot): """ Abstract parent class for all physical quantities, such as frequency, power or length. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] @@ -792,6 +892,7 @@ class Frequency(Quantity): """ Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] @@ -802,11 +903,13 @@ class Frequency(Quantity): value: float = None unit: str = None + @dataclass class MemorySize(Quantity): """ The number of bits, that can be stored on a digital storage. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MemorySize"] @@ -817,11 +920,13 @@ class MemorySize(Quantity): value: float = None unit: str = None + @dataclass class Power(Quantity): """ Definition of 'Power', according to http://qudt.org/quantitykind/Power. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] @@ -832,10 +937,12 @@ class Power(Quantity): value: float = None unit: str = None + class Participant(GaiaXEntity): """ An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Participant"] @@ -849,6 +956,7 @@ class LegalPerson(Participant): """ A legal person, who is uniquely identified by its registration number. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] @@ -856,18 +964,38 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + parentOrganizationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + subOrganisationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.registrationNumber): self.MissingRequiredField("registrationNumber") if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + self.registrationNumber = ( + [self.registrationNumber] if self.registrationNumber is not None else [] + ) + self.registrationNumber = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.registrationNumber + ] if self._is_empty(self.legalAddress): self.MissingRequiredField("legalAddress") @@ -880,12 +1008,28 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + self.parentOrganizationOf = ( + [self.parentOrganizationOf] + if self.parentOrganizationOf is not None + else [] + ) + self.parentOrganizationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.parentOrganizationOf + ] if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + self.subOrganisationOf = ( + [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + ) + self.subOrganisationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.subOrganisationOf + ] super().__post_init__(**kwargs) @@ -896,6 +1040,7 @@ class Resource(GaiaXEntity): Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Resource"] @@ -907,8 +1052,14 @@ class Resource(GaiaXEntity): def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] super().__post_init__(**kwargs) @@ -919,6 +1070,7 @@ class VirtualResource(Resource): It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] @@ -934,8 +1086,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.copyrightOwnedBy): self.MissingRequiredField("copyrightOwnedBy") if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + self.copyrightOwnedBy = ( + [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + ) + self.copyrightOwnedBy = [ + v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy + ] if self._is_empty(self.license): self.MissingRequiredField("license") @@ -946,8 +1102,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.resourcePolicy): self.MissingRequiredField("resourcePolicy") if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + self.resourcePolicy = ( + [self.resourcePolicy] if self.resourcePolicy is not None else [] + ) + self.resourcePolicy = [ + v if isinstance(v, str) else str(v) for v in self.resourcePolicy + ] super().__post_init__(**kwargs) @@ -958,6 +1118,7 @@ class PhysicalResource(Resource): A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] @@ -965,29 +1126,63 @@ class PhysicalResource(Resource): class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + maintainedBy: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + ownedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + manufacturedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.maintainedBy): self.MissingRequiredField("maintainedBy") if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + self.maintainedBy = ( + [self.maintainedBy] if self.maintainedBy is not None else [] + ) + self.maintainedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.maintainedBy + ] if self._is_empty(self.location): self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + self._normalize_inlined_as_dict( + slot_name="location", slot_type=Address, key_name="countryCode", keyed=False + ) if not isinstance(self.ownedBy, list): self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + self.ownedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.ownedBy + ] if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + self.manufacturedBy = ( + [self.manufacturedBy] if self.manufacturedBy is not None else [] + ) + self.manufacturedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.manufacturedBy + ] super().__post_init__(**kwargs) @@ -997,6 +1192,7 @@ class SoftwareResource(VirtualResource): """ A Gaia-X Virtual Resource describing an executable program. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] @@ -1037,6 +1233,7 @@ class CodeArtifact(SoftwareResource): """ A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] @@ -1048,12 +1245,14 @@ class CodeArtifact(SoftwareResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None + @dataclass class Image(CodeArtifact): """ A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Image"] @@ -1084,7 +1283,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): self.fileSize = MemorySize(**as_dict(self.fileSize)) - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + if self.operatingSystem is not None and not isinstance( + self.operatingSystem, OperatingSystem + ): self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): @@ -1096,7 +1297,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.ramReq is not None and not isinstance(self.ramReq, Memory): self.ramReq = Memory(**as_dict(self.ramReq)) - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + if self.videoRamSize is not None and not isinstance( + self.videoRamSize, MemorySize + ): self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): @@ -1117,13 +1320,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): self.multiQueues = Bool(self.multiQueues) - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + if self.updateStrategy is not None and not isinstance( + self.updateStrategy, UpdateStrategy + ): self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + if self.licenseIncluded is not None and not isinstance( + self.licenseIncluded, Bool + ): self.licenseIncluded = Bool(self.licenseIncluded) - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + if self.maintenance is not None and not isinstance( + self.maintenance, MaintenanceSubscription + ): self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) super().__post_init__(**kwargs) @@ -1134,6 +1343,7 @@ class PXEImage(Image): """ PXE image for physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PXEImage"] @@ -1147,7 +1357,9 @@ class PXEImage(Image): pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + if self.pxeImageDiskFormat is not None and not isinstance( + self.pxeImageDiskFormat, PXEDiskType + ): self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) super().__post_init__(**kwargs) @@ -1158,6 +1370,7 @@ class OperatingSystem(SoftwareResource): """ A special Gaia-X Software Resource describing an operating system. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] @@ -1184,6 +1397,7 @@ class Hypervisor(SoftwareResource): """ A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] @@ -1210,6 +1424,7 @@ class ServiceOffering(GaiaXEntity): """ A digital service available for order. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] @@ -1218,12 +1433,21 @@ class ServiceOffering(GaiaXEntity): class_model_uri: ClassVar[URIRef] = GX.ServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" dependsOn: Optional[Union[str, List[str]]] = empty_list() aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + dataProtectionRegime: Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None @@ -1237,35 +1461,66 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.serviceOfferingTermsAndConditions): self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + self._normalize_inlined_as_dict( + slot_name="serviceOfferingTermsAndConditions", + slot_type=TermsAndConditions, + key_name="url", + keyed=False, + ) if self._is_empty(self.servicePolicy): self.MissingRequiredField("servicePolicy") if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + self.servicePolicy = ( + [self.servicePolicy] if self.servicePolicy is not None else [] + ) + self.servicePolicy = [ + v if isinstance(v, str) else str(v) for v in self.servicePolicy + ] if self._is_empty(self.dataAccountExport): self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + self._normalize_inlined_as_dict( + slot_name="dataAccountExport", + slot_type=DataAccountExport, + key_name="requestType", + keyed=False, + ) if not isinstance(self.dependsOn, list): self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + self.dataProtectionRegime = ( + [self.dataProtectionRegime] + if self.dataProtectionRegime is not None + else [] + ) + self.dataProtectionRegime = [ + v + if isinstance(v, PersonalDataProtectionRegime) + else PersonalDataProtectionRegime(v) + for v in self.dataProtectionRegime + ] if not isinstance(self.keyword, list): self.keyword = [self.keyword] if self.keyword is not None else [] self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + if self.provisionType is not None and not isinstance( + self.provisionType, ProvisionTypes + ): self.provisionType = ProvisionTypes(self.provisionType) if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): @@ -1283,6 +1538,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ A digital service available for order and offering computational, storage and/pr network capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] @@ -1291,15 +1547,21 @@ class InfrastructureServiceOffering(ServiceOffering): class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" + @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] @@ -1308,13 +1570,19 @@ class ComputeServiceOffering(InfrastructureServiceOffering): class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + if self.tenantSeparation is not None and not isinstance( + self.tenantSeparation, TenantSeparation + ): self.tenantSeparation = TenantSeparation(self.tenantSeparation) super().__post_init__(**kwargs) @@ -1325,6 +1593,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] @@ -1333,20 +1602,36 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + instantiationReq: Union[ + Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + self._normalize_inlined_as_dict( + slot_name="codeArtifact", + slot_type=VMImage, + key_name="copyrightOwnedBy", + keyed=False, + ) if self._is_empty(self.instantiationReq): self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + self._normalize_inlined_as_dict( + slot_name="instantiationReq", + slot_type=ServerFlavor, + key_name="cpu", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1356,6 +1641,7 @@ class TermsAndConditions(YAMLRoot): """ Terms and Conditions applying to a service offering. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] @@ -1385,6 +1671,7 @@ class DataAccountExport(YAMLRoot): """ List of methods to export data from your account out of the service. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] @@ -1420,6 +1707,7 @@ class StandardConformity(YAMLRoot): """ Details about standard applied to Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] @@ -1453,6 +1741,7 @@ class DataResource(VirtualResource): """ A dataset exposed through a service instance. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataResource"] @@ -1464,12 +1753,18 @@ class DataResource(VirtualResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + exposedThrough: Union[ + Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]] + ] = None containsPII: Union[bool, Bool] = None obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + dataController: Optional[ + Union[Union[dict, Participant], List[Union[dict, Participant]]] + ] = empty_list() + consent: Optional[ + Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.producedBy): @@ -1480,25 +1775,43 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.exposedThrough): self.MissingRequiredField("exposedThrough") if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + self.exposedThrough = ( + [self.exposedThrough] if self.exposedThrough is not None else [] + ) + self.exposedThrough = [ + v + if isinstance(v, DataExchangeComponent) + else DataExchangeComponent(**as_dict(v)) + for v in self.exposedThrough + ] if self._is_empty(self.containsPII): self.MissingRequiredField("containsPII") if not isinstance(self.containsPII, Bool): self.containsPII = Bool(self.containsPII) - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + if self.obsoleteDateTime is not None and not isinstance( + self.obsoleteDateTime, XSDDateTime + ): self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + if self.expirationDateTime is not None and not isinstance( + self.expirationDateTime, XSDDateTime + ): self.expirationDateTime = XSDDateTime(self.expirationDateTime) if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + self.dataController = ( + [self.dataController] if self.dataController is not None else [] + ) + self.dataController = [ + v if isinstance(v, Participant) else Participant(**as_dict(v)) + for v in self.dataController + ] + + self._normalize_inlined_as_dict( + slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False + ) super().__post_init__(**kwargs) @@ -1508,6 +1821,7 @@ class Consent(YAMLRoot): """ Information on the legitimate processing of information related to PII. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Consent"] @@ -1529,8 +1843,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.dataProtectionContactPoint): self.MissingRequiredField("dataProtectionContactPoint") if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + self.dataProtectionContactPoint = ( + [self.dataProtectionContactPoint] + if self.dataProtectionContactPoint is not None + else [] + ) + self.dataProtectionContactPoint = [ + v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint + ] if self._is_empty(self.purpose): self.MissingRequiredField("purpose") @@ -1541,8 +1861,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.consentWithdrawalContactPoint): self.MissingRequiredField("consentWithdrawalContactPoint") if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + self.consentWithdrawalContactPoint = ( + [self.consentWithdrawalContactPoint] + if self.consentWithdrawalContactPoint is not None + else [] + ) + self.consentWithdrawalContactPoint = [ + v if isinstance(v, str) else str(v) + for v in self.consentWithdrawalContactPoint + ] super().__post_init__(**kwargs) @@ -1551,6 +1878,7 @@ class DataExchangeComponent(YAMLRoot): """ A service/resource used to make a data resource available. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] @@ -1564,6 +1892,7 @@ class VMImage(Image): """ Image for virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VMImage"] @@ -1581,19 +1910,29 @@ class VMImage(Image): watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + if self.vmImageDiskFormat is not None and not isinstance( + self.vmImageDiskFormat, VMDiskType + ): self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + if self.hypervisorType is not None and not isinstance( + self.hypervisorType, HypervisorType + ): self.hypervisorType = HypervisorType(self.hypervisorType) - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + if self.firmwareType is not None and not isinstance( + self.firmwareType, FirmType + ): self.firmwareType = FirmType(self.firmwareType) - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + if self.hwRngTypeOfImage is not None and not isinstance( + self.hwRngTypeOfImage, RNGTypes + ): self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + if self.watchDogAction is not None and not isinstance( + self.watchDogAction, WatchDogActions + ): self.watchDogAction = WatchDogActions(self.watchDogAction) super().__post_init__(**kwargs) @@ -1605,6 +1944,7 @@ class ServerFlavor(YAMLRoot): Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] @@ -1617,7 +1957,9 @@ class ServerFlavor(YAMLRoot): bootVolume: Union[dict, Disk] = None gpu: Optional[Union[dict, GPU]] = None network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + additionalVolume: Optional[ + Union[Union[dict, Disk], List[Union[dict, Disk]]] + ] = empty_list() confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None hypervisor: Optional[Union[dict, SoftwareResource]] = None hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False @@ -1645,18 +1987,35 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.network is not None and not isinstance(self.network, str): self.network = str(self.network) - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self._normalize_inlined_as_dict( + slot_name="additionalVolume", + slot_type=Disk, + key_name="diskSize", + keyed=False, + ) + + if self.confidentialComputing is not None and not isinstance( + self.confidentialComputing, ConfidentialComputing + ): + self.confidentialComputing = ConfidentialComputing( + **as_dict(self.confidentialComputing) + ) + + if self.hypervisor is not None and not isinstance( + self.hypervisor, SoftwareResource + ): self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + if self.hardwareAssistedVirtualization is not None and not isinstance( + self.hardwareAssistedVirtualization, Bool + ): + self.hardwareAssistedVirtualization = Bool( + self.hardwareAssistedVirtualization + ) - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + if self.hwRngTypeOfFlavor is not None and not isinstance( + self.hwRngTypeOfFlavor, RNGTypes + ): self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) super().__post_init__(**kwargs) @@ -1680,7 +2039,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.technology, str): self.technology = str(self.technology) - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + if self.attestationServiceURI is not None and not isinstance( + self.attestationServiceURI, URI + ): self.attestationServiceURI = URI(self.attestationServiceURI) super().__post_init__(**kwargs) @@ -1688,751 +2049,343 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): # Enumerations class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") + AF = PermissibleValue(text="AF", description="Alpha2 code for Afghanistan.") + EG = PermissibleValue(text="EG", description="Alpha2 code for Egypt.") + AX = PermissibleValue(text="AX", description="Alpha2 code for Aland Islands.") + AL = PermissibleValue(text="AL", description="Alpha2 code for Albania.") + DZ = PermissibleValue(text="DZ", description="Alpha2 code for Algeria.") VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") + text="VI", description="Alpha2 code for Virgin Islands (U.S.)." + ) UM = PermissibleValue( text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") + description="Alpha2 code for United States Minor Outlying Islands (the).", + ) + AS = PermissibleValue(text="AS", description="Alpha2 code for American Samoa.") + AD = PermissibleValue(text="AD", description="Alpha2 code for Andorra.") + AO = PermissibleValue(text="AO", description="Alpha2 code for Angola.") + AI = PermissibleValue(text="AI", description="Alpha2 code for Anguilla.") + AQ = PermissibleValue(text="AQ", description="Alpha2 code for Antarctica.") + AG = PermissibleValue(text="AG", description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue(text="GQ", description="Alpha2 code for Equatorial Guinea.") SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") + text="SY", description="Alpha2 code for Syrian Arab Republic." + ) + AR = PermissibleValue(text="AR", description="Alpha2 code for Argentina.") + AM = PermissibleValue(text="AM", description="Alpha2 code for Armenia.") + AW = PermissibleValue(text="AW", description="Alpha2 code for Aruba.") + AZ = PermissibleValue(text="AZ", description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue(text="ET", description="Alpha2 code for Ethiopia.") + AU = PermissibleValue(text="AU", description="Alpha2 code for Australia.") + BS = PermissibleValue(text="BS", description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue(text="BH", description="Alpha2 code for Bahrain.") + BD = PermissibleValue(text="BD", description="Alpha2 code for Bangladesh.") + BB = PermissibleValue(text="BB", description="Alpha2 code for Barbados.") + BE = PermissibleValue(text="BE", description="Alpha2 code for Belgium.") + BZ = PermissibleValue(text="BZ", description="Alpha2 code for Belize.") + BJ = PermissibleValue(text="BJ", description="Alpha2 code for Benin.") + BM = PermissibleValue(text="BM", description="Alpha2 code for Bermuda.") + BT = PermissibleValue(text="BT", description="Alpha2 code for Bhutan.") VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") + text="VE", description="Alpha2 code for Venezuela (Bolivarian Republic of)." + ) BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + text="BQ", description="Alpha2 code for Bonaire, Sint Eustatius and Saba." + ) BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") + text="BA", description="Alpha2 code for Bosnia and Herzegovina." + ) + BW = PermissibleValue(text="BW", description="Alpha2 code for Botswana.") + BV = PermissibleValue(text="BV", description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue(text="BR", description="Alpha2 code for Brazil.") VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") + text="VG", description="Alpha2 code for Virgin Islands (British)." + ) IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") + text="IO", description="Alpha2 code for British Indian Ocean Territory (the)." + ) + BN = PermissibleValue(text="BN", description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue(text="BG", description="Alpha2 code for Bulgaria.") + BF = PermissibleValue(text="BF", description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue(text="BI", description="Alpha2 code for Burundi.") + CV = PermissibleValue(text="CV", description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue(text="CL", description="Alpha2 code for Chile.") + CN = PermissibleValue(text="CN", description="Alpha2 code for China.") + CK = PermissibleValue(text="CK", description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue(text="CR", description="Alpha2 code for Costa Rica.") + CI = PermissibleValue(text="CI", description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue(text="CW", description="Alpha2 code for Curacao.") + DK = PermissibleValue(text="DK", description="Alpha2 code for Denmark.") CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") + text="CD", description="Alpha2 code for Congo (the Democratic Republic of the)." + ) KP = PermissibleValue( text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + description="Alpha2 code for Korea (the Democratic Peoples Republic of).", + ) LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") + text="LA", description="Alpha2 code for Lao Peoples Democratic Republic (the)." + ) + DE = PermissibleValue(text="DE", description="Alpha2 code for Germany.") + DM = PermissibleValue(text="DM", description="Alpha2 code for Dominica.") DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") + text="DO", description="Alpha2 code for Dominican Republic (the)." + ) + DJ = PermissibleValue(text="DJ", description="Alpha2 code for Djibouti.") + EC = PermissibleValue(text="EC", description="Alpha2 code for Ecuador.") MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") + text="MK", description="Alpha2 code for Republic of North Macedonia." + ) + SV = PermissibleValue(text="SV", description="Alpha2 code for El Salvador.") + ER = PermissibleValue(text="ER", description="Alpha2 code for Eritrea.") + EE = PermissibleValue(text="EE", description="Alpha2 code for Estonia.") FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") + text="FK", description="Alpha2 code for Falkland Islands (the) [Malvinas]." + ) + FO = PermissibleValue(text="FO", description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue(text="FJ", description="Alpha2 code for Fiji.") + FI = PermissibleValue(text="FI", description="Alpha2 code for Finland.") FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") + text="FM", description="Alpha2 code for Micronesia (Federated States of)." + ) + FR = PermissibleValue(text="FR", description="Alpha2 code for France.") TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") + text="TF", description="Alpha2 code for French Southern Territories (the)." + ) + GF = PermissibleValue(text="GF", description="Alpha2 code for French Guiana.") + PF = PermissibleValue(text="PF", description="Alpha2 code for French Polynesia.") + GA = PermissibleValue(text="GA", description="Alpha2 code for Gabon.") + GM = PermissibleValue(text="GM", description="Alpha2 code for Gambia (the).") + GE = PermissibleValue(text="GE", description="Alpha2 code for Georgia.") + GH = PermissibleValue(text="GH", description="Alpha2 code for Ghana.") + GI = PermissibleValue(text="GI", description="Alpha2 code for Gibraltar.") + GD = PermissibleValue(text="GD", description="Alpha2 code for Grenada.") + GR = PermissibleValue(text="GR", description="Alpha2 code for Greece.") + GL = PermissibleValue(text="GL", description="Alpha2 code for Greenland.") + GP = PermissibleValue(text="GP", description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue(text="GU", description="Alpha2 code for Guam.") + GT = PermissibleValue(text="GT", description="Alpha2 code for Guatemala.") + GG = PermissibleValue(text="GG", description="Alpha2 code for Guernsey.") + GN = PermissibleValue(text="GN", description="Alpha2 code for Guinea.") + GW = PermissibleValue(text="GW", description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue(text="GY", description="Alpha2 code for Guyana.") + HT = PermissibleValue(text="HT", description="Alpha2 code for Haiti.") HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") + text="HM", description="Alpha2 code for Heard Island and McDonald Islands." + ) + HN = PermissibleValue(text="HN", description="Alpha2 code for Honduras.") + HK = PermissibleValue(text="HK", description="Alpha2 code for Hong Kong.") + IN = PermissibleValue(text="IN", description="Alpha2 code for India.") + ID = PermissibleValue(text="ID", description="Alpha2 code for Indonesia.") + IM = PermissibleValue(text="IM", description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue(text="IQ", description="Alpha2 code for Iraq.") + IE = PermissibleValue(text="IE", description="Alpha2 code for Ireland.") IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") + text="IR", description="Alpha2 code for Iran (Islamic Republic of)." + ) + IS = PermissibleValue(text="IS", description="Alpha2 code for Iceland.") + IL = PermissibleValue(text="IL", description="Alpha2 code for Israel.") + IT = PermissibleValue(text="IT", description="Alpha2 code for Italy.") + JM = PermissibleValue(text="JM", description="Alpha2 code for Jamaica.") + JP = PermissibleValue(text="JP", description="Alpha2 code for Japan.") + YE = PermissibleValue(text="YE", description="Alpha2 code for Yemen.") + JE = PermissibleValue(text="JE", description="Alpha2 code for Jersey.") + JO = PermissibleValue(text="JO", description="Alpha2 code for Jordan.") KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") + text="KY", description="Alpha2 code for Cayman Islands (the)." + ) + KH = PermissibleValue(text="KH", description="Alpha2 code for Cambodia.") + CM = PermissibleValue(text="CM", description="Alpha2 code for Cameroon.") + CA = PermissibleValue(text="CA", description="Alpha2 code for Canada.") + KZ = PermissibleValue(text="KZ", description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue(text="QA", description="Alpha2 code for Qatar.") + KE = PermissibleValue(text="KE", description="Alpha2 code for Kenya.") + KG = PermissibleValue(text="KG", description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue(text="KI", description="Alpha2 code for Kiribati.") CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") + text="CC", description="Alpha2 code for Cocos (Keeling) Islands (the)." + ) + CO = PermissibleValue(text="CO", description="Alpha2 code for Colombia.") + KM = PermissibleValue(text="KM", description="Alpha2 code for Comoros (the).") + CG = PermissibleValue(text="CG", description="Alpha2 code for Congo (the).") + HR = PermissibleValue(text="HR", description="Alpha2 code for Croatia.") + CU = PermissibleValue(text="CU", description="Alpha2 code for Cuba.") + KW = PermissibleValue(text="KW", description="Alpha2 code for Kuwait.") + LS = PermissibleValue(text="LS", description="Alpha2 code for Lesotho.") + LV = PermissibleValue(text="LV", description="Alpha2 code for Latvia.") + LB = PermissibleValue(text="LB", description="Alpha2 code for Lebanon.") + LR = PermissibleValue(text="LR", description="Alpha2 code for Liberia.") + LY = PermissibleValue(text="LY", description="Alpha2 code for Libya.") + LI = PermissibleValue(text="LI", description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue(text="LT", description="Alpha2 code for Lithuania.") + LU = PermissibleValue(text="LU", description="Alpha2 code for Luxembourg.") + MO = PermissibleValue(text="MO", description="Alpha2 code for Macao.") + MG = PermissibleValue(text="MG", description="Alpha2 code for Madagascar.") + MW = PermissibleValue(text="MW", description="Alpha2 code for Malawi.") + MY = PermissibleValue(text="MY", description="Alpha2 code for Malaysia.") + MV = PermissibleValue(text="MV", description="Alpha2 code for Maldives.") + ML = PermissibleValue(text="ML", description="Alpha2 code for Mali.") + MT = PermissibleValue(text="MT", description="Alpha2 code for Malta.") MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") + text="MP", description="Alpha2 code for Northern Mariana Islands (the)." + ) + MA = PermissibleValue(text="MA", description="Alpha2 code for Morocco.") MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") + text="MH", description="Alpha2 code for Marshall Islands (the)." + ) + MQ = PermissibleValue(text="MQ", description="Alpha2 code for Martinique.") + MR = PermissibleValue(text="MR", description="Alpha2 code for Mauritania.") + MU = PermissibleValue(text="MU", description="Alpha2 code for Mauritius.") + YT = PermissibleValue(text="YT", description="Alpha2 code for Mayotte.") + MX = PermissibleValue(text="MX", description="Alpha2 code for Mexico.") + MC = PermissibleValue(text="MC", description="Alpha2 code for Monaco.") + MN = PermissibleValue(text="MN", description="Alpha2 code for Mongolia.") + MS = PermissibleValue(text="MS", description="Alpha2 code for Montserrat.") + ME = PermissibleValue(text="ME", description="Alpha2 code for Montenegro.") + MZ = PermissibleValue(text="MZ", description="Alpha2 code for Mozambique.") + MM = PermissibleValue(text="MM", description="Alpha2 code for Myanmar.") + NA = PermissibleValue(text="NA", description="Alpha2 code for Namibia.") + NR = PermissibleValue(text="NR", description="Alpha2 code for Nauru.") + NP = PermissibleValue(text="NP", description="Alpha2 code for Nepal.") + NC = PermissibleValue(text="NC", description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue(text="NZ", description="Alpha2 code for New Zealand.") + NI = PermissibleValue(text="NI", description="Alpha2 code for Nicaragua.") + NL = PermissibleValue(text="NL", description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue(text="NE", description="Alpha2 code for Niger (the).") + NG = PermissibleValue(text="NG", description="Alpha2 code for Nigeria.") + NU = PermissibleValue(text="NU", description="Alpha2 code for Niue.") + NF = PermissibleValue(text="NF", description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue(text="OM", description="Alpha2 code for Oman.") + AT = PermissibleValue(text="AT", description="Alpha2 code for Austria.") + PK = PermissibleValue(text="PK", description="Alpha2 code for Pakistan.") + PW = PermissibleValue(text="PW", description="Alpha2 code for Palau.") + PS = PermissibleValue(text="PS", description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue(text="PA", description="Alpha2 code for Panama.") + PG = PermissibleValue(text="PG", description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue(text="PY", description="Alpha2 code for Paraguay.") + PE = PermissibleValue(text="PE", description="Alpha2 code for Peru.") + PH = PermissibleValue(text="PH", description="Alpha2 code for Philippines (the).") + PN = PermissibleValue(text="PN", description="Alpha2 code for Pitcairn.") BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") + text="BO", description="Alpha2 code for Bolivia (Plurinational State of)." + ) + PL = PermissibleValue(text="PL", description="Alpha2 code for Poland.") + PT = PermissibleValue(text="PT", description="Alpha2 code for Portugal.") + PR = PermissibleValue(text="PR", description="Alpha2 code for Puerto Rico.") KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") + text="KR", description="Alpha2 code for Korea (the Republic of)." + ) MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") + text="MD", description="Alpha2 code for Moldova (the Republic of)." + ) + RE = PermissibleValue(text="RE", description="Alpha2 code for Reunion.") + RW = PermissibleValue(text="RW", description="Alpha2 code for Rwanda.") + RO = PermissibleValue(text="RO", description="Alpha2 code for Romania.") RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") + text="RU", description="Alpha2 code for Russian Federation (the)." + ) + SB = PermissibleValue(text="SB", description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue(text="ZM", description="Alpha2 code for Zambia.") + WS = PermissibleValue(text="WS", description="Alpha2 code for Samoa.") + SM = PermissibleValue(text="SM", description="Alpha2 code for San Marino.") ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") + text="ST", description="Alpha2 code for Sao Tome and Principe." + ) + SA = PermissibleValue(text="SA", description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue(text="SE", description="Alpha2 code for Sweden.") + CH = PermissibleValue(text="CH", description="Alpha2 code for Switzerland.") + SN = PermissibleValue(text="SN", description="Alpha2 code for Senegal.") + RS = PermissibleValue(text="RS", description="Alpha2 code for Serbia.") + SC = PermissibleValue(text="SC", description="Alpha2 code for Seychelles.") + SL = PermissibleValue(text="SL", description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue(text="ZW", description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue(text="SG", description="Alpha2 code for Singapore.") + SK = PermissibleValue(text="SK", description="Alpha2 code for Slovakia.") + SI = PermissibleValue(text="SI", description="Alpha2 code for Slovenia.") + SO = PermissibleValue(text="SO", description="Alpha2 code for Somalia.") + ES = PermissibleValue(text="ES", description="Alpha2 code for Spain.") + LK = PermissibleValue(text="LK", description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue(text="BL", description="Alpha2 code for Saint Barthelemy.") SH = PermissibleValue( text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") + text="KN", description="Alpha2 code for Saint Kitts and Nevis." + ) + LC = PermissibleValue(text="LC", description="Alpha2 code for Saint Lucia.") MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") + text="MF", description="Alpha2 code for Saint Martin (French part)." + ) SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") + text="SX", description="Alpha2 code for Sint Maarten (Dutch part)." + ) PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") + text="PM", description="Alpha2 code for Saint Pierre and Miquelon." + ) VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") + text="VC", description="Alpha2 code for Saint Vincent and the Grenadines." + ) + ZA = PermissibleValue(text="ZA", description="Alpha2 code for South Africa.") + SD = PermissibleValue(text="SD", description="Alpha2 code for Sudan (the).") GS = PermissibleValue( text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") + description="Alpha2 code for South Georgia and the South Sandwich Islands.", + ) + SS = PermissibleValue(text="SS", description="Alpha2 code for South Sudan.") + SR = PermissibleValue(text="SR", description="Alpha2 code for Suriname.") SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") + text="SJ", description="Alpha2 code for Svalbard and Jan Mayen." + ) + SZ = PermissibleValue(text="SZ", description="Alpha2 code for Eswatini.") + TJ = PermissibleValue(text="TJ", description="Alpha2 code for Tajikistan.") TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") + text="TW", description="Alpha2 code for Taiwan (Province of China)." + ) + TH = PermissibleValue(text="TH", description="Alpha2 code for Thailand.") + TL = PermissibleValue(text="TL", description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue(text="TG", description="Alpha2 code for Togo.") + TK = PermissibleValue(text="TK", description="Alpha2 code for Tokelau.") + TO = PermissibleValue(text="TO", description="Alpha2 code for Tonga.") + TT = PermissibleValue(text="TT", description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue(text="TD", description="Alpha2 code for Chad.") + CZ = PermissibleValue(text="CZ", description="Alpha2 code for Czechia.") + TN = PermissibleValue(text="TN", description="Alpha2 code for Tunisia.") + TR = PermissibleValue(text="TR", description="Alpha2 code for Turkey.") + TM = PermissibleValue(text="TM", description="Alpha2 code for Turkmenistan.") TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") + text="TC", description="Alpha2 code for Turks and Caicos Islands (the)." + ) + TV = PermissibleValue(text="TV", description="Alpha2 code for Tuvalu.") + UG = PermissibleValue(text="UG", description="Alpha2 code for Uganda.") + UA = PermissibleValue(text="UA", description="Alpha2 code for Ukraine.") + HU = PermissibleValue(text="HU", description="Alpha2 code for Hungary.") + UY = PermissibleValue(text="UY", description="Alpha2 code for Uruguay.") + UZ = PermissibleValue(text="UZ", description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue(text="VU", description="Alpha2 code for Vanuatu.") + VA = PermissibleValue(text="VA", description="Alpha2 code for Holy See (the).") AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") + text="AE", description="Alpha2 code for United Arab Emirates (the)." + ) TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") + text="TZ", description="Alpha2 code for Tanzania, United Republic of." + ) US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") + text="US", description="Alpha2 code for United States of America (the)." + ) GB = PermissibleValue( text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) + VN = PermissibleValue(text="VN", description="Alpha2 code for Viet Nam.") + WF = PermissibleValue(text="WF", description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue(text="CX", description="Alpha2 code for Christmas Island.") + BY = PermissibleValue(text="BY", description="Alpha2 code for Belarus.") + EH = PermissibleValue(text="EH", description="Alpha2 code for Western Sahara.") CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") + text="CF", description="Alpha2 code for Central African Republic (the)." + ) + CY = PermissibleValue(text="CY", description="Alpha2 code for Cyprus.") _defn = EnumDefinition( name="CountryNameAlpha2", @@ -2440,1801 +2393,1781 @@ class CountryNameAlpha2(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) + setattr( + cls, + "False", + PermissibleValue(text="False", description="Alpha2 code for Norway."), + ) -class CountryNameAlpha3(EnumDefinitionImpl): - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") +class CountryNameAlpha3(EnumDefinitionImpl): + AFG = PermissibleValue(text="AFG", description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue(text="ALA", description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue(text="ALB", description="Alpha3 code for Albania.") + DZA = PermissibleValue(text="DZA", description="Alpha3 code for Algeria.") + ASM = PermissibleValue(text="ASM", description="Alpha3 code for American Samoa.") + AND = PermissibleValue(text="AND", description="Alpha3 code for Andorra.") + AGO = PermissibleValue(text="AGO", description="Alpha3 code for Angola.") + AIA = PermissibleValue(text="AIA", description="Alpha3 code for Anguilla.") + ATA = PermissibleValue(text="ATA", description="Alpha3 code for Antarctica.") ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") + text="ATG", description="Alpha3 code for Antigua and Barbuda." + ) + ARG = PermissibleValue(text="ARG", description="Alpha3 code for Argentina.") + ARM = PermissibleValue(text="ARM", description="Alpha3 code for Armenia.") + ABW = PermissibleValue(text="ABW", description="Alpha3 code for Aruba.") + AUS = PermissibleValue(text="AUS", description="Alpha3 code for Australia.") + AUT = PermissibleValue(text="AUT", description="Alpha3 code for Austria.") + AZE = PermissibleValue(text="AZE", description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue(text="BHS", description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue(text="BHR", description="Alpha3 code for Bahrain.") + BGD = PermissibleValue(text="BGD", description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue(text="BRB", description="Alpha3 code for Barbados.") + BLR = PermissibleValue(text="BLR", description="Alpha3 code for Belarus.") + BEL = PermissibleValue(text="BEL", description="Alpha3 code for Belgium.") + BLZ = PermissibleValue(text="BLZ", description="Alpha3 code for Belize.") + BEN = PermissibleValue(text="BEN", description="Alpha3 code for Benin.") + BMU = PermissibleValue(text="BMU", description="Alpha3 code for Bermuda.") + BTN = PermissibleValue(text="BTN", description="Alpha3 code for Bhutan.") BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") + text="BOL", description="Alpha3 code for Bolivia (Plurinational State of)." + ) BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + text="BES", description="Alpha3 code for Bonaire, Sint Eustatius and Saba." + ) BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") + text="BIH", description="Alpha3 code for Bosnia and Herzegovina." + ) + BWA = PermissibleValue(text="BWA", description="Alpha3 code for Botswana.") + BVT = PermissibleValue(text="BVT", description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue(text="BRA", description="Alpha3 code for Brazil.") IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") + text="IOT", description="Alpha3 code for British Indian Ocean Territory (the)." + ) + BRN = PermissibleValue(text="BRN", description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue(text="BGR", description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue(text="BFA", description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue(text="BDI", description="Alpha3 code for Burundi.") + KHM = PermissibleValue(text="KHM", description="Alpha3 code for Cambodia.") + CMR = PermissibleValue(text="CMR", description="Alpha3 code for Cameroon.") + CAN = PermissibleValue(text="CAN", description="Alpha3 code for Canada.") + CPV = PermissibleValue(text="CPV", description="Alpha3 code for Cabo Verde.") CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") + text="CYM", description="Alpha3 code for Cayman Islands (the)." + ) CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") + text="CAF", description="Alpha3 code for Central African Republic (the)." + ) + TCD = PermissibleValue(text="TCD", description="Alpha3 code for Chad.") + CHL = PermissibleValue(text="CHL", description="Alpha3 code for Chile.") + CHN = PermissibleValue(text="CHN", description="Alpha3 code for China.") + CXR = PermissibleValue(text="CXR", description="Alpha3 code for Christmas Island.") CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") + text="CCK", description="Alpha3 code for Cocos (Keeling) Islands (the)." + ) + COL = PermissibleValue(text="COL", description="Alpha3 code for Colombia.") + COM = PermissibleValue(text="COM", description="Alpha3 code for Comoros (the).") + COG = PermissibleValue(text="COG", description="Alpha3 code for Congo (the).") COD = PermissibleValue( text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") + description="Alpha3 code for Congo (the Democratic Republic of the).", + ) COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") + text="COK", description="Alpha3 code for Cook Islands (the)." + ) + CRI = PermissibleValue(text="CRI", description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue(text="CIV", description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue(text="HRV", description="Alpha3 code for Croatia.") + CUB = PermissibleValue(text="CUB", description="Alpha3 code for Cuba.") + CUW = PermissibleValue(text="CUW", description="Alpha3 code for Curacao.") + CYP = PermissibleValue(text="CYP", description="Alpha3 code for Cyprus.") + CZE = PermissibleValue(text="CZE", description="Alpha3 code for Czechia.") + DNK = PermissibleValue(text="DNK", description="Alpha3 code for Denmark.") + DJI = PermissibleValue(text="DJI", description="Alpha3 code for Djibouti.") + DMA = PermissibleValue(text="DMA", description="Alpha3 code for Dominica.") DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") + text="DOM", description="Alpha3 code for Dominican Republic (the)." + ) + ECU = PermissibleValue(text="ECU", description="Alpha3 code for Ecuador.") + EGY = PermissibleValue(text="EGY", description="Alpha3 code for Egypt.") + SLV = PermissibleValue(text="SLV", description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue(text="GNQ", description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue(text="ERI", description="Alpha3 code for Eritrea.") + EST = PermissibleValue(text="EST", description="Alpha3 code for Estonia.") + ETH = PermissibleValue(text="ETH", description="Alpha3 code for Ethiopia.") FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") + text="FLK", description="Alpha3 code for Falkland Islands (the) [Malvinas]." + ) FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") + text="FRO", description="Alpha3 code for Faroe Islands (the)." + ) + FJI = PermissibleValue(text="FJI", description="Alpha3 code for Fiji.") + FIN = PermissibleValue(text="FIN", description="Alpha3 code for Finland.") + FRA = PermissibleValue(text="FRA", description="Alpha3 code for France.") + GUF = PermissibleValue(text="GUF", description="Alpha3 code for French Guiana.") + PYF = PermissibleValue(text="PYF", description="Alpha3 code for French Polynesia.") ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") + text="ATF", description="Alpha3 code for French Southern Territories (the)." + ) + GAB = PermissibleValue(text="GAB", description="Alpha3 code for Gabon.") + GMB = PermissibleValue(text="GMB", description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue(text="GEO", description="Alpha3 code for Georgia.") + DEU = PermissibleValue(text="DEU", description="Alpha3 code for Germany.") + GHA = PermissibleValue(text="GHA", description="Alpha3 code for Ghana.") + GIB = PermissibleValue(text="GIB", description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue(text="GRC", description="Alpha3 code for Greece.") + GRL = PermissibleValue(text="GRL", description="Alpha3 code for Greenland.") + GRD = PermissibleValue(text="GRD", description="Alpha3 code for Grenada.") + GLP = PermissibleValue(text="GLP", description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue(text="GUM", description="Alpha3 code for Guam.") + GTM = PermissibleValue(text="GTM", description="Alpha3 code for Guatemala.") + GGY = PermissibleValue(text="GGY", description="Alpha3 code for Guernsey.") + GIN = PermissibleValue(text="GIN", description="Alpha3 code for Guinea.") + GNB = PermissibleValue(text="GNB", description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue(text="GUY", description="Alpha3 code for Guyana.") + HTI = PermissibleValue(text="HTI", description="Alpha3 code for Haiti.") HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") + text="HMD", description="Alpha3 code for Heard Island and McDonald Islands." + ) + VAT = PermissibleValue(text="VAT", description="Alpha3 code for Holy See (the).") + HND = PermissibleValue(text="HND", description="Alpha3 code for Honduras.") + HKG = PermissibleValue(text="HKG", description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue(text="HUN", description="Alpha3 code for Hungary.") + ISL = PermissibleValue(text="ISL", description="Alpha3 code for Iceland.") + IND = PermissibleValue(text="IND", description="Alpha3 code for India.") + IDN = PermissibleValue(text="IDN", description="Alpha3 code for Indonesia.") IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") + text="IRN", description="Alpha3 code for Iran (Islamic Republic of)." + ) + IRQ = PermissibleValue(text="IRQ", description="Alpha3 code for Iraq.") + IRL = PermissibleValue(text="IRL", description="Alpha3 code for Ireland.") + IMN = PermissibleValue(text="IMN", description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue(text="ISR", description="Alpha3 code for Israel.") + ITA = PermissibleValue(text="ITA", description="Alpha3 code for Italy.") + JAM = PermissibleValue(text="JAM", description="Alpha3 code for Jamaica.") + JPN = PermissibleValue(text="JPN", description="Alpha3 code for Japan.") + JEY = PermissibleValue(text="JEY", description="Alpha3 code for Jersey.") + JOR = PermissibleValue(text="JOR", description="Alpha3 code for Jordan.") + KAZ = PermissibleValue(text="KAZ", description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue(text="KEN", description="Alpha3 code for Kenya.") + KIR = PermissibleValue(text="KIR", description="Alpha3 code for Kiribati.") PRK = PermissibleValue( text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + description="Alpha3 code for Korea (the Democratic Peoples Republic of).", + ) KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") + text="KOR", description="Alpha3 code for Korea (the Republic of)." + ) + KWT = PermissibleValue(text="KWT", description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue(text="KGZ", description="Alpha3 code for Kyrgyzstan.") LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") + text="LAO", description="Alpha3 code for Lao Peoples Democratic Republic (the)." + ) + LVA = PermissibleValue(text="LVA", description="Alpha3 code for Latvia.") + LBN = PermissibleValue(text="LBN", description="Alpha3 code for Lebanon.") + LSO = PermissibleValue(text="LSO", description="Alpha3 code for Lesotho.") + LBR = PermissibleValue(text="LBR", description="Alpha3 code for Liberia.") + LBY = PermissibleValue(text="LBY", description="Alpha3 code for Libya.") + LIE = PermissibleValue(text="LIE", description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue(text="LTU", description="Alpha3 code for Lithuania.") + LUX = PermissibleValue(text="LUX", description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue(text="MAC", description="Alpha3 code for Macao.") MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") + text="MKD", description="Alpha3 code for Republic of North Macedonia." + ) + MDG = PermissibleValue(text="MDG", description="Alpha3 code for Madagascar.") + MWI = PermissibleValue(text="MWI", description="Alpha3 code for Malawi.") + MYS = PermissibleValue(text="MYS", description="Alpha3 code for Malaysia.") + MDV = PermissibleValue(text="MDV", description="Alpha3 code for Maldives.") + MLI = PermissibleValue(text="MLI", description="Alpha3 code for Mali.") + MLT = PermissibleValue(text="MLT", description="Alpha3 code for Malta.") MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") + text="MHL", description="Alpha3 code for Marshall Islands (the)." + ) + MTQ = PermissibleValue(text="MTQ", description="Alpha3 code for Martinique.") + MRT = PermissibleValue(text="MRT", description="Alpha3 code for Mauritania.") + MUS = PermissibleValue(text="MUS", description="Alpha3 code for Mauritius.") + MYT = PermissibleValue(text="MYT", description="Alpha3 code for Mayotte.") + MEX = PermissibleValue(text="MEX", description="Alpha3 code for Mexico.") FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") + text="FSM", description="Alpha3 code for Micronesia (Federated States of)." + ) MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") + text="MDA", description="Alpha3 code for Moldova (the Republic of)." + ) + MCO = PermissibleValue(text="MCO", description="Alpha3 code for Monaco.") + MNG = PermissibleValue(text="MNG", description="Alpha3 code for Mongolia.") + MNE = PermissibleValue(text="MNE", description="Alpha3 code for Montenegro.") + MSR = PermissibleValue(text="MSR", description="Alpha3 code for Montserrat.") + MAR = PermissibleValue(text="MAR", description="Alpha3 code for Morocco.") + MOZ = PermissibleValue(text="MOZ", description="Alpha3 code for Mozambique.") + MMR = PermissibleValue(text="MMR", description="Alpha3 code for Myanmar.") + NAM = PermissibleValue(text="NAM", description="Alpha3 code for Namibia.") + NRU = PermissibleValue(text="NRU", description="Alpha3 code for Nauru.") + NPL = PermissibleValue(text="NPL", description="Alpha3 code for Nepal.") + NLD = PermissibleValue(text="NLD", description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue(text="NCL", description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue(text="NZL", description="Alpha3 code for New Zealand.") + NIC = PermissibleValue(text="NIC", description="Alpha3 code for Nicaragua.") + NER = PermissibleValue(text="NER", description="Alpha3 code for Niger (the).") + NGA = PermissibleValue(text="NGA", description="Alpha3 code for Nigeria.") + NIU = PermissibleValue(text="NIU", description="Alpha3 code for Niue.") + NFK = PermissibleValue(text="NFK", description="Alpha3 code for Norfolk Island.") MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") + text="MNP", description="Alpha3 code for Northern Mariana Islands (the)." + ) + NOR = PermissibleValue(text="NOR", description="Alpha3 code for Norway.") + OMN = PermissibleValue(text="OMN", description="Alpha3 code for Oman.") + PAK = PermissibleValue(text="PAK", description="Alpha3 code for Pakistan.") + PLW = PermissibleValue(text="PLW", description="Alpha3 code for Palau.") PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") + text="PSE", description="Alpha3 code for Palestine, State of." + ) + PAN = PermissibleValue(text="PAN", description="Alpha3 code for Panama.") + PNG = PermissibleValue(text="PNG", description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue(text="PRY", description="Alpha3 code for Paraguay.") + PER = PermissibleValue(text="PER", description="Alpha3 code for Peru.") + PHL = PermissibleValue(text="PHL", description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue(text="PCN", description="Alpha3 code forPitcairn.") + POL = PermissibleValue(text="POL", description="Alpha3 code for Poland.") + PRT = PermissibleValue(text="PRT", description="Alpha3 code for Portugal.") + PRI = PermissibleValue(text="PRI", description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue(text="QAT", description="Alpha3 code for Qatar.") + SRB = PermissibleValue(text="SRB", description="Alpha3 code for Serbia.") + REU = PermissibleValue(text="REU", description="Alpha3 code for Reunion.") + ROU = PermissibleValue(text="ROU", description="Alpha3 code for Romania.") RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") + text="RUS", description="Alpha3 code for Russian Federation (the)." + ) + RWA = PermissibleValue(text="RWA", description="Alpha3 code for Rwanda.") + BLM = PermissibleValue(text="BLM", description="Alpha3 code for Saint Barthelemy.") SHN = PermissibleValue( text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") + text="KNA", description="Alpha3 code for Saint Kitts and Nevis." + ) + LCA = PermissibleValue(text="LCA", description="Alpha3 code for Saint Lucia.") MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") + text="MAF", description="Alpha3 code for Saint Martin (French part)." + ) SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") + text="SPM", description="Alpha3 code for Saint Pierre and Miquelon." + ) VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") + text="VCT", description="Alpha3 code for Saint Vincent and the Grenadines." + ) + WSM = PermissibleValue(text="WSM", description="Alpha3 code for Samoa.") + SMR = PermissibleValue(text="SMR", description="Alpha3 code for San Marino.") STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") + text="STP", description="Alpha3 code for Sao Tome and Principe." + ) + SAU = PermissibleValue(text="SAU", description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue(text="SEN", description="Alpha3 code for Senegal.") + SYC = PermissibleValue(text="SYC", description="Alpha3 code for Seychelles.") + SLE = PermissibleValue(text="SLE", description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue(text="SGP", description="Alpha3 code for Singapore.") SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") + text="SXM", description="Alpha3 code for Sint Maarten (Dutch part)." + ) + SVK = PermissibleValue(text="SVK", description="Alpha3 code for Slovakia.") + SVN = PermissibleValue(text="SVN", description="Alpha3 code for Slovenia.") + SLB = PermissibleValue(text="SLB", description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue(text="SOM", description="Alpha3 code for Somalia.") + ZAF = PermissibleValue(text="ZAF", description="Alpha3 code for South Africa.") SGS = PermissibleValue( text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") + description="Alpha3 code for South Georgia and the South Sandwich Islands.", + ) + SSD = PermissibleValue(text="SSD", description="Alpha3 code for South Sudan.") + ESP = PermissibleValue(text="ESP", description="Alpha3 code for Spain.") + LKA = PermissibleValue(text="LKA", description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue(text="SDN", description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue(text="SUR", description="Alpha3 code for Suriname.") SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") + text="SJM", description="Alpha3 code for Svalbard and Jan Mayen." + ) + SWZ = PermissibleValue(text="SWZ", description="Alpha3 code for Eswatini.") + SWE = PermissibleValue(text="SWE", description="Alpha3 code for Sweden.") + CHE = PermissibleValue(text="CHE", description="Alpha3 code for Switzerland.") SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") + text="SYR", description="Alpha3 code for Syrian Arab Republic." + ) TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") + text="TWN", description="Alpha3 code for Taiwan (Province of China)." + ) + TJK = PermissibleValue(text="TJK", description="Alpha3 code for Tajikistan.") TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") + text="TZA", description="Alpha3 code for Tanzania, United Republic of." + ) + THA = PermissibleValue(text="THA", description="Alpha3 code for Thailand.") + TLS = PermissibleValue(text="TLS", description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue(text="TGO", description="Alpha3 code for Togo.") + TKL = PermissibleValue(text="TKL", description="Alpha3 code for Tokelau.") + TON = PermissibleValue(text="TON", description="Alpha3 code for Tonga.") TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") + text="TTO", description="Alpha3 code for Trinidad and Tobago." + ) + TUN = PermissibleValue(text="TUN", description="Alpha3 code for Tunisia.") + TUR = PermissibleValue(text="TUR", description="Alpha3 code for Turkey.") XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") + text="XTX", description="Alpha3 code for Turkish Republic of northern Cyprus." + ) + TKM = PermissibleValue(text="TKM", description="Alpha3 code for Turkmenistan.") TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") + text="TCA", description="Alpha3 code for Turks and Caicos Islands (the)." + ) + TUV = PermissibleValue(text="TUV", description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue(text="UGA", description="Alpha3 code for Uganda.") + UKR = PermissibleValue(text="UKR", description="Alpha3 code for Ukraine.") ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") + text="ARE", description="Alpha3 code for United Arab Emirates (the)." + ) GBR = PermissibleValue( text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") + text="USA", description="Alpha3 code for United States of America (the)." + ) UMI = PermissibleValue( text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") + description="Alpha3 code for United States Minor Outlying Islands (the).", + ) + URY = PermissibleValue(text="URY", description="Alpha3 code for Uruguay.") + UZB = PermissibleValue(text="UZB", description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue(text="VUT", description="Alpha3 code for Vanuatu.") VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") + text="VEN", description="Alpha3 code for Venezuela (Bolivarian Republic of)." + ) + VNM = PermissibleValue(text="VNM", description="Alpha3 code for Viet Nam.") VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") + text="VGB", description="Alpha3 code for Virgin Islands (British)." + ) VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") + text="VIR", description="Alpha3 code for Virgin Islands (U.S.)." + ) + WLF = PermissibleValue(text="WLF", description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue(text="ESH", description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue(text="YEM", description="Alpha3 code for Yemen.") + ZMB = PermissibleValue(text="ZMB", description="Alpha3 code for Zambia.") + ZWE = PermissibleValue(text="ZWE", description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue(text="XKX", description="Alpha3 code for Kosovo.") _defn = EnumDefinition( name="CountryNameAlpha3", ) -class CountryNameNumeric(EnumDefinitionImpl): +class CountryNameNumeric(EnumDefinitionImpl): _defn = EnumDefinition( name="CountryNameNumeric", ) @classmethod def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", + setattr( + cls, + "4", + PermissibleValue(text="4", description="Numeric code for Afghanistan."), + ) + setattr( + cls, + "818", + PermissibleValue(text="818", description="Numeric code for Egypt."), + ) + setattr( + cls, + "248", + PermissibleValue(text="248", description="Numeric code for Aland Islands."), + ) + setattr( + cls, + "008", + PermissibleValue(text="008", description="Numeric code for Albania."), + ) + setattr( + cls, + "10", + PermissibleValue(text="10", description="Numeric code for Algeria."), + ) + setattr( + cls, + "850", + PermissibleValue( + text="850", description="Numeric code for Virgin Islands (U.S.)." + ), + ) + setattr( + cls, + "581", PermissibleValue( text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", + description="Numeric code for United States Minor Outlying Islands (the).", + ), + ) + setattr( + cls, + "14", + PermissibleValue(text="14", description="Numeric code for American Samoa."), + ) + setattr( + cls, + "16", + PermissibleValue(text="16", description="Numeric code for Andorra."), + ) + setattr( + cls, + "20", + PermissibleValue(text="20", description="Numeric code for Angola."), + ) + setattr( + cls, + "660", + PermissibleValue(text="660", description="Numeric code for Anguilla."), + ) + setattr( + cls, + "8", + PermissibleValue(text="8", description="Numeric code for Antarctica."), + ) + setattr( + cls, + "028", + PermissibleValue( + text="028", description="Numeric code for Antigua and Barbuda." + ), + ) + setattr( + cls, + "226", + PermissibleValue( + text="226", description="Numeric code for Equatorial Guinea." + ), + ) + setattr( + cls, + "760", + PermissibleValue( + text="760", description="Numeric code for Syrian Arab Republic." + ), + ) + setattr( + cls, + "26", + PermissibleValue(text="26", description="Numeric code for Argentina."), + ) + setattr( + cls, + "41", + PermissibleValue(text="41", description="Numeric code for Armenia."), + ) + setattr( + cls, + "231", + PermissibleValue(text="231", description="Numeric code for Ethiopia."), + ) + setattr( + cls, + "30", + PermissibleValue(text="30", description="Numeric code for Australia."), + ) + setattr( + cls, + "36", + PermissibleValue(text="36", description="Numeric code for Bahamas (the)."), + ) + setattr( + cls, + "048", + PermissibleValue(text="048", description="Numeric code for Bahrain."), + ) + setattr( + cls, + "40", + PermissibleValue(text="40", description="Numeric code for Bangladesh."), + ) + setattr( + cls, + "42", + PermissibleValue(text="42", description="Numeric code for Barbados."), + ) + setattr( + cls, + "46", + PermissibleValue(text="46", description="Numeric code forBelgium."), + ) + setattr( + cls, + "084", + PermissibleValue(text="084", description="Numeric code for Belize."), + ) + setattr( + cls, + "204", + PermissibleValue(text="204", description="Numeric code for Benin."), + ) + setattr( + cls, + "48", + PermissibleValue(text="48", description="Numeric code for Bermuda."), + ) + setattr( + cls, + "52", + PermissibleValue(text="52", description="Numeric code for Bhutan."), + ) + setattr( + cls, + "58", + PermissibleValue(text="58", description="Numeric code for Botswana."), + ) + setattr( + cls, + "60", + PermissibleValue(text="60", description="Numeric code for Bouvet Island."), + ) + setattr( + cls, + "62", + PermissibleValue(text="62", description="Numeric code for Brazil."), + ) + setattr( + cls, + "092", + PermissibleValue( + text="092", description="Numeric code for Virgin Islands (British)." + ), + ) + setattr( + cls, + "086", PermissibleValue( text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", + description="Numeric code for British Indian Ocean Territory (the).", + ), + ) + setattr( + cls, + "854", + PermissibleValue(text="854", description="Numeric code for Burkina Faso."), + ) + setattr( + cls, + "108", + PermissibleValue(text="108", description="Numeric code for Burundi."), + ) + setattr( + cls, + "132", + PermissibleValue(text="132", description="Numeric code for Cabo Verde."), + ) + setattr( + cls, + "152", + PermissibleValue(text="152", description="Numeric code for Chile."), + ) + setattr( + cls, + "156", + PermissibleValue(text="156", description="Numeric code for China."), + ) + setattr( + cls, + "184", + PermissibleValue( + text="184", description="Numeric code for Cook Islands (the)." + ), + ) + setattr( + cls, + "188", + PermissibleValue(text="188", description="Numeric code for Costa Rica."), + ) + setattr( + cls, + "384", + PermissibleValue(text="384", description="Numeric code for Cote dIvoire."), + ) + setattr( + cls, + "531", + PermissibleValue(text="531", description="Numeric code for Curacao."), + ) + setattr( + cls, + "208", + PermissibleValue(text="208", description="Numeric code for Denmark."), + ) + setattr( + cls, + "180", PermissibleValue( text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", + description="Numeric code for Congo (the Democratic Republic of the).", + ), + ) + setattr( + cls, + "408", PermissibleValue( text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", + description="Numeric code for Korea (the Democratic Peoples Republic of).", + ), + ) + setattr( + cls, + "418", PermissibleValue( text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", + description="Numeric code for Lao Peoples Democratic Republic (the).", + ), + ) + setattr( + cls, + "276", + PermissibleValue(text="276", description="Numeric code for Germany."), + ) + setattr( + cls, + "212", + PermissibleValue(text="212", description="Numeric code for Dominica."), + ) + setattr( + cls, + "214", + PermissibleValue( + text="214", description="Numeric code for Dominican Republic (the)." + ), + ) + setattr( + cls, + "262", + PermissibleValue(text="262", description="Numeric code for Djibouti."), + ) + setattr( + cls, + "218", + PermissibleValue(text="218", description="Numeric code for Ecuador."), + ) + setattr( + cls, + "807", + PermissibleValue( + text="807", description="Numeric code for Republic of North Macedonia." + ), + ) + setattr( + cls, + "222", + PermissibleValue(text="222", description="Numeric code for El Salvador."), + ) + setattr( + cls, + "232", + PermissibleValue(text="232", description="Numeric code for Eritrea."), + ) + setattr( + cls, + "233", + PermissibleValue(text="233", description="Numeric code for Estonia."), + ) + setattr( + cls, + "238", PermissibleValue( text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", + description="Numeric code for Falkland Islands (the) [Malvinas].", + ), + ) + setattr( + cls, + "234", + PermissibleValue( + text="234", description="Numeric code for Faroe Islands (the)." + ), + ) + setattr( + cls, + "242", + PermissibleValue(text="242", description="Numeric code for Fiji."), + ) + setattr( + cls, + "246", + PermissibleValue(text="246", description="Numeric code for Finland."), + ) + setattr( + cls, + "583", PermissibleValue( text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", + description="Numeric code for Micronesia (Federated States of).", + ), + ) + setattr( + cls, + "250", + PermissibleValue(text="250", description="Numeric code for France."), + ) + setattr( + cls, + "260", PermissibleValue( text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", + description="Numeric code for French Southern Territories (the).", + ), + ) + setattr( + cls, + "254", + PermissibleValue(text="254", description="Numeric code for French Guiana."), + ) + setattr( + cls, + "258", + PermissibleValue( + text="258", description="Numeric code for French Polynesia." + ), + ) + setattr( + cls, + "266", + PermissibleValue(text="266", description="Numeric code for Gabon."), + ) + setattr( + cls, + "270", + PermissibleValue(text="270", description="Numeric code for Gambia (the)."), + ) + setattr( + cls, + "268", + PermissibleValue(text="268", description="Numeric code for Georgia."), + ) + setattr( + cls, + "288", + PermissibleValue(text="288", description="Numeric code for Ghana."), + ) + setattr( + cls, + "292", + PermissibleValue(text="292", description="Numeric code for Gibraltar."), + ) + setattr( + cls, + "308", + PermissibleValue(text="308", description="Numeric code for Grenada."), + ) + setattr( + cls, + "300", + PermissibleValue(text="300", description="Numeric code for Greece."), + ) + setattr( + cls, + "304", + PermissibleValue(text="304", description="Numeric code for Greenland."), + ) + setattr( + cls, + "312", + PermissibleValue(text="312", description="Numeric code for Guadeloupe."), + ) + setattr( + cls, + "316", + PermissibleValue(text="316", description="Numeric code for Guam."), + ) + setattr( + cls, + "320", + PermissibleValue(text="320", description="Numeric code for Guatemala."), + ) + setattr( + cls, + "831", + PermissibleValue(text="831", description="Numeric code for Guernsey."), + ) + setattr( + cls, + "324", + PermissibleValue(text="324", description="Numeric code for Guinea."), + ) + setattr( + cls, + "624", + PermissibleValue(text="624", description="Numeric code for Guinea-Bissau."), + ) + setattr( + cls, + "328", + PermissibleValue(text="328", description="Numeric code for Guyana."), + ) + setattr( + cls, + "332", + PermissibleValue(text="332", description="Numeric code for Haiti."), + ) + setattr( + cls, + "334", PermissibleValue( text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", + description="Numeric code for Heard Island and McDonald Islands.", + ), + ) + setattr( + cls, + "340", + PermissibleValue(text="340", description="Numeric code for Honduras."), + ) + setattr( + cls, + "344", + PermissibleValue(text="344", description="Numeric code for Hong Kong."), + ) + setattr( + cls, + "356", + PermissibleValue(text="356", description="Numeric code for India."), + ) + setattr( + cls, + "360", + PermissibleValue(text="360", description="Numeric code for Indonesia."), + ) + setattr( + cls, + "833", + PermissibleValue(text="833", description="Numeric code for Isle of Man."), + ) + setattr( + cls, + "368", + PermissibleValue(text="368", description="Numeric code for Iraq."), + ) + setattr( + cls, + "372", + PermissibleValue(text="372", description="Numeric code for Ireland."), + ) + setattr( + cls, + "364", + PermissibleValue( + text="364", description="Numeric code for Iran (Islamic Republic of)." + ), + ) + setattr( + cls, + "352", + PermissibleValue(text="352", description="Numeric code for Iceland."), + ) + setattr( + cls, + "376", + PermissibleValue(text="376", description="Numeric code for Israel."), + ) + setattr( + cls, + "380", + PermissibleValue(text="380", description="Numeric code for Italy."), + ) + setattr( + cls, + "388", + PermissibleValue(text="388", description="Numeric code for Jamaica."), + ) + setattr( + cls, + "392", + PermissibleValue(text="392", description="Numeric code for Japan."), + ) + setattr( + cls, + "887", + PermissibleValue(text="887", description="Numeric code for Yemen."), + ) + setattr( + cls, + "832", + PermissibleValue(text="832", description="Numeric code for Jersey."), + ) + setattr( + cls, + "400", + PermissibleValue(text="400", description="Numeric code for Jordan."), + ) + setattr( + cls, + "136", + PermissibleValue( + text="136", description="Numeric code for Cayman Islands (the)." + ), + ) + setattr( + cls, + "116", + PermissibleValue(text="116", description="Numeric code for Cambodia."), + ) + setattr( + cls, + "120", + PermissibleValue(text="120", description="Numeric code for Cameroon."), + ) + setattr( + cls, + "124", + PermissibleValue(text="124", description="Numeric code for Canada."), + ) + setattr( + cls, + "398", + PermissibleValue(text="398", description="Numeric code for Kazakhstan."), + ) + setattr( + cls, + "634", + PermissibleValue(text="634", description="Numeric code for Qatar."), + ) + setattr( + cls, + "404", + PermissibleValue(text="404", description="Numeric code for Kenya."), + ) + setattr( + cls, + "417", + PermissibleValue(text="417", description="Numeric code for Kyrgyzstan."), + ) + setattr( + cls, + "296", + PermissibleValue(text="296", description="Numeric code for Kiribati."), + ) + setattr( + cls, + "166", PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).", + ), + ) + setattr( + cls, + "170", + PermissibleValue(text="170", description="Numeric code for Colombia."), + ) + setattr( + cls, + "174", + PermissibleValue(text="174", description="Numeric code for Comoros (the)."), + ) + setattr( + cls, + "178", + PermissibleValue(text="178", description="Numeric code for Congo (the)."), + ) + setattr( + cls, + "191", + PermissibleValue(text="191", description="Numeric code for Croatia."), + ) + setattr( + cls, + "192", + PermissibleValue(text="192", description="Numeric code for Cuba."), + ) + setattr( + cls, + "414", + PermissibleValue(text="414", description="Numeric code for Kuwait."), + ) + setattr( + cls, + "426", + PermissibleValue(text="426", description="Numeric code for Lesotho."), + ) + setattr( + cls, + "428", + PermissibleValue(text="428", description="Numeric code for Latvia."), + ) + setattr( + cls, + "422", + PermissibleValue(text="422", description="Numeric code for Lebanon."), + ) + setattr( + cls, + "430", + PermissibleValue(text="430", description="Numeric code for Liberia."), + ) + setattr( + cls, + "434", + PermissibleValue(text="434", description="Numeric code for Libya."), + ) + setattr( + cls, + "438", + PermissibleValue(text="438", description="Numeric code for Liechtenstein."), + ) + setattr( + cls, + "440", + PermissibleValue(text="440", description="Numeric code for Lithuania."), + ) + setattr( + cls, + "442", + PermissibleValue(text="442", description="Numeric code for Luxembourg."), + ) + setattr( + cls, + "446", + PermissibleValue(text="446", description="Numeric code for Macao."), + ) + setattr( + cls, + "450", + PermissibleValue(text="450", description="Numeric code for Madagascar."), + ) + setattr( + cls, + "454", + PermissibleValue(text="454", description="Numeric code for Malawi."), + ) + setattr( + cls, + "458", + PermissibleValue(text="458", description="Numeric code for Malaysia."), + ) + setattr( + cls, + "462", + PermissibleValue(text="462", description="Numeric code for Maldives."), + ) + setattr( + cls, + "466", + PermissibleValue(text="466", description="Numeric code for Mali."), + ) + setattr( + cls, + "470", + PermissibleValue(text="470", description="Numeric code for Malta ."), + ) + setattr( + cls, + "580", PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", + text="580", + description="Numeric code for Northern Mariana Islands (the).", + ), + ) + setattr( + cls, + "504", + PermissibleValue(text="504", description="Numeric code for Morocco."), + ) + setattr( + cls, + "584", + PermissibleValue( + text="584", description="Numeric code for Marshall Islands (the)." + ), + ) + setattr( + cls, + "474", + PermissibleValue(text="474", description="Numeric code for Martinique."), + ) + setattr( + cls, + "478", + PermissibleValue(text="478", description="Numeric code for Mauritania."), + ) + setattr( + cls, + "480", + PermissibleValue(text="480", description="Numeric code for Mauritius."), + ) + setattr( + cls, + "175", + PermissibleValue(text="175", description="Numeric code for Mayotte."), + ) + setattr( + cls, + "484", + PermissibleValue(text="484", description="Numeric code for Mexico."), + ) + setattr( + cls, + "492", + PermissibleValue(text="492", description="Numeric code for Monaco."), + ) + setattr( + cls, + "496", + PermissibleValue(text="496", description="Numeric code for Mongolia."), + ) + setattr( + cls, + "500", + PermissibleValue(text="500", description="Numeric code for Montserrat."), + ) + setattr( + cls, + "499", + PermissibleValue(text="499", description="Numeric code for Montenegro."), + ) + setattr( + cls, + "508", + PermissibleValue(text="508", description="Numeric code for Mozambique."), + ) + setattr( + cls, + "104", + PermissibleValue(text="104", description="Numeric code for Myanmar."), + ) + setattr( + cls, + "516", + PermissibleValue(text="516", description="Numeric code for Namibia."), + ) + setattr( + cls, + "520", + PermissibleValue(text="520", description="Numeric code for Nauru."), + ) + setattr( + cls, + "524", + PermissibleValue(text="524", description="Numeric code for Nepal."), + ) + setattr( + cls, + "540", + PermissibleValue(text="540", description="Numeric code for New Caledonia."), + ) + setattr( + cls, + "554", + PermissibleValue(text="554", description="Numeric code for New Zealand."), + ) + setattr( + cls, + "558", + PermissibleValue(text="558", description="Numeric code for Nicaragua."), + ) + setattr( + cls, + "528", + PermissibleValue( + text="528", description="Numeric code for Netherlands (the)." + ), + ) + setattr( + cls, + "562", + PermissibleValue(text="562", description="Numeric code for Niger (the)."), + ) + setattr( + cls, + "566", + PermissibleValue(text="566", description="Numeric code for Nigeria."), + ) + setattr( + cls, + "570", + PermissibleValue(text="570", description="Numeric code for Niue."), + ) + setattr( + cls, + "574", + PermissibleValue( + text="574", description="Numeric code for Norfolk Island." + ), + ) + setattr( + cls, + "578", + PermissibleValue(text="578", description="Numeric code for Norway."), + ) + setattr( + cls, + "512", + PermissibleValue(text="512", description="Numeric code for Oman."), + ) + setattr( + cls, + "32", + PermissibleValue(text="32", description="Numeric code for Austria."), + ) + setattr( + cls, + "586", + PermissibleValue(text="586", description="Numeric code for Pakistan."), + ) + setattr( + cls, + "585", + PermissibleValue(text="585", description="Numeric code for Palau."), + ) + setattr( + cls, + "275", + PermissibleValue( + text="275", description="Numeric code for Palestine, State of." + ), + ) + setattr( + cls, + "591", + PermissibleValue(text="591", description="Numeric code for Panama."), + ) + setattr( + cls, + "598", + PermissibleValue( + text="598", description="Numeric code for Papua New Guinea." + ), + ) + setattr( + cls, + "600", + PermissibleValue(text="600", description="Numeric code for Paraguay."), + ) + setattr( + cls, + "604", + PermissibleValue(text="604", description="Numeric code for Peru."), + ) + setattr( + cls, + "608", + PermissibleValue( + text="608", description="Numeric code for Philippines (the)." + ), + ) + setattr( + cls, + "612", + PermissibleValue(text="612", description="Numeric code for Pitcairn."), + ) + setattr( + cls, + "068", PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", + text="068", + description="Numeric code for Bolivia (Plurinational State of).", + ), + ) + setattr( + cls, + "616", + PermissibleValue(text="616", description="Numeric code for Poland."), + ) + setattr( + cls, + "620", + PermissibleValue(text="620", description="Numeric code for Portugal."), + ) + setattr( + cls, + "630", + PermissibleValue(text="630", description="Numeric code for Puerto Rico."), + ) + setattr( + cls, + "410", + PermissibleValue( + text="410", description="Numeric code for Korea (the Republic of)." + ), + ) + setattr( + cls, + "498", + PermissibleValue( + text="498", description="Numeric code for Moldova (the Republic of)." + ), + ) + setattr( + cls, + "638", + PermissibleValue(text="638", description="Numeric code for Reunion."), + ) + setattr( + cls, + "646", + PermissibleValue(text="646", description="Numeric code for Rwanda."), + ) + setattr( + cls, + "642", + PermissibleValue(text="642", description="Numeric code for Romania."), + ) + setattr( + cls, + "643", + PermissibleValue( + text="643", description="Numeric code for Russian Federation (the)." + ), + ) + setattr( + cls, + "090", + PermissibleValue( + text="090", description="Numeric code for Solomon Islands." + ), + ) + setattr( + cls, + "894", + PermissibleValue(text="894", description="Numeric code for Zambia."), + ) + setattr( + cls, + "882", + PermissibleValue(text="882", description="Numeric code for Samoa."), + ) + setattr( + cls, + "674", + PermissibleValue(text="674", description="Numeric code for San Marino."), + ) + setattr( + cls, + "678", + PermissibleValue( + text="678", description="Numeric code for Sao Tome and Principe." + ), + ) + setattr( + cls, + "682", + PermissibleValue(text="682", description="Numeric code for Saudi Arabia."), + ) + setattr( + cls, + "752", + PermissibleValue(text="752", description="Numeric code for Sweden."), + ) + setattr( + cls, + "756", + PermissibleValue(text="756", description="Numeric code for Switzerland."), + ) + setattr( + cls, + "686", + PermissibleValue(text="686", description="Numeric code for Senegal."), + ) + setattr( + cls, + "688", + PermissibleValue(text="688", description="Numeric code for Serbia."), + ) + setattr( + cls, + "690", + PermissibleValue(text="690", description="Numeric code for Seychelles."), + ) + setattr( + cls, + "694", + PermissibleValue(text="694", description="Numeric code for Sierra Leone."), + ) + setattr( + cls, + "716", + PermissibleValue(text="716", description="Numeric code for Zimbabwe."), + ) + setattr( + cls, + "702", + PermissibleValue(text="702", description="Numeric code for Singapore."), + ) + setattr( + cls, + "703", + PermissibleValue(text="703", description="Numeric code for Slovakia."), + ) + setattr( + cls, + "705", + PermissibleValue(text="705", description="Numeric code for Slovenia."), + ) + setattr( + cls, + "706", + PermissibleValue(text="706", description="Numeric code for Somalia."), + ) + setattr( + cls, + "724", + PermissibleValue(text="724", description="Numeric code for Spain."), + ) + setattr( + cls, + "144", + PermissibleValue(text="144", description="Numeric code for Sri Lanka."), + ) + setattr( + cls, + "652", + PermissibleValue( + text="652", description="Numeric code for Saint Barthelemy." + ), + ) + setattr( + cls, + "654", PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.", + ), + ) + setattr( + cls, + "659", + PermissibleValue( + text="659", description="Numeric code for Saint Kitts and Nevis." + ), + ) + setattr( + cls, + "662", + PermissibleValue(text="662", description="Numeric code for Saint Lucia."), + ) + setattr( + cls, + "663", + PermissibleValue( + text="663", description="Numeric code for Saint Martin (French part)." + ), + ) + setattr( + cls, + "534", + PermissibleValue( + text="534", description="Numeric code for Sint Maarten (Dutch part)." + ), + ) + setattr( + cls, + "666", + PermissibleValue( + text="666", description="Numeric code for Saint Pierre and Miquelon." + ), + ) + setattr( + cls, + "670", PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", + text="670", + description="Numeric code for Saint Vincent and the Grenadines.", + ), + ) + setattr( + cls, + "710", + PermissibleValue(text="710", description="Numeric code for South Africa."), + ) + setattr( + cls, + "729", + PermissibleValue(text="729", description="Numeric code forSudan (the)."), + ) + setattr( + cls, + "239", PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.", + ), + ) + setattr( + cls, + "728", + PermissibleValue(text="728", description="Numeric code for South Sudan."), + ) + setattr( + cls, + "740", + PermissibleValue(text="740", description="Numeric code for Suriname."), + ) + setattr( + cls, + "744", + PermissibleValue( + text="744", description="Numeric code for Svalbard and Jan Mayen." + ), + ) + setattr( + cls, + "748", + PermissibleValue(text="748", description="Numeric code for Eswatini."), + ) + setattr( + cls, + "762", + PermissibleValue(text="762", description="Numeric code for Tajikistan."), + ) + setattr( + cls, + "158", + PermissibleValue( + text="158", description="Numeric code for Taiwan (Province of China)." + ), + ) + setattr( + cls, + "764", + PermissibleValue(text="764", description="Numeric code for Thailand."), + ) + setattr( + cls, + "626", + PermissibleValue(text="626", description="Numeric code for Timor-Leste."), + ) + setattr( + cls, + "768", + PermissibleValue(text="768", description="Numeric code for Togo."), + ) + setattr( + cls, + "772", + PermissibleValue(text="772", description="Numeric code for Tokelau."), + ) + setattr( + cls, + "776", + PermissibleValue(text="776", description="Numeric code for Tonga."), + ) + setattr( + cls, + "780", + PermissibleValue( + text="780", description="Numeric code for Trinidad and Tobago." + ), + ) + setattr( + cls, + "148", + PermissibleValue(text="148", description="Numeric code for Chad."), + ) + setattr( + cls, + "203", + PermissibleValue(text="203", description="Numeric code for Czechia."), + ) + setattr( + cls, + "788", + PermissibleValue(text="788", description="Numeric code for Tunisia."), + ) + setattr( + cls, + "792", + PermissibleValue(text="792", description="Numeric code for Turkey."), + ) + setattr( + cls, + "795", + PermissibleValue(text="795", description="Numeric code for Turkmenistan."), + ) + setattr( + cls, + "796", PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", + text="796", + description="Numeric code for Turks and Caicos Islands (the).", + ), + ) + setattr( + cls, + "798", + PermissibleValue(text="798", description="Numeric code for Tuvalu."), + ) + setattr( + cls, + "800", + PermissibleValue(text="800", description="Numeric code for Uganda."), + ) + setattr( + cls, + "804", + PermissibleValue(text="804", description="Numeric code for Ukraine."), + ) + setattr( + cls, + "348", + PermissibleValue(text="348", description="Numeric code for Hungary."), + ) + setattr( + cls, + "858", + PermissibleValue(text="858", description="Numeric code for Uruguay."), + ) + setattr( + cls, + "860", + PermissibleValue(text="860", description="Numeric code for Uzbekistan."), + ) + setattr( + cls, + "548", + PermissibleValue(text="548", description="Numeric code for Vanuatu."), + ) + setattr( + cls, + "336", + PermissibleValue( + text="336", description="Numeric code for Holy See (the)." + ), + ) + setattr( + cls, + "784", + PermissibleValue( + text="784", description="Numeric code for United Arab Emirates (the)." + ), + ) + setattr( + cls, + "834", + PermissibleValue( + text="834", description="Numeric code for Tanzania, United Republic of." + ), + ) + setattr( + cls, + "840", PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", + text="840", + description="Numeric code for United States of America (the).", + ), + ) + setattr( + cls, + "826", PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).", + ), + ) + setattr( + cls, + "704", + PermissibleValue(text="704", description="Numeric code for Viet Nam."), + ) + setattr( + cls, + "876", + PermissibleValue( + text="876", description="Numeric code for Wallis and Futuna." + ), + ) + setattr( + cls, + "162", + PermissibleValue( + text="162", description="Numeric code for Christmas Island." + ), + ) + setattr( + cls, + "112", + PermissibleValue(text="112", description="Numeric code for Belarus."), + ) + setattr( + cls, + "732", + PermissibleValue( + text="732", description="Numeric code for Western Sahara." + ), + ) + setattr( + cls, + "140", PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", + text="140", + description="Numeric code for Central African Republic (the).", + ), + ) + setattr( + cls, + "196", + PermissibleValue(text="196", description="Numeric code for Cyprus."), + ) + + +class Architectures(EnumDefinitionImpl): + other = PermissibleValue( + text="other", description="CPU architecture not specified above." + ) + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr( + cls, + "x86-32", + PermissibleValue( + text="x86-32", description="32 bit version of x86 architecture." + ), + ) + setattr( + cls, + "x86-64", + PermissibleValue( + text="x86-64", description="64 bit version of x86 architecture." + ), + ) + setattr( + cls, + "AArch-32", + PermissibleValue( + text="AArch-32", description="32-bit version of ARM architecture." + ), + ) + setattr( + cls, + "AArch-64", + PermissibleValue( + text="AArch-64", description="64-bit version of ARM architecture." + ), + ) + setattr( + cls, + "RISC-V", PermissibleValue( text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) + description="Architecture based on open standard instruction set (ISA).", + ), + ) -class EncryptionAlgorithm(EnumDefinitionImpl): - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") +class EncryptionAlgorithm(EnumDefinitionImpl): + RSA = PermissibleValue(text="RSA", description="TBD") + AES = PermissibleValue(text="AES", description="TBD") + Blowfish = PermissibleValue(text="Blowfish", description="TBD") + Twofish = PermissibleValue(text="Twofish", description="TBD") + SDA = PermissibleValue(text="SDA", description="TBD") other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") + text="other", description="Algorithm for encryption not further described." + ) _defn = EnumDefinition( name="EncryptionAlgorithm", @@ -4242,25 +4175,17 @@ class EncryptionAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) + setattr(cls, "3DES", PermissibleValue(text="3DES", description="TBD")) -class ChecksumAlgorithm(EnumDefinitionImpl): - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") +class ChecksumAlgorithm(EnumDefinitionImpl): + md5 = PermissibleValue(text="md5", description="TBD") + blake2 = PermissibleValue(text="blake2", description="TBD") + blake3 = PermissibleValue(text="blake3", description="TBD") other = PermissibleValue( text="other", - description="Algorithm to calcualte checksum not further described.") + description="Algorithm to calcualte checksum not further described.", + ) _defn = EnumDefinition( name="ChecksumAlgorithm", @@ -4268,62 +4193,43 @@ class ChecksumAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-224", - PermissibleValue( - text="sha-224", - description="TBD")) - setattr(cls, "sha-256", - PermissibleValue( - text="sha-256", - description="TBD")) - setattr(cls, "sha-512", - PermissibleValue( - text="sha-512", - description="TBD")) - setattr(cls, "sha-384", - PermissibleValue( - text="sha-384", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) + setattr(cls, "sha-1", PermissibleValue(text="sha-1", description="TBD")) + setattr(cls, "sha-224", PermissibleValue(text="sha-224", description="TBD")) + setattr(cls, "sha-256", PermissibleValue(text="sha-256", description="TBD")) + setattr(cls, "sha-512", PermissibleValue(text="sha-512", description="TBD")) + setattr(cls, "sha-384", PermissibleValue(text="sha-384", description="TBD")) + setattr(cls, "sha-3", PermissibleValue(text="sha-3", description="TBD")) + setattr( + cls, "ripemd-160", PermissibleValue(text="ripemd-160", description="TBD") + ) -class KeyManagement(EnumDefinitionImpl): +class KeyManagement(EnumDefinitionImpl): BYOK = PermissibleValue( text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + description="bring-your-own-key: Keys created by user and stored in key manager of cloud", + ) HYOK = PermissibleValue( text="HYOK", - description="hold-your-own-key Key created by user and kept by user") + description="hold-your-own-key Key created by user and kept by user", + ) managed = PermissibleValue( text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") + description="managed: Keys are created by and stored in key manager of cloud.", + ) _defn = EnumDefinition( name="KeyManagement", ) -class SignatureAlgorithm(EnumDefinitionImpl): - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") +class SignatureAlgorithm(EnumDefinitionImpl): + ECDSA = PermissibleValue(text="ECDSA", description="TBD") + DSA = PermissibleValue(text="DSA", description="TBD") other = PermissibleValue( text="other", - description="Algorithm for digital signatures not further described.") + description="Algorithm for digital signatures not further described.", + ) _defn = EnumDefinition( name="SignatureAlgorithm", @@ -4331,13 +4237,14 @@ class SignatureAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) + setattr( + cls, + "RSA-Signature", + PermissibleValue(text="RSA-Signature", description="TBD"), + ) -class DiskTypes(EnumDefinitionImpl): +class DiskTypes(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4346,17 +4253,17 @@ class DiskTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) + setattr(cls, "local SSD", PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", PermissibleValue(text="local HDD")) + setattr( + cls, + "shared network storage", + PermissibleValue(text="shared network storage"), + ) + setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) -class GPUInterconnetionTypes(EnumDefinitionImpl): +class GPUInterconnetionTypes(EnumDefinitionImpl): NVLink = PermissibleValue(text="NVLink") RoCE2 = PermissibleValue(text="RoCE2") other = PermissibleValue(text="other") @@ -4368,72 +4275,76 @@ class GPUInterconnetionTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) + setattr(cls, "Xe Link", PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", PermissibleValue(text="Infinity Fabric")) + class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. """ + yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") + text="yearly", description="Image will be updated at least once per year." + ) quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") + text="quarterly", description="Image will be updated at least once per month." + ) weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") + text="weekly", description="Image will be updated at least once per week." + ) daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") + text="daily", description="Image will be updated at least once per day." + ) critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") + text="critical_bug", description="Image will be updated for critical bugs only." + ) + never = PermissibleValue(text="never", description="Image will never be updated.") _defn = EnumDefinition( name="UpdateFrequency", description="Possible values for image's update frequency.", ) + class Validity1(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ - none = PermissibleValue( - text="none", - description="No information are given.") + + none = PermissibleValue(text="none", description="No information are given.") notice = PermissibleValue( text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") + description="Outdated version of the image will remain valid until a deprecation notice will be published.", + ) _defn = EnumDefinition( name="Validity1", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class Validity2(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ + forever = PermissibleValue( text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") + description="Outdated version of the image will remain valid for as long as the cloud operates.", + ) _defn = EnumDefinition( name="Validity2", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class GaiaXTermsAndConditions(EnumDefinitionImpl): """ SHA256 check sum of Gaia-X Terms and Conditions. """ + _defn = EnumDefinition( name="GaiaXTermsAndConditions", description="SHA256 check sum of Gaia-X Terms and Conditions.", @@ -4441,11 +4352,16 @@ class GaiaXTermsAndConditions(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + setattr( + cls, + "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue( + text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" + ), + ) -class MemoryClasses(EnumDefinitionImpl): +class MemoryClasses(EnumDefinitionImpl): DDR4 = PermissibleValue(text="DDR4") DDR5 = PermissibleValue(text="DDR5") GDDR5 = PermissibleValue(text="GDDR5") @@ -4456,8 +4372,8 @@ class MemoryClasses(EnumDefinitionImpl): name="MemoryClasses", ) -class MemoryRanks(EnumDefinitionImpl): +class MemoryRanks(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4466,17 +4382,13 @@ class MemoryRanks(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) + setattr(cls, "1R RDIMM", PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", PermissibleValue(text="8R LRDIMM")) -class PXEDiskType(EnumDefinitionImpl): +class PXEDiskType(EnumDefinitionImpl): WINPE = PermissibleValue(text="WINPE") ISO = PermissibleValue(text="ISO") @@ -4484,8 +4396,8 @@ class PXEDiskType(EnumDefinitionImpl): name="PXEDiskType", ) -class SPDX(EnumDefinitionImpl): +class SPDX(EnumDefinitionImpl): AAL = PermissibleValue(text="AAL") Abstyles = PermissibleValue(text="Abstyles") ADSL = PermissibleValue(text="ADSL") @@ -4637,775 +4549,567 @@ class SPDX(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) + setattr(cls, "0BSD", PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", PermissibleValue(text="Artistic-2.0")) + setattr( + cls, + "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0"), + ) + setattr( + cls, + "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1"), + ) + setattr(cls, "Bitstream-Charter", PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", PermissibleValue(text="Boehm-GC")) + setattr( + cls, + "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause"), + ) + setattr(cls, "BSD-1-Clause", PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", PermissibleValue(text="BSD-2-Clause")) + setattr( + cls, "BSD-2-Clause-Patent", PermissibleValue(text="BSD-2-Clause-Patent") + ) + setattr(cls, "BSD-2-Clause-Views", PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", PermissibleValue(text="BSD-3-Clause")) + setattr( + cls, + "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution"), + ) + setattr(cls, "BSD-3-Clause-Clear", PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr( + cls, + "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification"), + ) + setattr( + cls, + "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty"), + ) + setattr( + cls, "BSD-3-Clause-Open-MPI", PermissibleValue(text="BSD-3-Clause-Open-MPI") + ) + setattr(cls, "BSD-4-Clause", PermissibleValue(text="BSD-4-Clause")) + setattr( + cls, + "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened"), + ) + setattr(cls, "BSD-4-Clause-UC", PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", PermissibleValue(text="BSD-4.3TAHOE")) + setattr( + cls, + "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement"), + ) + setattr( + cls, + "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer"), + ) + setattr(cls, "BSD-Protection", PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", PermissibleValue(text="CAL-1.0")) + setattr( + cls, + "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception"), + ) + setattr(cls, "CATOSL-1.1", PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr( + cls, "CC-BY-NC-ND-3.0-IGO", PermissibleValue(text="CC-BY-NC-ND-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-ND-4.0", PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr( + cls, "CC-BY-NC-SA-3.0-IGO", PermissibleValue(text="CC-BY-NC-SA-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-SA-4.0", PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", PermissibleValue(text="CDL-1.0")) + setattr( + cls, "CDLA-Permissive-1.0", PermissibleValue(text="CDLA-Permissive-1.0") + ) + setattr( + cls, "CDLA-Permissive-2.0", PermissibleValue(text="CDLA-Permissive-2.0") + ) + setattr(cls, "CDLA-Sharing-1.0", PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", PermissibleValue(text="CNRI-Python")) + setattr( + cls, + "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible"), + ) + setattr(cls, "COIL-1.0", PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", PermissibleValue(text="Condor-1.1")) + setattr( + cls, "copyleft-next-0.3.0", PermissibleValue(text="copyleft-next-0.3.0") + ) + setattr( + cls, "copyleft-next-0.3.1", PermissibleValue(text="copyleft-next-0.3.1") + ) + setattr( + cls, "Cornell-Lossless-JPEG", PermissibleValue(text="Cornell-Lossless-JPEG") + ) + setattr(cls, "CPAL-1.0", PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", PermissibleValue(text="FreeBSD-DOC")) + setattr( + cls, + "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.1-only", PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", PermissibleValue(text="GFDL-1.1-or-later")) + setattr( + cls, + "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.2-only", PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", PermissibleValue(text="GFDL-1.2-or-later")) + setattr( + cls, + "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.3-only", PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", PermissibleValue(text="HPND-sell-variant")) + setattr( + cls, + "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer"), + ) + setattr(cls, "IBM-pibs", PermissibleValue(text="IBM-pibs")) + setattr( + cls, + "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA"), + ) + setattr(cls, "IJG-short", PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", PermissibleValue(text="LAL-1.3")) + setattr( + cls, + "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice"), + ) + setattr(cls, "LGPL-2.0-only", PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", PermissibleValue(text="libselinux-1.0")) + setattr( + cls, "libutil-David-Nugent", PermissibleValue(text="libutil-David-Nugent") + ) + setattr(cls, "LiLiQ-P-1.1", PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr( + cls, + "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var"), + ) + setattr(cls, "Linux-OpenIB", PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", PermissibleValue(text="LPPL-1.3c")) + setattr( + cls, "LZMA-SDK-9.11-to-9.20", PermissibleValue(text="LZMA-SDK-9.11-to-9.20") + ) + setattr(cls, "LZMA-SDK-9.22", PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", PermissibleValue(text="MPL-2.0")) + setattr( + cls, + "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception"), + ) + setattr(cls, "MS-LPL", PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", PermissibleValue(text="PHP-3.01")) + setattr( + cls, + "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0"), + ) + setattr( + cls, + "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0"), + ) + setattr(cls, "PSF-2.0", PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", PermissibleValue(text="Widget-Workshop")) + setattr( + cls, + "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant"), + ) + setattr(cls, "Xdebug-1.03", PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", PermissibleValue(text="Zimbra-1.4")) + setattr( + cls, "zlib-acknowledgement", PermissibleValue(text="zlib-acknowledgement") + ) + setattr(cls, "ZPL-1.1", PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", PermissibleValue(text="ZPL-2.1")) + class OSDistribution(EnumDefinitionImpl): """ Possible values for operating system distribution. """ + Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") FreeBSD = PermissibleValue(text="FreeBSD") @@ -5426,35 +5130,37 @@ class OSDistribution(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) + setattr(cls, "Alpine Linux", PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", PermissibleValue(text="Mandriva Linux")) + setattr( + cls, + "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server"), + ) + setattr(cls, "MS-DOS", PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", PermissibleValue(text="Rocky Linux")) + setattr( + cls, + "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux"), + ) + setattr( + cls, + "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop"), + ) + setattr(cls, "Microsoft Windows", PermissibleValue(text="Microsoft Windows")) + class HypervisorType(EnumDefinitionImpl): """ Possible values for hypervisor types. """ + quemu = PermissibleValue(text="quemu") KVM = PermissibleValue(text="KVM") Xen = PermissibleValue(text="Xen") @@ -5468,35 +5174,34 @@ class HypervisorType(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) + setattr(cls, "Hyper-V", PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", PermissibleValue(text="Cloud Hypervisor")) -class PersonalDataProtectionRegime(EnumDefinitionImpl): +class PersonalDataProtectionRegime(EnumDefinitionImpl): GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") + text="GDPR2016", description="General Data Protection Regulation / EEA." + ) LGPD2019 = PermissibleValue( text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.", + ) PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") + text="PDPA2012", description="Personal Data Protection Act 2012 / SGP." + ) CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") + text="CCPA2018", description="California Consumer Privacy Act / US-CA." + ) VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") + text="VCDPA2021", description="Virginia Consumer Data Protection Act / US-VA." + ) _defn = EnumDefinition( name="PersonalDataProtectionRegime", ) -class RequestTypes(EnumDefinitionImpl): +class RequestTypes(EnumDefinitionImpl): API = PermissibleValue(text="API") email = PermissibleValue(text="email") webform = PermissibleValue(text="webform") @@ -5508,21 +5213,23 @@ class RequestTypes(EnumDefinitionImpl): name="RequestTypes", ) -class AccessTypes(EnumDefinitionImpl): +class AccessTypes(EnumDefinitionImpl): digital = PermissibleValue( text="digital", - description="Access via digital service, such as e-mail or web form.") + description="Access via digital service, such as e-mail or web form.", + ) physical = PermissibleValue( text="physical", - description="Access via physical medium, such as letter or physical appointment.") + description="Access via physical medium, such as letter or physical appointment.", + ) _defn = EnumDefinition( name="AccessTypes", ) -class MIMETypes(EnumDefinitionImpl): +class MIMETypes(EnumDefinitionImpl): calendar = PermissibleValue(text="calendar") cql = PermissibleValue(text="cql") css = PermissibleValue(text="css") @@ -5674,3012 +5381,4151 @@ class MIMETypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) + setattr( + cls, + "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec"), + ) + setattr(cls, "cache-manifest", PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", PermissibleValue(text="csv-schema")) + setattr( + cls, + "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350"), + ) + setattr( + cls, + "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "grammar-ref-list", PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", PermissibleValue(text="jcr-cnd")) + setattr( + cls, "provenance-notation", PermissibleValue(text="provenance-notation") + ) + setattr( + cls, "prs.fallenstein.rst", PermissibleValue(text="prs.fallenstein.rst") + ) + setattr(cls, "prs.lines.tag", PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", PermissibleValue(text="rtp-enc-aescm128")) + setattr( + cls, "tab-separated-values", PermissibleValue(text="tab-separated-values") + ) + setattr(cls, "uri-list", PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", PermissibleValue(text="vnd.curl")) + setattr( + cls, "vnd.debian.copyright", PermissibleValue(text="vnd.debian.copyright") + ) + setattr(cls, "vnd.DMClientScript", PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", PermissibleValue(text="vnd.dvb.subtitle")) + setattr( + cls, + "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor"), + ) + setattr(cls, "vnd.exchangeable", PermissibleValue(text="vnd.exchangeable")) + setattr( + cls, + "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom"), + ) + setattr(cls, "vnd.ficlab.flt", PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", PermissibleValue(text="vnd.latex-z")) + setattr( + cls, "vnd.motorola.reflex", PermissibleValue(text="vnd.motorola.reflex") + ) + setattr( + cls, "vnd.ms-mediapackage", PermissibleValue(text="vnd.ms-mediapackage") + ) + setattr( + cls, + "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command"), + ) + setattr( + cls, + "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout"), + ) + setattr( + cls, "vnd.senx.warpscript", PermissibleValue(text="vnd.senx.warpscript") + ) + setattr( + cls, "vnd.si.uricatalogue", PermissibleValue(text="vnd.si.uricatalogue") + ) + setattr( + cls, + "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor"), + ) + setattr(cls, "vnd.sosi", PermissibleValue(text="vnd.sosi")) + setattr( + cls, + "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist"), + ) + setattr(cls, "vnd.wap.si", PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", PermissibleValue(text="vnd.wap.wmlscript")) + setattr( + cls, + "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity"), + ) + setattr( + cls, + "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml"), + ) + setattr(cls, "3gppHal+json", PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", PermissibleValue(text="alto-cdni+json")) + setattr( + cls, "alto-cdnifilter+json", PermissibleValue(text="alto-cdnifilter+json") + ) + setattr(cls, "alto-costmap+json", PermissibleValue(text="alto-costmap+json")) + setattr( + cls, + "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json"), + ) + setattr( + cls, "alto-directory+json", PermissibleValue(text="alto-directory+json") + ) + setattr( + cls, + "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json"), + ) + setattr( + cls, + "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json"), + ) + setattr( + cls, + "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json"), + ) + setattr( + cls, + "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json"), + ) + setattr(cls, "alto-error+json", PermissibleValue(text="alto-error+json")) + setattr( + cls, + "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json"), + ) + setattr( + cls, "alto-networkmap+json", PermissibleValue(text="alto-networkmap+json") + ) + setattr(cls, "alto-propmap+json", PermissibleValue(text="alto-propmap+json")) + setattr( + cls, + "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json"), + ) + setattr( + cls, + "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json"), + ) + setattr( + cls, + "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json"), + ) + setattr(cls, "andrew-inset", PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", PermissibleValue(text="atsc-dwd+xml")) + setattr( + cls, + "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message"), + ) + setattr(cls, "atsc-held+xml", PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", PermissibleValue(text="auth-policy+xml")) + setattr( + cls, "automationml-aml+xml", PermissibleValue(text="automationml-aml+xml") + ) + setattr( + cls, "automationml-amlx+zip", PermissibleValue(text="automationml-amlx+zip") + ) + setattr(cls, "bacnet-xdd+zip", PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", PermissibleValue(text="coap-payload")) + setattr( + cls, + "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor"), + ) + setattr( + cls, "conference-info+xml", PermissibleValue(text="conference-info+xml") + ) + setattr(cls, "cpl+xml", PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", PermissibleValue(text="elm+xml")) + setattr( + cls, + "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml"), + ) + setattr( + cls, + "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml"), + ) + setattr( + cls, + "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml"), + ) + setattr( + cls, + "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD"), + ) + setattr( + cls, + "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json"), + ) + setattr( + cls, + "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml"), + ) + setattr(cls, "emma+xml", PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", PermissibleValue(text="epub+zip")) + setattr( + cls, "expect-ct-report+json", PermissibleValue(text="expect-ct-report+json") + ) + setattr(cls, "fdt+xml", PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", PermissibleValue(text="fhir+xml")) + setattr( + cls, + "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt"), + ) + setattr(cls, "font-tdpfr", PermissibleValue(text="font-tdpfr")) + setattr( + cls, + "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff"), + ) + setattr( + cls, + "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml"), + ) + setattr(cls, "geo+json", PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", PermissibleValue(text="hl7v2+xml")) + setattr( + cls, "ibe-key-request+xml", PermissibleValue(text="ibe-key-request+xml") + ) + setattr(cls, "ibe-pkg-reply+xml", PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", PermissibleValue(text="index.obj")) + setattr(cls, "index.response", PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", PermissibleValue(text="java-archive")) + setattr( + cls, + "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "jf2feed+json", PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", PermissibleValue(text="mathml-content+xml")) + setattr( + cls, + "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml"), + ) + setattr( + cls, + "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml"), + ) + setattr( + cls, "mbms-deregister+xml", PermissibleValue(text="mbms-deregister+xml") + ) + setattr(cls, "mbms-envelope+xml", PermissibleValue(text="mbms-envelope+xml")) + setattr( + cls, "mbms-msk-response+xml", PermissibleValue(text="mbms-msk-response+xml") + ) + setattr(cls, "mbms-msk+xml", PermissibleValue(text="mbms-msk+xml")) + setattr( + cls, + "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml"), + ) + setattr( + cls, + "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml"), + ) + setattr( + cls, + "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml"), + ) + setattr(cls, "mbms-register+xml", PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", PermissibleValue(text="mbms-schedule+xml")) + setattr( + cls, + "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml"), + ) + setattr(cls, "media_control+xml", PermissibleValue(text="media_control+xml")) + setattr( + cls, + "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml"), + ) + setattr( + cls, + "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml"), + ) + setattr(cls, "merge-patch+json", PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", PermissibleValue(text="mets+xml")) + setattr( + cls, + "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq"), + ) + setattr(cls, "mmt-aei+xml", PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", PermissibleValue(text="nlsml+xml")) + setattr( + cls, "oauth-authz-req+jwt", PermissibleValue(text="oauth-authz-req+jwt") + ) + setattr( + cls, "oblivious-dns-message", PermissibleValue(text="oblivious-dns-message") + ) + setattr(cls, "ocsp-request", PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", PermissibleValue(text="p2p-overlay+xml")) + setattr( + cls, "patch-ops-error+xml", PermissibleValue(text="patch-ops-error+xml") + ) + setattr( + cls, "pem-certificate-chain", PermissibleValue(text="pem-certificate-chain") + ) + setattr(cls, "pgp-encrypted", PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", PermissibleValue(text="provenance+xml")) + setattr( + cls, + "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet"), + ) + setattr(cls, "prs.cww", PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", PermissibleValue(text="prs.hpub+zip")) + setattr( + cls, + "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml"), + ) + setattr( + cls, + "prs.implied-executable", + PermissibleValue(text="prs.implied-executable"), + ) + setattr( + cls, "prs.implied-structure", PermissibleValue(text="prs.implied-structure") + ) + setattr(cls, "prs.nprend", PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", PermissibleValue(text="reginfo+xml")) + setattr( + cls, + "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax"), + ) + setattr( + cls, + "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)"), + ) + setattr(cls, "reputon+json", PermissibleValue(text="reputon+json")) + setattr( + cls, + "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml"), + ) + setattr(cls, "resource-lists+xml", PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", PermissibleValue(text="samlmetadata+xml")) + setattr( + cls, + "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json"), + ) + setattr(cls, "sarif+json", PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", PermissibleValue(text="session-info")) + setattr(cls, "set-payment", PermissibleValue(text="set-payment")) + setattr( + cls, + "set-payment-initiation", + PermissibleValue(text="set-payment-initiation"), + ) + setattr(cls, "set-registration", PermissibleValue(text="set-registration")) + setattr( + cls, + "set-registration-initiation", + PermissibleValue(text="set-registration-initiation"), + ) + setattr(cls, "sgml-open-catalog", PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", PermissibleValue(text="simple-filter+xml")) + setattr( + cls, + "simple-message-summary", + PermissibleValue(text="simple-message-summary"), + ) + setattr( + cls, + "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)"), + ) + setattr(cls, "smil+xml", PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", PermissibleValue(text="tamp-apex-update")) + setattr( + cls, + "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm"), + ) + setattr( + cls, "tamp-community-update", PermissibleValue(text="tamp-community-update") + ) + setattr( + cls, + "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm"), + ) + setattr(cls, "tamp-error", PermissibleValue(text="tamp-error")) + setattr( + cls, "tamp-sequence-adjust", PermissibleValue(text="tamp-sequence-adjust") + ) + setattr( + cls, + "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm"), + ) + setattr(cls, "tamp-status-query", PermissibleValue(text="tamp-status-query")) + setattr( + cls, "tamp-status-response", PermissibleValue(text="tamp-status-response") + ) + setattr(cls, "tamp-update", PermissibleValue(text="tamp-update")) + setattr( + cls, "tamp-update-confirm", PermissibleValue(text="tamp-update-confirm") + ) + setattr(cls, "taxii+json", PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", PermissibleValue(text="tm+json")) + setattr( + cls, + "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt"), + ) + setattr( + cls, "trickle-ice-sdpfrag", PermissibleValue(text="trickle-ice-sdpfrag") + ) + setattr(cls, "ttml+xml", PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", PermissibleValue(text="urc-targetdesc+xml")) + setattr( + cls, "urc-uisocketdesc+xml", PermissibleValue(text="urc-uisocketdesc+xml") + ) + setattr(cls, "vcard+json", PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", PermissibleValue(text="vcard+xml")) + setattr( + cls, + "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml"), + ) + setattr(cls, "vnd.1ob", PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", PermissibleValue(text="vnd.3gpp.5gnas")) + setattr( + cls, + "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml"), + ) + setattr(cls, "vnd.3gpp.bsf+xml", PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr( + cls, + "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml"), + ) + setattr(cls, "vnd.3gpp.GMOP+xml", PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", PermissibleValue(text="vnd.3gpp.gtpc")) + setattr( + cls, + "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data"), + ) + setattr(cls, "vnd.3gpp.lpp", PermissibleValue(text="vnd.3gpp.lpp")) + setattr( + cls, + "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue( + text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" + ), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml"), + ) + setattr( + cls, "vnd.3gpp.mid-call+xml", PermissibleValue(text="vnd.3gpp.mid-call+xml") + ) + setattr(cls, "vnd.3gpp.ngap", PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", PermissibleValue(text="vnd.3gpp.pfcp")) + setattr( + cls, "vnd.3gpp.pic-bw-large", PermissibleValue(text="vnd.3gpp.pic-bw-large") + ) + setattr( + cls, "vnd.3gpp.pic-bw-small", PermissibleValue(text="vnd.3gpp.pic-bw-small") + ) + setattr( + cls, "vnd.3gpp.pic-bw-var", PermissibleValue(text="vnd.3gpp.pic-bw-var") + ) + setattr( + cls, + "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml"), + ) + setattr(cls, "vnd.3gpp-prose+xml", PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", PermissibleValue(text="vnd.3gpp.s1ap")) + setattr( + cls, + "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml"), + ) + setattr(cls, "vnd.3gpp.sms", PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr( + cls, + "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml"), + ) + setattr( + cls, + "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml"), + ) + setattr(cls, "vnd.3gpp.ussd+xml", PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr( + cls, "vnd.3gpp.vae-info+xml", PermissibleValue(text="vnd.3gpp.vae-info+xml") + ) + setattr( + cls, + "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information"), + ) + setattr( + cls, + "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml"), + ) + setattr(cls, "vnd.3gpp2.sms", PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", PermissibleValue(text="vnd.3gpp.v2x")) + setattr( + cls, + "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal"), + ) + setattr( + cls, "vnd.3M.Post-it-Notes", PermissibleValue(text="vnd.3M.Post-it-Notes") + ) + setattr( + cls, "vnd.accpac.simply.aso", PermissibleValue(text="vnd.accpac.simply.aso") + ) + setattr( + cls, "vnd.accpac.simply.imp", PermissibleValue(text="vnd.accpac.simply.imp") + ) + setattr( + cls, + "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json"), + ) + setattr( + cls, "vnd.acm.chatbot+json", PermissibleValue(text="vnd.acm.chatbot+json") + ) + setattr(cls, "vnd.acucobol", PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", PermissibleValue(text="vnd.acucorp")) + setattr( + cls, "vnd.adobe.flash.movie", PermissibleValue(text="vnd.adobe.flash.movie") + ) + setattr( + cls, + "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt"), + ) + setattr(cls, "vnd.adobe.fxp", PermissibleValue(text="vnd.adobe.fxp")) + setattr( + cls, + "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload"), + ) + setattr(cls, "vnd.adobe.xdp+xml", PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", PermissibleValue(text="vnd.aether.imp")) + setattr( + cls, "vnd.afpc.afplinedata", PermissibleValue(text="vnd.afpc.afplinedata") + ) + setattr( + cls, + "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef"), + ) + setattr( + cls, + "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource"), + ) + setattr( + cls, "vnd.afpc.foca-charset", PermissibleValue(text="vnd.afpc.foca-charset") + ) + setattr( + cls, + "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont"), + ) + setattr( + cls, + "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage"), + ) + setattr(cls, "vnd.afpc.modca", PermissibleValue(text="vnd.afpc.modca")) + setattr( + cls, + "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable"), + ) + setattr( + cls, + "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef"), + ) + setattr( + cls, + "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap"), + ) + setattr( + cls, + "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer"), + ) + setattr( + cls, + "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay"), + ) + setattr( + cls, + "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment"), + ) + setattr(cls, "vnd.age", PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", PermissibleValue(text="vnd.ahead.space")) + setattr( + cls, + "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf"), + ) + setattr( + cls, + "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs"), + ) + setattr(cls, "vnd.amadeus+json", PermissibleValue(text="vnd.amadeus+json")) + setattr( + cls, + "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook"), + ) + setattr( + cls, + "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc"), + ) + setattr(cls, "vnd.amiga.ami", PermissibleValue(text="vnd.amiga.ami")) + setattr( + cls, "vnd.amundsen.maze+xml", PermissibleValue(text="vnd.amundsen.maze+xml") + ) + setattr(cls, "vnd.android.ota", PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", PermissibleValue(text="vnd.anki")) + setattr( + cls, + "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation"), + ) + setattr( + cls, + "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component"), + ) + setattr( + cls, "vnd.apache.arrow.file", PermissibleValue(text="vnd.apache.arrow.file") + ) + setattr( + cls, + "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream"), + ) + setattr( + cls, + "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary"), + ) + setattr( + cls, + "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact"), + ) + setattr( + cls, + "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json"), + ) + setattr(cls, "vnd.apexlang", PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", PermissibleValue(text="vnd.api+json")) + setattr( + cls, + "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json"), + ) + setattr( + cls, + "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json"), + ) + setattr( + cls, + "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml"), + ) + setattr(cls, "vnd.apple.keynote", PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", PermissibleValue(text="vnd.apple.pages")) + setattr( + cls, + "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue( + text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" + ), + ) + setattr( + cls, + "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi"), + ) + setattr(cls, "vnd.artisan+json", PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", PermissibleValue(text="vnd.artsquare")) + setattr( + cls, + "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota"), + ) + setattr(cls, "vnd.audiograph", PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", PermissibleValue(text="vnd.avistar+xml")) + setattr( + cls, "vnd.balsamiq.bmml+xml", PermissibleValue(text="vnd.balsamiq.bmml+xml") + ) + setattr( + cls, "vnd.banana-accounting", PermissibleValue(text="vnd.banana-accounting") + ) + setattr(cls, "vnd.bbf.usp.error", PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", PermissibleValue(text="vnd.bbf.usp.msg")) + setattr( + cls, "vnd.bbf.usp.msg+json", PermissibleValue(text="vnd.bbf.usp.msg+json") + ) + setattr(cls, "vnd.balsamiq.bmpr", PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr( + cls, + "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json"), + ) + setattr( + cls, + "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip"), + ) + setattr( + cls, + "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip"), + ) + setattr( + cls, "vnd.bint.med-content", PermissibleValue(text="vnd.bint.med-content") + ) + setattr(cls, "vnd.biopax.rdf+xml", PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr( + cls, + "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper"), + ) + setattr( + cls, "vnd.blueice.multipass", PermissibleValue(text="vnd.blueice.multipass") + ) + setattr( + cls, "vnd.bluetooth.ep.oob", PermissibleValue(text="vnd.bluetooth.ep.oob") + ) + setattr( + cls, "vnd.bluetooth.le.oob", PermissibleValue(text="vnd.bluetooth.le.oob") + ) + setattr(cls, "vnd.bmi", PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", PermissibleValue(text="vnd.bpf3")) + setattr( + cls, "vnd.businessobjects", PermissibleValue(text="vnd.businessobjects") + ) + setattr(cls, "vnd.byu.uapi+json", PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", PermissibleValue(text="vnd.canon-lips")) + setattr( + cls, + "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json"), + ) + setattr( + cls, + "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf"), + ) + setattr( + cls, + "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream"), + ) + setattr(cls, "vnd.chemdraw+xml", PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", PermissibleValue(text="vnd.chess-pgn")) + setattr( + cls, + "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd"), + ) + setattr(cls, "vnd.ciedi", PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", PermissibleValue(text="vnd.cinderella")) + setattr( + cls, "vnd.cirpack.isdn-ext", PermissibleValue(text="vnd.cirpack.isdn-ext") + ) + setattr( + cls, + "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml"), + ) + setattr(cls, "vnd.claymore", PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", PermissibleValue(text="vnd.clonk.c4group")) + setattr( + cls, + "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config"), + ) + setattr( + cls, + "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov"), + ) + setattr( + cls, + "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json"), + ) + setattr(cls, "vnd.coffeescript", PermissibleValue(text="vnd.coffeescript")) + setattr( + cls, + "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template"), + ) + setattr( + cls, + "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json"), + ) + setattr( + cls, "vnd.collection+json", PermissibleValue(text="vnd.collection+json") + ) + setattr( + cls, + "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json"), + ) + setattr(cls, "vnd.comicbook-rar", PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", PermissibleValue(text="vnd.comicbook+zip")) + setattr( + cls, "vnd.commerce-battelle", PermissibleValue(text="vnd.commerce-battelle") + ) + setattr(cls, "vnd.commonspace", PermissibleValue(text="vnd.commonspace")) + setattr( + cls, + "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json"), + ) + setattr(cls, "vnd.cosmocaller", PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", PermissibleValue(text="vnd.crick.clicker")) + setattr( + cls, + "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard"), + ) + setattr( + cls, + "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette"), + ) + setattr( + cls, + "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template"), + ) + setattr( + cls, + "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank"), + ) + setattr( + cls, + "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml"), + ) + setattr( + cls, "vnd.cryptii.pipe+json", PermissibleValue(text="vnd.cryptii.pipe+json") + ) + setattr( + cls, "vnd.crypto-shade-file", PermissibleValue(text="vnd.crypto-shade-file") + ) + setattr( + cls, + "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted"), + ) + setattr( + cls, "vnd.cryptomator.vault", PermissibleValue(text="vnd.cryptomator.vault") + ) + setattr(cls, "vnd.ctc-posml", PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", PermissibleValue(text="vnd.cups-pdf")) + setattr( + cls, "vnd.cups-postscript", PermissibleValue(text="vnd.cups-postscript") + ) + setattr(cls, "vnd.cups-ppd", PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", PermissibleValue(text="vnd.cups-raw")) + setattr( + cls, + "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml"), + ) + setattr(cls, "vnd.cybank", PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", PermissibleValue(text="vnd.cyclonedx+xml")) + setattr( + cls, + "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip"), + ) + setattr(cls, "vnd.d3m-dataset", PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", PermissibleValue(text="vnd.dart")) + setattr( + cls, "vnd.data-vision.rdz", PermissibleValue(text="vnd.data-vision.rdz") + ) + setattr(cls, "vnd.datalog", PermissibleValue(text="vnd.datalog")) + setattr( + cls, "vnd.datapackage+json", PermissibleValue(text="vnd.datapackage+json") + ) + setattr( + cls, "vnd.dataresource+json", PermissibleValue(text="vnd.dataresource+json") + ) + setattr(cls, "vnd.dbf", PermissibleValue(text="vnd.dbf")) + setattr( + cls, + "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package"), + ) + setattr(cls, "vnd.dece.data", PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", PermissibleValue(text="vnd.dece.ttml+xml")) + setattr( + cls, "vnd.dece.unspecified", PermissibleValue(text="vnd.dece.unspecified") + ) + setattr(cls, "vnd.dece.zip", PermissibleValue(text="vnd.dece.zip")) + setattr( + cls, + "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link"), + ) + setattr(cls, "vnd.desmume.movie", PermissibleValue(text="vnd.desmume.movie")) + setattr( + cls, + "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix"), + ) + setattr( + cls, "vnd.dm.delegation+xml", PermissibleValue(text="vnd.dm.delegation+xml") + ) + setattr(cls, "vnd.dna", PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", PermissibleValue(text="vnd.dolby.mobile.2")) + setattr( + cls, + "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document"), + ) + setattr(cls, "vnd.dpgraph", PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", PermissibleValue(text="vnd.dtg.local")) + setattr( + cls, "vnd.dtg.local.flash", PermissibleValue(text="vnd.dtg.local.flash") + ) + setattr(cls, "vnd.dtg.local.html", PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", PermissibleValue(text="vnd.dvb.dvbj")) + setattr( + cls, "vnd.dvb.esgcontainer", PermissibleValue(text="vnd.dvb.esgcontainer") + ) + setattr( + cls, + "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess"), + ) + setattr( + cls, "vnd.dvb.ipdcesgaccess", PermissibleValue(text="vnd.dvb.ipdcesgaccess") + ) + setattr( + cls, + "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2"), + ) + setattr(cls, "vnd.dvb.ipdcesgpdd", PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr( + cls, "vnd.dvb.ipdcroaming", PermissibleValue(text="vnd.dvb.ipdcroaming") + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base"), + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement"), + ) + setattr( + cls, + "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml"), + ) + setattr(cls, "vnd.dvb.pfr", PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", PermissibleValue(text="vnd.dzr")) + setattr( + cls, + "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload"), + ) + setattr(cls, "vnd.ecip.rlp", PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", PermissibleValue(text="vnd.ecdis-update")) + setattr( + cls, + "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json"), + ) + setattr(cls, "vnd.ecowin.chart", PermissibleValue(text="vnd.ecowin.chart")) + setattr( + cls, + "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest"), + ) + setattr( + cls, "vnd.ecowin.fileupdate", PermissibleValue(text="vnd.ecowin.fileupdate") + ) + setattr(cls, "vnd.ecowin.series", PermissibleValue(text="vnd.ecowin.series")) + setattr( + cls, + "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest"), + ) + setattr( + cls, + "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate"), + ) + setattr(cls, "vnd.efi.img", PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", PermissibleValue(text="vnd.eln+zip")) + setattr( + cls, + "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml"), + ) + setattr(cls, "vnd.enliven", PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", PermissibleValue(text="vnd.enphase.envoy")) + setattr( + cls, "vnd.eprints.data+xml", PermissibleValue(text="vnd.eprints.data+xml") + ) + setattr(cls, "vnd.epson.esf", PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", PermissibleValue(text="vnd.epson.msf")) + setattr( + cls, "vnd.epson.quickanime", PermissibleValue(text="vnd.epson.quickanime") + ) + setattr(cls, "vnd.epson.salt", PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", PermissibleValue(text="vnd.epson.ssf")) + setattr( + cls, + "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall"), + ) + setattr( + cls, "vnd.espass-espass+zip", PermissibleValue(text="vnd.espass-espass+zip") + ) + setattr(cls, "vnd.eszigno3+xml", PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr( + cls, "vnd.etsi.asic-s+zip", PermissibleValue(text="vnd.etsi.asic-s+zip") + ) + setattr( + cls, "vnd.etsi.asic-e+zip", PermissibleValue(text="vnd.etsi.asic-e+zip") + ) + setattr(cls, "vnd.etsi.cug+xml", PermissibleValue(text="vnd.etsi.cug+xml")) + setattr( + cls, + "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml"), + ) + setattr( + cls, "vnd.etsi.iptvsync+xml", PermissibleValue(text="vnd.etsi.iptvsync+xml") + ) + setattr( + cls, + "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml"), + ) + setattr(cls, "vnd.etsi.mcid+xml", PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", PermissibleValue(text="vnd.etsi.mheg5")) + setattr( + cls, + "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml"), + ) + setattr(cls, "vnd.etsi.pstn+xml", PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", PermissibleValue(text="vnd.etsi.sci+xml")) + setattr( + cls, "vnd.etsi.simservs+xml", PermissibleValue(text="vnd.etsi.simservs+xml") + ) + setattr( + cls, + "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token"), + ) + setattr(cls, "vnd.etsi.tsl+xml", PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", PermissibleValue(text="vnd.etsi.tsl.der")) + setattr( + cls, + "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json"), + ) + setattr(cls, "vnd.eudora.data", PermissibleValue(text="vnd.eudora.data")) + setattr( + cls, + "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile"), + ) + setattr( + cls, + "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings"), + ) + setattr( + cls, "vnd.evolv.ecig.theme", PermissibleValue(text="vnd.evolv.ecig.theme") + ) + setattr( + cls, + "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip"), + ) + setattr( + cls, "vnd.exstream-package", PermissibleValue(text="vnd.exstream-package") + ) + setattr(cls, "vnd.ezpix-album", PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", PermissibleValue(text="vnd.ezpix-package")) + setattr( + cls, "vnd.f-secure.mobile", PermissibleValue(text="vnd.f-secure.mobile") + ) + setattr( + cls, + "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image"), + ) + setattr( + cls, + "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip"), + ) + setattr(cls, "vnd.fdsn.mseed", PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", PermissibleValue(text="vnd.fints")) + setattr( + cls, + "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell"), + ) + setattr(cls, "vnd.FloGraphIt", PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", PermissibleValue(text="vnd.fluxtime.clip")) + setattr( + cls, + "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd"), + ) + setattr(cls, "vnd.framemaker", PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", PermissibleValue(text="vnd.freelog.comic")) + setattr( + cls, + "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)"), + ) + setattr( + cls, + "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)"), + ) + setattr(cls, "vnd.fsc.weblaunch", PermissibleValue(text="vnd.fsc.weblaunch")) + setattr( + cls, + "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container"), + ) + setattr( + cls, + "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml"), + ) + setattr(cls, "vnd.fujitsu.oasys", PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr( + cls, "vnd.fujitsu.oasysgp", PermissibleValue(text="vnd.fujitsu.oasysgp") + ) + setattr( + cls, "vnd.fujitsu.oasysprs", PermissibleValue(text="vnd.fujitsu.oasysprs") + ) + setattr(cls, "vnd.fujixerox.ART4", PermissibleValue(text="vnd.fujixerox.ART4")) + setattr( + cls, "vnd.fujixerox.ART-EX", PermissibleValue(text="vnd.fujixerox.ART-EX") + ) + setattr(cls, "vnd.fujixerox.ddd", PermissibleValue(text="vnd.fujixerox.ddd")) + setattr( + cls, + "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container"), + ) + setattr(cls, "vnd.fujixerox.HBPL", PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", PermissibleValue(text="vnd.fuzzysheet")) + setattr( + cls, "vnd.genomatix.tuxedo", PermissibleValue(text="vnd.genomatix.tuxedo") + ) + setattr(cls, "vnd.genozip", PermissibleValue(text="vnd.genozip")) + setattr( + cls, "vnd.gentics.grd+json", PermissibleValue(text="vnd.gentics.grd+json") + ) + setattr( + cls, + "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml"), + ) + setattr(cls, "vnd.gentoo.ebuild", PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", PermissibleValue(text="vnd.gentoo.gpkg")) + setattr( + cls, "vnd.gentoo.manifest", PermissibleValue(text="vnd.gentoo.manifest") + ) + setattr(cls, "vnd.gentoo.xpak", PermissibleValue(text="vnd.gentoo.xpak")) + setattr( + cls, + "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml"), + ) + setattr( + cls, + "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue( + text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" + ), + ) + setattr( + cls, + "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)"), + ) + setattr(cls, "vnd.geogebra.file", PermissibleValue(text="vnd.geogebra.file")) + setattr( + cls, "vnd.geogebra.slides", PermissibleValue(text="vnd.geogebra.slides") + ) + setattr(cls, "vnd.geogebra.tool", PermissibleValue(text="vnd.geogebra.tool")) + setattr( + cls, "vnd.geometry-explorer", PermissibleValue(text="vnd.geometry-explorer") + ) + setattr(cls, "vnd.geonext", PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", PermissibleValue(text="vnd.gerber")) + setattr( + cls, + "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt"), + ) + setattr( + cls, + "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response"), + ) + setattr( + cls, "vnd.gmx - DEPRECATED", PermissibleValue(text="vnd.gmx - DEPRECATED") + ) + setattr( + cls, + "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json"), + ) + setattr( + cls, + "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json"), + ) + setattr( + cls, + "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml"), + ) + setattr( + cls, "vnd.google-earth.kmz", PermissibleValue(text="vnd.google-earth.kmz") + ) + setattr( + cls, "vnd.gov.sk.e-form+xml", PermissibleValue(text="vnd.gov.sk.e-form+xml") + ) + setattr( + cls, "vnd.gov.sk.e-form+zip", PermissibleValue(text="vnd.gov.sk.e-form+zip") + ) + setattr( + cls, + "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml"), + ) + setattr(cls, "vnd.gpxsee.map+xml", PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", PermissibleValue(text="vnd.groove-help")) + setattr( + cls, + "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message"), + ) + setattr( + cls, "vnd.groove-injector", PermissibleValue(text="vnd.groove-injector") + ) + setattr( + cls, + "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message"), + ) + setattr( + cls, + "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template"), + ) + setattr(cls, "vnd.groove-vcard", PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", PermissibleValue(text="vnd.hal+xml")) + setattr( + cls, + "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml"), + ) + setattr(cls, "vnd.hbci", PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", PermissibleValue(text="vnd.heroku+json")) + setattr( + cls, "vnd.hhe.lesson-player", PermissibleValue(text="vnd.hhe.lesson-player") + ) + setattr(cls, "vnd.hp-HPGL", PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", PermissibleValue(text="vnd.httphone")) + setattr( + cls, + "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data"), + ) + setattr( + cls, "vnd.hyper-item+json", PermissibleValue(text="vnd.hyper-item+json") + ) + setattr(cls, "vnd.hyper+json", PermissibleValue(text="vnd.hyper+json")) + setattr( + cls, "vnd.hyperdrive+json", PermissibleValue(text="vnd.hyperdrive+json") + ) + setattr( + cls, "vnd.hzn-3d-crossword", PermissibleValue(text="vnd.hzn-3d-crossword") + ) + setattr( + cls, + "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue( + text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" + ), + ) + setattr( + cls, + "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media"), + ) + setattr(cls, "vnd.ibm.MiniPay", PermissibleValue(text="vnd.ibm.MiniPay")) + setattr( + cls, + "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue( + text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" + ), + ) + setattr( + cls, + "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management"), + ) + setattr( + cls, + "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container"), + ) + setattr(cls, "vnd.iccprofile", PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", PermissibleValue(text="vnd.igloader")) + setattr( + cls, + "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip"), + ) + setattr( + cls, + "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip"), + ) + setattr( + cls, "vnd.immervision-ivp", PermissibleValue(text="vnd.immervision-ivp") + ) + setattr( + cls, "vnd.immervision-ivu", PermissibleValue(text="vnd.immervision-ivu") + ) + setattr(cls, "vnd.ims.imsccv1p1", PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr( + cls, + "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json"), + ) + setattr( + cls, + "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml"), + ) + setattr( + cls, "vnd.infotech.project", PermissibleValue(text="vnd.infotech.project") + ) + setattr( + cls, + "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml"), + ) + setattr( + cls, + "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue( + text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" + ), + ) + setattr( + cls, + "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification"), + ) + setattr(cls, "vnd.insors.igm", PermissibleValue(text="vnd.insors.igm")) + setattr( + cls, "vnd.intercon.formnet", PermissibleValue(text="vnd.intercon.formnet") + ) + setattr(cls, "vnd.intergeo", PermissibleValue(text="vnd.intergeo")) + setattr( + cls, + "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox"), + ) + setattr( + cls, "vnd.intertrust.nncp", PermissibleValue(text="vnd.intertrust.nncp") + ) + setattr(cls, "vnd.intu.qbo", PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", PermissibleValue(text="vnd.intu.qfx")) + setattr( + cls, "vnd.ipfs.ipns-record", PermissibleValue(text="vnd.ipfs.ipns-record") + ) + setattr(cls, "vnd.ipld.car", PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", PermissibleValue(text="vnd.ipld.raw")) + setattr( + cls, + "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml"), + ) + setattr( + cls, + "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile"), + ) + setattr( + cls, + "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml"), + ) + setattr(cls, "vnd.is-xpr", PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", PermissibleValue(text="vnd.jam")) + setattr( + cls, "vnd.iso11783-10+zip", PermissibleValue(text="vnd.iso11783-10+zip") + ) + setattr( + cls, + "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service"), + ) + setattr( + cls, + "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup"), + ) + setattr( + cls, + "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration"), + ) + setattr( + cls, + "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup"), + ) + setattr( + cls, + "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification"), + ) + setattr( + cls, + "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup"), + ) + setattr( + cls, + "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms"), + ) + setattr(cls, "vnd.jisp", PermissibleValue(text="vnd.jisp")) + setattr( + cls, + "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive"), + ) + setattr(cls, "vnd.jsk.isdn-ngn", PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", PermissibleValue(text="vnd.koan")) + setattr( + cls, "vnd.kodak-descriptor", PermissibleValue(text="vnd.kodak-descriptor") + ) + setattr(cls, "vnd.las", PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", PermissibleValue(text="vnd.leap+json")) + setattr( + cls, + "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml"), + ) + setattr( + cls, + "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip"), + ) + setattr(cls, "vnd.loom", PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", PermissibleValue(text="vnd.lotus-approach")) + setattr( + cls, "vnd.lotus-freelance", PermissibleValue(text="vnd.lotus-freelance") + ) + setattr(cls, "vnd.lotus-notes", PermissibleValue(text="vnd.lotus-notes")) + setattr( + cls, "vnd.lotus-organizer", PermissibleValue(text="vnd.lotus-organizer") + ) + setattr( + cls, "vnd.lotus-screencam", PermissibleValue(text="vnd.lotus-screencam") + ) + setattr(cls, "vnd.lotus-wordpro", PermissibleValue(text="vnd.lotus-wordpro")) + setattr( + cls, "vnd.macports.portpkg", PermissibleValue(text="vnd.macports.portpkg") + ) + setattr( + cls, + "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile"), + ) + setattr( + cls, + "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml"), + ) + setattr( + cls, "vnd.marlin.drm.mdcf", PermissibleValue(text="vnd.marlin.drm.mdcf") + ) + setattr(cls, "vnd.mason+json", PermissibleValue(text="vnd.mason+json")) + setattr( + cls, + "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip"), + ) + setattr( + cls, + "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db"), + ) + setattr(cls, "vnd.mcd", PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", PermissibleValue(text="vnd.medcalcdata")) + setattr( + cls, + "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey"), + ) + setattr( + cls, + "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr"), + ) + setattr( + cls, + "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot"), + ) + setattr(cls, "vnd.mermaid", PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", PermissibleValue(text="vnd.micrografx.igx")) + setattr( + cls, + "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable"), + ) + setattr( + cls, + "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache"), + ) + setattr(cls, "vnd.miele+json", PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", PermissibleValue(text="vnd.mif")) + setattr( + cls, + "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save"), + ) + setattr( + cls, + "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb"), + ) + setattr(cls, "vnd.Mobius.DAF", PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", PermissibleValue(text="vnd.modl")) + setattr( + cls, + "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application"), + ) + setattr( + cls, + "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate"), + ) + setattr( + cls, + "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem"), + ) + setattr(cls, "vnd.motorola.iprm", PermissibleValue(text="vnd.motorola.iprm")) + setattr( + cls, "vnd.mozilla.xul+xml", PermissibleValue(text="vnd.mozilla.xul+xml") + ) + setattr(cls, "vnd.ms-artgalry", PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", PermissibleValue(text="vnd.ms-asf")) + setattr( + cls, "vnd.ms-cab-compressed", PermissibleValue(text="vnd.ms-cab-compressed") + ) + setattr(cls, "vnd.ms-3mfdocument", PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", PermissibleValue(text="vnd.ms-excel")) + setattr( + cls, + "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-fontobject", PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", PermissibleValue(text="vnd.ms-lrm")) + setattr( + cls, + "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml"), + ) + setattr(cls, "vnd.ms-officetheme", PermissibleValue(text="vnd.ms-officetheme")) + setattr( + cls, + "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml"), + ) + setattr(cls, "vnd.ms-powerpoint", PermissibleValue(text="vnd.ms-powerpoint")) + setattr( + cls, + "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml"), + ) + setattr( + cls, + "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml"), + ) + setattr(cls, "vnd.ms-project", PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", PermissibleValue(text="vnd.ms-tnef")) + setattr( + cls, + "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing"), + ) + setattr( + cls, + "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob"), + ) + setattr( + cls, + "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing"), + ) + setattr( + cls, + "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob"), + ) + setattr( + cls, + "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req"), + ) + setattr( + cls, "vnd.ms-wmdrm.lic-resp", PermissibleValue(text="vnd.ms-wmdrm.lic-resp") + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req"), + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp"), + ) + setattr( + cls, + "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-works", PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", PermissibleValue(text="vnd.msign")) + setattr( + cls, "vnd.multiad.creator", PermissibleValue(text="vnd.multiad.creator") + ) + setattr( + cls, + "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif"), + ) + setattr(cls, "vnd.musician", PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", PermissibleValue(text="vnd.mynfc")) + setattr( + cls, + "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json"), + ) + setattr(cls, "vnd.ncd.control", PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", PermissibleValue(text="vnd.ncd.reference")) + setattr( + cls, "vnd.nearst.inv+json", PermissibleValue(text="vnd.nearst.inv+json") + ) + setattr(cls, "vnd.nebumind.line", PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", PermissibleValue(text="vnd.netfpx")) + setattr( + cls, "vnd.neurolanguage.nlu", PermissibleValue(text="vnd.neurolanguage.nlu") + ) + setattr(cls, "vnd.nimn", PermissibleValue(text="vnd.nimn")) + setattr( + cls, "vnd.nintendo.snes.rom", PermissibleValue(text="vnd.nintendo.snes.rom") + ) + setattr( + cls, + "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom"), + ) + setattr(cls, "vnd.nitf", PermissibleValue(text="vnd.nitf")) + setattr( + cls, + "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory"), + ) + setattr( + cls, "vnd.noblenet-sealer", PermissibleValue(text="vnd.noblenet-sealer") + ) + setattr(cls, "vnd.noblenet-web", PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", PermissibleValue(text="vnd.nokia.catalogs")) + setattr( + cls, "vnd.nokia.conml+wbxml", PermissibleValue(text="vnd.nokia.conml+wbxml") + ) + setattr( + cls, "vnd.nokia.conml+xml", PermissibleValue(text="vnd.nokia.conml+xml") + ) + setattr( + cls, + "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml"), + ) + setattr( + cls, + "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets"), + ) + setattr( + cls, + "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml"), + ) + setattr( + cls, + "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml"), + ) + setattr( + cls, + "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml"), + ) + setattr(cls, "vnd.nokia.ncd", PermissibleValue(text="vnd.nokia.ncd")) + setattr( + cls, + "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml"), + ) + setattr( + cls, "vnd.nokia.n-gage.data", PermissibleValue(text="vnd.nokia.n-gage.data") + ) + setattr( + cls, + "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE"), + ) + setattr( + cls, "vnd.nokia.pcd+wbxml", PermissibleValue(text="vnd.nokia.pcd+wbxml") + ) + setattr(cls, "vnd.nokia.pcd+xml", PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr( + cls, + "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset"), + ) + setattr( + cls, + "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets"), + ) + setattr(cls, "vnd.novadigm.EDM", PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", PermissibleValue(text="vnd.novadigm.EXT")) + setattr( + cls, + "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share"), + ) + setattr( + cls, + "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer"), + ) + setattr( + cls, + "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream"), + ) + setattr( + cls, + "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue( + text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" + ), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula"), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web"), + ) + setattr(cls, "vnd.obn", PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", PermissibleValue(text="vnd.ocf+cbor")) + setattr( + cls, + "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json"), + ) + setattr(cls, "vnd.oftn.l10n+json", PermissibleValue(text="vnd.oftn.l10n+json")) + setattr( + cls, + "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml"), + ) + setattr( + cls, + "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml"), + ) + setattr( + cls, + "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary"), + ) + setattr( + cls, "vnd.oipf.dae.svg+xml", PermissibleValue(text="vnd.oipf.dae.svg+xml") + ) + setattr( + cls, + "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml"), + ) + setattr( + cls, + "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml"), + ) + setattr(cls, "vnd.oipf.pae.gem", PermissibleValue(text="vnd.oipf.pae.gem")) + setattr( + cls, + "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml"), + ) + setattr( + cls, "vnd.oipf.spdlist+xml", PermissibleValue(text="vnd.oipf.spdlist+xml") + ) + setattr( + cls, + "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml"), + ) + setattr( + cls, + "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml"), + ) + setattr(cls, "vnd.olpc-sugar", PermissibleValue(text="vnd.olpc-sugar")) + setattr( + cls, + "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml"), + ) + setattr( + cls, "vnd.oma.bcast.imd+xml", PermissibleValue(text="vnd.oma.bcast.imd+xml") + ) + setattr(cls, "vnd.oma.bcast.ltkm", PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr( + cls, + "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger"), + ) + setattr( + cls, "vnd.oma.bcast.sgboot", PermissibleValue(text="vnd.oma.bcast.sgboot") + ) + setattr( + cls, + "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml"), + ) + setattr(cls, "vnd.oma.bcast.sgdu", PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr( + cls, + "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container"), + ) + setattr( + cls, + "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml"), + ) + setattr(cls, "vnd.oma.bcast.stkm", PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr( + cls, + "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml"), + ) + setattr( + cls, + "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml"), + ) + setattr( + cls, "vnd.oma.cab-pcc+xml", PermissibleValue(text="vnd.oma.cab-pcc+xml") + ) + setattr( + cls, + "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml"), + ) + setattr( + cls, + "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml"), + ) + setattr(cls, "vnd.oma.dcd", PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", PermissibleValue(text="vnd.oma.dd2+xml")) + setattr( + cls, "vnd.oma.drm.risd+xml", PermissibleValue(text="vnd.oma.drm.risd+xml") + ) + setattr( + cls, + "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml"), + ) + setattr(cls, "vnd.oma.lwm2m+cbor", PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", PermissibleValue(text="vnd.oma.pal+xml")) + setattr( + cls, + "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml"), + ) + setattr( + cls, + "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml"), + ) + setattr( + cls, + "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml"), + ) + setattr(cls, "vnd.oma.push", PermissibleValue(text="vnd.oma.push")) + setattr( + cls, + "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml"), + ) + setattr( + cls, + "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml"), + ) + setattr( + cls, "vnd.omads-email+xml", PermissibleValue(text="vnd.omads-email+xml") + ) + setattr(cls, "vnd.omads-file+xml", PermissibleValue(text="vnd.omads-file+xml")) + setattr( + cls, "vnd.omads-folder+xml", PermissibleValue(text="vnd.omads-folder+xml") + ) + setattr( + cls, "vnd.omaloc-supl-init", PermissibleValue(text="vnd.omaloc-supl-init") + ) + setattr( + cls, "vnd.oma-scws-config", PermissibleValue(text="vnd.oma-scws-config") + ) + setattr( + cls, + "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request"), + ) + setattr( + cls, + "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response"), + ) + setattr(cls, "vnd.onepager", PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", PermissibleValue(text="vnd.onvif.metadata")) + setattr( + cls, + "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary"), + ) + setattr( + cls, "vnd.openblox.game+xml", PermissibleValue(text="vnd.openblox.game+xml") + ) + setattr(cls, "vnd.openeye.oeb", PermissibleValue(text="vnd.openeye.oeb")) + setattr( + cls, + "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml"), + ) + setattr( + cls, + "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.custom-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.customXmlProperties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chart+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.extended-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tags+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.themeOverride+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue( + text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml"), + ) + setattr( + cls, + "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json"), + ) + setattr(cls, "vnd.orange.indata", PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", PermissibleValue(text="vnd.osa.netdeploy")) + setattr( + cls, + "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package"), + ) + setattr(cls, "vnd.osgi.bundle", PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", PermissibleValue(text="vnd.osgi.subsystem")) + setattr( + cls, "vnd.otps.ct-kip+xml", PermissibleValue(text="vnd.otps.ct-kip+xml") + ) + setattr( + cls, "vnd.oxli.countgraph", PermissibleValue(text="vnd.oxli.countgraph") + ) + setattr(cls, "vnd.pagerduty+json", PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", PermissibleValue(text="vnd.patentdive")) + setattr( + cls, "vnd.patientecommsdoc", PermissibleValue(text="vnd.patientecommsdoc") + ) + setattr(cls, "vnd.pawaafile", PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", PermissibleValue(text="vnd.pg.osasli")) + setattr( + cls, + "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence"), + ) + setattr(cls, "vnd.picsel", PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", PermissibleValue(text="vnd.pmi.widget")) + setattr( + cls, + "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml"), + ) + setattr(cls, "vnd.pocketlearn", PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", PermissibleValue(text="vnd.powerbuilder6")) + setattr( + cls, "vnd.powerbuilder6-s", PermissibleValue(text="vnd.powerbuilder6-s") + ) + setattr(cls, "vnd.powerbuilder7", PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", PermissibleValue(text="vnd.powerbuilder75")) + setattr( + cls, "vnd.powerbuilder75-s", PermissibleValue(text="vnd.powerbuilder75-s") + ) + setattr( + cls, "vnd.powerbuilder7-s", PermissibleValue(text="vnd.powerbuilder7-s") + ) + setattr(cls, "vnd.preminet", PermissibleValue(text="vnd.preminet")) + setattr( + cls, + "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box"), + ) + setattr( + cls, "vnd.proteus.magazine", PermissibleValue(text="vnd.proteus.magazine") + ) + setattr(cls, "vnd.psfs", PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", PermissibleValue(text="vnd.pt.mundusmundi")) + setattr( + cls, + "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree"), + ) + setattr(cls, "vnd.pvi.ptid1", PermissibleValue(text="vnd.pvi.ptid1")) + setattr( + cls, "vnd.pwg-multiplexed", PermissibleValue(text="vnd.pwg-multiplexed") + ) + setattr( + cls, + "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml"), + ) + setattr( + cls, + "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res"), + ) + setattr(cls, "vnd.quarantainenet", PermissibleValue(text="vnd.quarantainenet")) + setattr( + cls, "vnd.Quark.QuarkXPress", PermissibleValue(text="vnd.Quark.QuarkXPress") + ) + setattr( + cls, + "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument"), + ) + setattr( + cls, "vnd.radisys.moml+xml", PermissibleValue(text="vnd.radisys.moml+xml") + ) + setattr( + cls, + "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml"), + ) + setattr( + cls, "vnd.radisys.msml+xml", PermissibleValue(text="vnd.radisys.msml+xml") + ) + setattr(cls, "vnd.rainstor.data", PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", PermissibleValue(text="vnd.realvnc.bed")) + setattr( + cls, + "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml"), + ) + setattr( + cls, + "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml"), + ) + setattr(cls, "vnd.relpipe", PermissibleValue(text="vnd.relpipe")) + setattr( + cls, "vnd.RenLearn.rlprint", PermissibleValue(text="vnd.RenLearn.rlprint") + ) + setattr( + cls, "vnd.resilient.logic", PermissibleValue(text="vnd.resilient.logic") + ) + setattr(cls, "vnd.restful+json", PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", PermissibleValue(text="vnd.rig.cryptonote")) + setattr( + cls, + "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml"), + ) + setattr(cls, "vnd.rs-274x", PermissibleValue(text="vnd.rs-274x")) + setattr( + cls, "vnd.ruckus.download", PermissibleValue(text="vnd.ruckus.download") + ) + setattr(cls, "vnd.s3sms", PermissibleValue(text="vnd.s3sms")) + setattr( + cls, + "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track"), + ) + setattr(cls, "vnd.sar", PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", PermissibleValue(text="vnd.sealed.xls")) + setattr( + cls, + "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html"), + ) + setattr( + cls, + "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf"), + ) + setattr(cls, "vnd.seemail", PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", PermissibleValue(text="vnd.semf")) + setattr( + cls, "vnd.shade-save-file", PermissibleValue(text="vnd.shade-save-file") + ) + setattr( + cls, + "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata"), + ) + setattr( + cls, + "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate"), + ) + setattr( + cls, + "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange"), + ) + setattr( + cls, + "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package"), + ) + setattr( + cls, "vnd.shootproof+json", PermissibleValue(text="vnd.shootproof+json") + ) + setattr(cls, "vnd.shopkick+json", PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", PermissibleValue(text="vnd.sigrok.session")) + setattr( + cls, + "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper"), + ) + setattr(cls, "vnd.siren+json", PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", PermissibleValue(text="vnd.smart.teacher")) + setattr( + cls, + "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive"), + ) + setattr( + cls, + "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table"), + ) + setattr( + cls, + "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml"), + ) + setattr( + cls, + "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip"), + ) + setattr( + cls, "vnd.solent.sdkm+xml", PermissibleValue(text="vnd.solent.sdkm+xml") + ) + setattr(cls, "vnd.spotfire.dxp", PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", PermissibleValue(text="vnd.sss-ntf")) + setattr( + cls, "vnd.stepmania.package", PermissibleValue(text="vnd.stepmania.package") + ) + setattr( + cls, + "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart"), + ) + setattr(cls, "vnd.street-stream", PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", PermissibleValue(text="vnd.syft+json")) + setattr( + cls, + "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification"), + ) + setattr( + cls, "vnd.syncml.dmddf+xml", PermissibleValue(text="vnd.syncml.dmddf+xml") + ) + setattr( + cls, + "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml"), + ) + setattr( + cls, "vnd.syncml.dmtnds+xml", PermissibleValue(text="vnd.syncml.dmtnds+xml") + ) + setattr( + cls, + "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml"), + ) + setattr( + cls, "vnd.syncml.dm+wbxml", PermissibleValue(text="vnd.syncml.dm+wbxml") + ) + setattr(cls, "vnd.syncml.dm+xml", PermissibleValue(text="vnd.syncml.dm+xml")) + setattr( + cls, + "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification"), + ) + setattr(cls, "vnd.syncml+xml", PermissibleValue(text="vnd.syncml+xml")) + setattr( + cls, "vnd.tableschema+json", PermissibleValue(text="vnd.tableschema+json") + ) + setattr( + cls, + "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive"), + ) + setattr(cls, "vnd.tcpdump.pcap", PermissibleValue(text="vnd.tcpdump.pcap")) + setattr( + cls, + "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json"), + ) + setattr(cls, "vnd.tml", PermissibleValue(text="vnd.tml")) + setattr( + cls, + "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml"), + ) + setattr(cls, "vnd.tmobile-livetv", PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", PermissibleValue(text="vnd.truedoc")) + setattr( + cls, "vnd.ubisoft.webplayer", PermissibleValue(text="vnd.ubisoft.webplayer") + ) + setattr(cls, "vnd.ufdl", PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", PermissibleValue(text="vnd.uplanet.alert")) + setattr( + cls, + "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml"), + ) + setattr( + cls, "vnd.uplanet.cacheop", PermissibleValue(text="vnd.uplanet.cacheop") + ) + setattr( + cls, + "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml"), + ) + setattr( + cls, "vnd.uplanet.channel", PermissibleValue(text="vnd.uplanet.channel") + ) + setattr( + cls, + "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml"), + ) + setattr(cls, "vnd.uplanet.list", PermissibleValue(text="vnd.uplanet.list")) + setattr( + cls, "vnd.uplanet.listcmd", PermissibleValue(text="vnd.uplanet.listcmd") + ) + setattr( + cls, + "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml"), + ) + setattr(cls, "vnd.uri-map", PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", PermissibleValue(text="vnd.uplanet.signal")) + setattr( + cls, + "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material"), + ) + setattr(cls, "vnd.vcx", PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", PermissibleValue(text="vnd.vel+json")) + setattr( + cls, "vnd.verimatrix.vcas", PermissibleValue(text="vnd.verimatrix.vcas") + ) + setattr( + cls, + "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json"), + ) + setattr(cls, "vnd.veryant.thin", PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", PermissibleValue(text="vnd.ves.encrypted")) + setattr( + cls, + "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference"), + ) + setattr(cls, "vnd.visio", PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", PermissibleValue(text="vnd.visionary")) + setattr( + cls, + "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile"), + ) + setattr(cls, "vnd.vsf", PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", PermissibleValue(text="vnd.wfa.wsc")) + setattr( + cls, + "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing"), + ) + setattr(cls, "vnd.wmc", PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", PermissibleValue(text="vnd.wmf.bootstrap")) + setattr( + cls, + "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica"), + ) + setattr( + cls, + "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package"), + ) + setattr(cls, "vnd.wolfram.player", PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", PermissibleValue(text="vnd.wqd")) + setattr( + cls, + "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled"), + ) + setattr(cls, "vnd.wt.stf", PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr( + cls, "vnd.yamaha.hv-script", PermissibleValue(text="vnd.yamaha.hv-script") + ) + setattr( + cls, "vnd.yamaha.hv-voice", PermissibleValue(text="vnd.yamaha.hv-voice") + ) + setattr( + cls, + "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml"), + ) + setattr( + cls, + "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat"), + ) + setattr( + cls, + "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup"), + ) + setattr( + cls, "vnd.yamaha.smaf-audio", PermissibleValue(text="vnd.yamaha.smaf-audio") + ) + setattr( + cls, + "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase"), + ) + setattr( + cls, + "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn"), + ) + setattr( + cls, + "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap"), + ) + setattr(cls, "vnd.yaoweme", PermissibleValue(text="vnd.yaoweme")) + setattr( + cls, + "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu"), + ) + setattr( + cls, + "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue( + text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" + ), + ) + setattr(cls, "vnd.zul", PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", PermissibleValue(text="watcherinfo+xml")) + setattr( + cls, "webpush-options+json", PermissibleValue(text="webpush-options+json") + ) + setattr(cls, "whoispp-query", PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", PermissibleValue(text="x-pki-message")) + setattr( + cls, "x-www-form-urlencoded", PermissibleValue(text="x-www-form-urlencoded") + ) + setattr(cls, "x-x509-ca-cert", PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", PermissibleValue(text="x-x509-ca-ra-cert")) + setattr( + cls, "x-x509-next-ca-cert", PermissibleValue(text="x-x509-next-ca-cert") + ) + setattr(cls, "x400-bp", PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", PermissibleValue(text="xcap-ns+xml")) + setattr( + cls, + "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml"), + ) + setattr( + cls, + "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml"), + ) + setattr(cls, "xenc+xml", PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", PermissibleValue(text="yin+xml")) -class ProvisionTypes(EnumDefinitionImpl): +class ProvisionTypes(EnumDefinitionImpl): private = PermissibleValue( text="private", - description="A service, which is provided for one customer exclusively.") + description="A service, which is provided for one customer exclusively.", + ) public = PermissibleValue( text="public", - description="A service, which is used by several customers, simultaneously.") + description="A service, which is used by several customers, simultaneously.", + ) hybrid = PermissibleValue( text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""", + ) _defn = EnumDefinition( name="ProvisionTypes", ) -class TenantSeparation(EnumDefinitionImpl): - physical = PermissibleValue( - text="physical", - description="TBD") +class TenantSeparation(EnumDefinitionImpl): + physical = PermissibleValue(text="physical", description="TBD") _defn = EnumDefinition( name="TenantSeparation", @@ -8687,31 +9533,38 @@ class TenantSeparation(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) + setattr( + cls, + "hw-virtualized", + PermissibleValue(text="hw-virtualized", description="TBD"), + ) + setattr( + cls, + "sw-virtualized", + PermissibleValue(text="sw-virtualized", description="TBD"), + ) + setattr( + cls, + "os-virtualized", + PermissibleValue(text="os-virtualized", description="TBD"), + ) + setattr( + cls, + "os-hw-virtualized", + PermissibleValue(text="os-hw-virtualized", description="TBD"), + ) + setattr( + cls, + "hw-partitioned", + PermissibleValue(text="hw-partitioned", description="TBD"), + ) + class FirmType(EnumDefinitionImpl): """ Possible values for VM image's firmerequired hypervisor. """ + BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") other = PermissibleValue(text="other") @@ -8721,36 +9574,41 @@ class FirmType(EnumDefinitionImpl): description="Possible values for VM image's firmerequired hypervisor.", ) + class WatchDogActions(EnumDefinitionImpl): """ Possible values for VM image's watchdog actions. """ + disabled = PermissibleValue( text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") + description="No watchdog is enabled. No action will be performed if server hangs.", + ) reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") + text="reset", description="Restart of guest us forced if server hangs." + ) poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") + text="poweroff", description="Power of of guest is forced if server hangs." + ) pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") + text="pause", description="Pause of guest is forced, if server hangs." + ) none = PermissibleValue( text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") + description="Watchdog is enabled, but not action is defined and performed if server hangs.", + ) _defn = EnumDefinition( name="WatchDogActions", description="Possible values for VM image's watchdog actions.", ) -class RNGTypes(EnumDefinitionImpl): +class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random generator is based in electronic quantum effects.", + ) _defn = EnumDefinition( name="RNGTypes", @@ -8758,25 +9616,41 @@ class RNGTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Electrical noise", + setattr( + cls, + "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", + description="Hardware random generator is based on electronic noise.", + ), + ) + setattr( + cls, + "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", + description="Hardware random generator is based on chaos.", + ), + ) + setattr( + cls, + "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", + description="Hardware random generator is based in electronic free-running oscillators.", + ), + ) + setattr( + cls, + "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.", + ), + ) -class VMDiskType(EnumDefinitionImpl): +class VMDiskType(EnumDefinitionImpl): RAW = PermissibleValue(text="RAW") QCOW2 = PermissibleValue(text="QCOW2") VHD = PermissibleValue(text="VHD") @@ -8789,464 +9663,1407 @@ class VMDiskType(EnumDefinitionImpl): name="VMDiskType", ) + # Slots class slots: pass -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), - model_uri=GX.checkSum__checkSumValue, domain=None, range=str) - -slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), - model_uri=GX.signature__signatureValue, domain=None, range=str) - -slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), - model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) +slots.value = Slot( + uri=QUDT.value, + name="value", + curie=QUDT.curie("value"), + model_uri=GX.value, + domain=None, + range=float, +) + +slots.unit = Slot( + uri=QUDT.unit, + name="unit", + curie=QUDT.curie("unit"), + model_uri=GX.unit, + domain=None, + range=str, +) + +slots.address__countryCode = Slot( + uri=GX.countryCode, + name="address__countryCode", + curie=GX.curie("countryCode"), + model_uri=GX.address__countryCode, + domain=None, + range=str, +) + +slots.address__gps = Slot( + uri=GX.gps, + name="address__gps", + curie=GX.curie("gps"), + model_uri=GX.address__gps, + domain=None, + range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]], +) + +slots.address__streetAddress = Slot( + uri=VCARD["street-address"], + name="address__streetAddress", + curie=VCARD.curie("street-address"), + model_uri=GX.address__streetAddress, + domain=None, + range=Optional[str], +) + +slots.address__postalCode = Slot( + uri=VCARD["postal-code"], + name="address__postalCode", + curie=VCARD.curie("postal-code"), + model_uri=GX.address__postalCode, + domain=None, + range=Optional[str], +) + +slots.address__locality = Slot( + uri=VCARD.locality, + name="address__locality", + curie=VCARD.curie("locality"), + model_uri=GX.address__locality, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__latitude = Slot( + uri=GX.latitude, + name="gPSLocation__latitude", + curie=GX.curie("latitude"), + model_uri=GX.gPSLocation__latitude, + domain=None, + range=str, +) + +slots.gPSLocation__longitude = Slot( + uri=GX.longitude, + name="gPSLocation__longitude", + curie=GX.curie("longitude"), + model_uri=GX.gPSLocation__longitude, + domain=None, + range=str, +) + +slots.gPSLocation__altitude = Slot( + uri=GX.altitude, + name="gPSLocation__altitude", + curie=GX.curie("altitude"), + model_uri=GX.gPSLocation__altitude, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__crs = Slot( + uri=GX.crs, + name="gPSLocation__crs", + curie=GX.curie("crs"), + model_uri=GX.gPSLocation__crs, + domain=None, + range=Optional[str], + pattern=re.compile(r"^CRS"), +) + +slots.gPSUnit__degrees = Slot( + uri=GX.degrees, + name="gPSUnit__degrees", + curie=GX.curie("degrees"), + model_uri=GX.gPSUnit__degrees, + domain=None, + range=int, +) + +slots.gPSUnit__minutes = Slot( + uri=GX.minutes, + name="gPSUnit__minutes", + curie=GX.curie("minutes"), + model_uri=GX.gPSUnit__minutes, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__seconds = Slot( + uri=GX.seconds, + name="gPSUnit__seconds", + curie=GX.curie("seconds"), + model_uri=GX.gPSUnit__seconds, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__decimals = Slot( + uri=GX.decimals, + name="gPSUnit__decimals", + curie=GX.curie("decimals"), + model_uri=GX.gPSUnit__decimals, + domain=None, + range=Optional[float], +) + +slots.gaiaXEntity__name = Slot( + uri=GX.name, + name="gaiaXEntity__name", + curie=GX.curie("name"), + model_uri=GX.gaiaXEntity__name, + domain=None, + range=Optional[str], +) + +slots.gaiaXEntity__description = Slot( + uri=GX.description, + name="gaiaXEntity__description", + curie=GX.curie("description"), + model_uri=GX.gaiaXEntity__description, + domain=None, + range=Optional[str], +) + +slots.cPU__cpuArchitecture = Slot( + uri=GX.cpuArchitecture, + name="cPU__cpuArchitecture", + curie=GX.curie("cpuArchitecture"), + model_uri=GX.cPU__cpuArchitecture, + domain=None, + range=Optional[Union[str, "Architectures"]], +) + +slots.cPU__cpuFlag = Slot( + uri=GX.cpuFlag, + name="cPU__cpuFlag", + curie=GX.curie("cpuFlag"), + model_uri=GX.cPU__cpuFlag, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.cPU__smtEnabled = Slot( + uri=GX.smtEnabled, + name="cPU__smtEnabled", + curie=GX.curie("smtEnabled"), + model_uri=GX.cPU__smtEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.cPU__numberOfCores = Slot( + uri=GX.numberOfCores, + name="cPU__numberOfCores", + curie=GX.curie("numberOfCores"), + model_uri=GX.cPU__numberOfCores, + domain=None, + range=Optional[int], +) + +slots.cPU__numberOfThreads = Slot( + uri=GX.numberOfThreads, + name="cPU__numberOfThreads", + curie=GX.curie("numberOfThreads"), + model_uri=GX.cPU__numberOfThreads, + domain=None, + range=Optional[int], +) + +slots.cPU__baseFrequency = Slot( + uri=GX.baseFrequency, + name="cPU__baseFrequency", + curie=GX.curie("baseFrequency"), + model_uri=GX.cPU__baseFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__boostFrequency = Slot( + uri=GX.boostFrequency, + name="cPU__boostFrequency", + curie=GX.curie("boostFrequency"), + model_uri=GX.cPU__boostFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__lastLevelCacheSize = Slot( + uri=GX.lastLevelCacheSize, + name="cPU__lastLevelCacheSize", + curie=GX.curie("lastLevelCacheSize"), + model_uri=GX.cPU__lastLevelCacheSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.cPU__thermalDesignPower = Slot( + uri=GX.thermalDesignPower, + name="cPU__thermalDesignPower", + curie=GX.curie("thermalDesignPower"), + model_uri=GX.cPU__thermalDesignPower, + domain=None, + range=Optional[Union[dict, Power]], +) + +slots.encryption__cipher = Slot( + uri=GX.cipher, + name="encryption__cipher", + curie=GX.curie("cipher"), + model_uri=GX.encryption__cipher, + domain=None, + range=Union[str, "EncryptionAlgorithm"], +) + +slots.encryption__keyManagement = Slot( + uri=GX.keyManagement, + name="encryption__keyManagement", + curie=GX.curie("keyManagement"), + model_uri=GX.encryption__keyManagement, + domain=None, + range=Union[str, "KeyManagement"], +) + +slots.checkSum__checkSumCalculation = Slot( + uri=GX.checkSumCalculation, + name="checkSum__checkSumCalculation", + curie=GX.curie("checkSumCalculation"), + model_uri=GX.checkSum__checkSumCalculation, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.checkSum__checkSumValue = Slot( + uri=GX.checkSumValue, + name="checkSum__checkSumValue", + curie=GX.curie("checkSumValue"), + model_uri=GX.checkSum__checkSumValue, + domain=None, + range=str, +) + +slots.signature__signatureValue = Slot( + uri=GX.signatureValue, + name="signature__signatureValue", + curie=GX.curie("signatureValue"), + model_uri=GX.signature__signatureValue, + domain=None, + range=str, +) + +slots.signature__hashAlgorithm = Slot( + uri=GX.hashAlgorithm, + name="signature__hashAlgorithm", + curie=GX.curie("hashAlgorithm"), + model_uri=GX.signature__hashAlgorithm, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.signature__signatureAlgorithm = Slot( + uri=GX.signatureAlgorithm, + name="signature__signatureAlgorithm", + curie=GX.curie("signatureAlgorithm"), + model_uri=GX.signature__signatureAlgorithm, + domain=None, + range=Union[str, "SignatureAlgorithm"], +) + +slots.device__vendor = Slot( + uri=GX.vendor, + name="device__vendor", + curie=GX.curie("vendor"), + model_uri=GX.device__vendor, + domain=None, + range=Optional[str], +) + +slots.device__generation = Slot( + uri=GX.generation, + name="device__generation", + curie=GX.curie("generation"), + model_uri=GX.device__generation, + domain=None, + range=Optional[str], +) + +slots.device__defaultOversubscriptionRatio = Slot( + uri=GX.defaultOversubscriptionRatio, + name="device__defaultOversubscriptionRatio", + curie=GX.curie("defaultOversubscriptionRatio"), + model_uri=GX.device__defaultOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.device__supportedOversubscriptionRatio = Slot( + uri=GX.supportedOversubscriptionRatio, + name="device__supportedOversubscriptionRatio", + curie=GX.curie("supportedOversubscriptionRatio"), + model_uri=GX.device__supportedOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.disk__diskSize = Slot( + uri=GX.diskSize, + name="disk__diskSize", + curie=GX.curie("diskSize"), + model_uri=GX.disk__diskSize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.disk__diskType = Slot( + uri=GX.diskType, + name="disk__diskType", + curie=GX.curie("diskType"), + model_uri=GX.disk__diskType, + domain=None, + range=Optional[Union[str, "DiskTypes"]], +) + +slots.disk__diskBusType = Slot( + uri=GX.diskBusType, + name="disk__diskBusType", + curie=GX.curie("diskBusType"), + model_uri=GX.disk__diskBusType, + domain=None, + range=Optional[str], +) + +slots.endpoint__endpointURL = Slot( + uri=GX.endpointURL, + name="endpoint__endpointURL", + curie=GX.curie("endpointURL"), + model_uri=GX.endpoint__endpointURL, + domain=None, + range=Optional[Union[str, URI]], +) + +slots.endpoint__standardConformity = Slot( + uri=GX.standardConformity, + name="endpoint__standardConformity", + curie=GX.curie("standardConformity"), + model_uri=GX.endpoint__standardConformity, + domain=None, + range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]], +) + +slots.endpoint__formalDescription = Slot( + uri=GX.formalDescription, + name="endpoint__formalDescription", + curie=GX.curie("formalDescription"), + model_uri=GX.endpoint__formalDescription, + domain=None, + range=Optional[str], +) + +slots.gPU__gpuMemory = Slot( + uri=GX.gpuMemory, + name="gPU__gpuMemory", + curie=GX.curie("gpuMemory"), + model_uri=GX.gPU__gpuMemory, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.gPU__gpuInterconnection = Slot( + uri=GX.gpuInterconnection, + name="gPU__gpuInterconnection", + curie=GX.curie("gpuInterconnection"), + model_uri=GX.gPU__gpuInterconnection, + domain=None, + range=Optional[Union[str, "GPUInterconnetionTypes"]], +) + +slots.gPU__gpuProcessingUnits = Slot( + uri=GX.gpuProcessingUnits, + name="gPU__gpuProcessingUnits", + curie=GX.curie("gpuProcessingUnits"), + model_uri=GX.gPU__gpuProcessingUnits, + domain=None, + range=Optional[int], +) + +slots.gPU__gpuPassthrough = Slot( + uri=GX.gpuPassthrough, + name="gPU__gpuPassthrough", + curie=GX.curie("gpuPassthrough"), + model_uri=GX.gPU__gpuPassthrough, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__fileSize = Slot( + uri=GX.fileSize, + name="image__fileSize", + curie=GX.curie("fileSize"), + model_uri=GX.image__fileSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__operatingSystem = Slot( + uri=GX.operatingSystem, + name="image__operatingSystem", + curie=GX.curie("operatingSystem"), + model_uri=GX.image__operatingSystem, + domain=None, + range=Optional[Union[dict, OperatingSystem]], +) + +slots.image__cpuReq = Slot( + uri=GX.cpuReq, + name="image__cpuReq", + curie=GX.curie("cpuReq"), + model_uri=GX.image__cpuReq, + domain=None, + range=Optional[Union[dict, CPU]], +) + +slots.image__gpuReq = Slot( + uri=GX.gpuReq, + name="image__gpuReq", + curie=GX.curie("gpuReq"), + model_uri=GX.image__gpuReq, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.image__ramReq = Slot( + uri=GX.ramReq, + name="image__ramReq", + curie=GX.curie("ramReq"), + model_uri=GX.image__ramReq, + domain=None, + range=Optional[Union[dict, Memory]], +) + +slots.image__videoRamSize = Slot( + uri=GX.videoRamSize, + name="image__videoRamSize", + curie=GX.curie("videoRamSize"), + model_uri=GX.image__videoRamSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__rootDiskReq = Slot( + uri=GX.rootDiskReq, + name="image__rootDiskReq", + curie=GX.curie("rootDiskReq"), + model_uri=GX.image__rootDiskReq, + domain=None, + range=Optional[Union[dict, Disk]], +) + +slots.image__encryption = Slot( + uri=GX.encryption, + name="image__encryption", + curie=GX.curie("encryption"), + model_uri=GX.image__encryption, + domain=None, + range=Optional[Union[dict, Encryption]], +) + +slots.image__checkSum = Slot( + uri=GX.checkSum, + name="image__checkSum", + curie=GX.curie("checkSum"), + model_uri=GX.image__checkSum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.image__secureBoot = Slot( + uri=GX.secureBoot, + name="image__secureBoot", + curie=GX.curie("secureBoot"), + model_uri=GX.image__secureBoot, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__vPMU = Slot( + uri=GX.vPMU, + name="image__vPMU", + curie=GX.curie("vPMU"), + model_uri=GX.image__vPMU, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__multiQueues = Slot( + uri=GX.multiQueues, + name="image__multiQueues", + curie=GX.curie("multiQueues"), + model_uri=GX.image__multiQueues, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__updateStrategy = Slot( + uri=GX.updateStrategy, + name="image__updateStrategy", + curie=GX.curie("updateStrategy"), + model_uri=GX.image__updateStrategy, + domain=None, + range=Optional[Union[dict, UpdateStrategy]], +) + +slots.image__licenseIncluded = Slot( + uri=GX.licenseIncluded, + name="image__licenseIncluded", + curie=GX.curie("licenseIncluded"), + model_uri=GX.image__licenseIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__maintenance = Slot( + uri=GX.maintenance, + name="image__maintenance", + curie=GX.curie("maintenance"), + model_uri=GX.image__maintenance, + domain=None, + range=Optional[Union[dict, MaintenanceSubscription]], +) + +slots.maintenanceSubscription__subscriptionIncluded = Slot( + uri=GX.subscriptionIncluded, + name="maintenanceSubscription__subscriptionIncluded", + curie=GX.curie("subscriptionIncluded"), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__subscriptionRequired = Slot( + uri=GX.subscriptionRequired, + name="maintenanceSubscription__subscriptionRequired", + curie=GX.curie("subscriptionRequired"), + model_uri=GX.maintenanceSubscription__subscriptionRequired, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__maintainedUntil = Slot( + uri=GX.maintainedUntil, + name="maintenanceSubscription__maintainedUntil", + curie=GX.curie("maintainedUntil"), + model_uri=GX.maintenanceSubscription__maintainedUntil, + domain=None, + range=Optional[Union[str, XSDDate]], +) + +slots.updateStrategy__replaceFrequency = Slot( + uri=GX.replaceFrequency, + name="updateStrategy__replaceFrequency", + curie=GX.curie("replaceFrequency"), + model_uri=GX.updateStrategy__replaceFrequency, + domain=None, + range=Optional[Union[str, "UpdateFrequency"]], +) + +slots.updateStrategy__hotfixHours = Slot( + uri=GX.hotfixHours, + name="updateStrategy__hotfixHours", + curie=GX.curie("hotfixHours"), + model_uri=GX.updateStrategy__hotfixHours, + domain=None, + range=Optional[int], +) + +slots.updateStrategy__oldVersionsValidUntil = Slot( + uri=GX.oldVersionsValidUntil, + name="updateStrategy__oldVersionsValidUntil", + curie=GX.curie("oldVersionsValidUntil"), + model_uri=GX.updateStrategy__oldVersionsValidUntil, + domain=None, + range=Optional[str], +) + +slots.updateStrategy__providedUntil = Slot( + uri=GX.providedUntil, + name="updateStrategy__providedUntil", + curie=GX.curie("providedUntil"), + model_uri=GX.updateStrategy__providedUntil, + domain=None, + range=Optional[str], +) + +slots.latestN__value = Slot( + uri=GX.value, + name="latestN__value", + curie=GX.curie("value"), + model_uri=GX.latestN__value, + domain=None, + range=Optional[int], +) + +slots.issuer__issuerTermsAndConditions = Slot( + uri=GX.issuerTermsAndConditions, + name="issuer__issuerTermsAndConditions", + curie=GX.curie("issuerTermsAndConditions"), + model_uri=GX.issuer__issuerTermsAndConditions, + domain=None, + range=Union[str, "GaiaXTermsAndConditions"], +) + +slots.legalPerson__registrationNumber = Slot( + uri=GX.registrationNumber, + name="legalPerson__registrationNumber", + curie=GX.curie("registrationNumber"), + model_uri=GX.legalPerson__registrationNumber, + domain=None, + range=URIRef, +) + +slots.legalPerson__legalAddress = Slot( + uri=GX.legalAddress, + name="legalPerson__legalAddress", + curie=GX.curie("legalAddress"), + model_uri=GX.legalPerson__legalAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__headquartersAddress = Slot( + uri=GX.headquartersAddress, + name="legalPerson__headquartersAddress", + curie=GX.curie("headquartersAddress"), + model_uri=GX.legalPerson__headquartersAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__parentOrganizationOf = Slot( + uri=GX.parentOrganizationOf, + name="legalPerson__parentOrganizationOf", + curie=GX.curie("parentOrganizationOf"), + model_uri=GX.legalPerson__parentOrganizationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.legalPerson__subOrganisationOf = Slot( + uri=GX.subOrganisationOf, + name="legalPerson__subOrganisationOf", + curie=GX.curie("subOrganisationOf"), + model_uri=GX.legalPerson__subOrganisationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.localRegistrationNumber__local = Slot( + uri=GX.local, + name="localRegistrationNumber__local", + curie=GX.curie("local"), + model_uri=GX.localRegistrationNumber__local, + domain=None, + range=URIRef, +) + +slots.vatID__vatID = Slot( + uri=GX.vatID, + name="vatID__vatID", + curie=GX.curie("vatID"), + model_uri=GX.vatID__vatID, + domain=None, + range=URIRef, +) + +slots.leiCode__leiCode = Slot( + uri=SCHEMA.leiCode, + name="leiCode__leiCode", + curie=SCHEMA.curie("leiCode"), + model_uri=GX.leiCode__leiCode, + domain=None, + range=URIRef, +) + +slots.eORI__eori = Slot( + uri=GX.eori, + name="eORI__eori", + curie=GX.curie("eori"), + model_uri=GX.eORI__eori, + domain=None, + range=URIRef, +) + +slots.eUID__euid = Slot( + uri=GX.euid, + name="eUID__euid", + curie=GX.curie("euid"), + model_uri=GX.eUID__euid, + domain=None, + range=URIRef, +) + +slots.memory__memorySize = Slot( + uri=GX.memorySize, + name="memory__memorySize", + curie=GX.curie("memorySize"), + model_uri=GX.memory__memorySize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.memory__memoryClass = Slot( + uri=GX.memoryClass, + name="memory__memoryClass", + curie=GX.curie("memoryClass"), + model_uri=GX.memory__memoryClass, + domain=None, + range=Optional[Union[str, "MemoryClasses"]], +) + +slots.memory__memoryRank = Slot( + uri=GX.memoryRank, + name="memory__memoryRank", + curie=GX.curie("memoryRank"), + model_uri=GX.memory__memoryRank, + domain=None, + range=Optional[Union[str, "MemoryRanks"]], +) + +slots.memory__eccEnabled = Slot( + uri=GX.eccEnabled, + name="memory__eccEnabled", + curie=GX.curie("eccEnabled"), + model_uri=GX.memory__eccEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.memory__hardwareEncryption = Slot( + uri=GX.hardwareEncryption, + name="memory__hardwareEncryption", + curie=GX.curie("hardwareEncryption"), + model_uri=GX.memory__hardwareEncryption, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.pXEImage__pxeImageDiskFormat = Slot( + uri=GX.pxeImageDiskFormat, + name="pXEImage__pxeImageDiskFormat", + curie=GX.curie("pxeImageDiskFormat"), + model_uri=GX.pXEImage__pxeImageDiskFormat, + domain=None, + range=Optional[Union[str, "PXEDiskType"]], +) + +slots.resource__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="resource__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.resource__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.virtualResource__copyrightOwnedBy = Slot( + uri=GX.copyrightOwnedBy, + name="virtualResource__copyrightOwnedBy", + curie=GX.curie("copyrightOwnedBy"), + model_uri=GX.virtualResource__copyrightOwnedBy, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__license = Slot( + uri=GX.license, + name="virtualResource__license", + curie=GX.curie("license"), + model_uri=GX.virtualResource__license, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__resourcePolicy = Slot( + uri=GX.resourcePolicy, + name="virtualResource__resourcePolicy", + curie=GX.curie("resourcePolicy"), + model_uri=GX.virtualResource__resourcePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.physicalResource__maintainedBy = Slot( + uri=GX.maintainedBy, + name="physicalResource__maintainedBy", + curie=GX.curie("maintainedBy"), + model_uri=GX.physicalResource__maintainedBy, + domain=None, + range=Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ], +) + +slots.physicalResource__ownedBy = Slot( + uri=GX.ownedBy, + name="physicalResource__ownedBy", + curie=GX.curie("ownedBy"), + model_uri=GX.physicalResource__ownedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__manufacturedBy = Slot( + uri=GX.manufacturedBy, + name="physicalResource__manufacturedBy", + curie=GX.curie("manufacturedBy"), + model_uri=GX.physicalResource__manufacturedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__location = Slot( + uri=GX.location, + name="physicalResource__location", + curie=GX.curie("location"), + model_uri=GX.physicalResource__location, + domain=None, + range=Union[Union[dict, Address], List[Union[dict, Address]]], +) + +slots.softwareResource__checksum = Slot( + uri=GX.checksum, + name="softwareResource__checksum", + curie=GX.curie("checksum"), + model_uri=GX.softwareResource__checksum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.softwareResource__signature = Slot( + uri=GX.signature, + name="softwareResource__signature", + curie=GX.curie("signature"), + model_uri=GX.softwareResource__signature, + domain=None, + range=Optional[Union[dict, Signature]], +) + +slots.softwareResource__version = Slot( + uri=GX.version, + name="softwareResource__version", + curie=GX.curie("version"), + model_uri=GX.softwareResource__version, + domain=None, + range=Optional[str], +) + +slots.softwareResource__patchLevel = Slot( + uri=GX.patchLevel, + name="softwareResource__patchLevel", + curie=GX.curie("patchLevel"), + model_uri=GX.softwareResource__patchLevel, + domain=None, + range=Optional[str], +) + +slots.softwareResource__buildDate = Slot( + uri=GX.buildDate, + name="softwareResource__buildDate", + curie=GX.curie("buildDate"), + model_uri=GX.softwareResource__buildDate, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.operatingSystem__osDistribution = Slot( + uri=GX.osDistribution, + name="operatingSystem__osDistribution", + curie=GX.curie("osDistribution"), + model_uri=GX.operatingSystem__osDistribution, + domain=None, + range=Union[str, "OSDistribution"], +) + +slots.hypervisor__hypervisorType = Slot( + uri=GX.hypervisorType, + name="hypervisor__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.hypervisor__hypervisorType, + domain=None, + range=Union[str, "HypervisorType"], +) + +slots.serviceOffering__providedBy = Slot( + uri=GX.providedBy, + name="serviceOffering__providedBy", + curie=GX.curie("providedBy"), + model_uri=GX.serviceOffering__providedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.serviceOffering__dependsOn = Slot( + uri=GX.dependsOn, + name="serviceOffering__dependsOn", + curie=GX.curie("dependsOn"), + model_uri=GX.serviceOffering__dependsOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="serviceOffering__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.serviceOffering__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot( + uri=GX.serviceOfferingTermsAndConditions, + name="serviceOffering__serviceOfferingTermsAndConditions", + curie=GX.curie("serviceOfferingTermsAndConditions"), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, + domain=None, + range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]], +) + +slots.serviceOffering__servicePolicy = Slot( + uri=GX.servicePolicy, + name="serviceOffering__servicePolicy", + curie=GX.curie("servicePolicy"), + model_uri=GX.serviceOffering__servicePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.serviceOffering__dataProtectionRegime = Slot( + uri=GX.dataProtectionRegime, + name="serviceOffering__dataProtectionRegime", + curie=GX.curie("dataProtectionRegime"), + model_uri=GX.serviceOffering__dataProtectionRegime, + domain=None, + range=Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ], +) + +slots.serviceOffering__dataAccountExport = Slot( + uri=GX.dataAccountExport, + name="serviceOffering__dataAccountExport", + curie=GX.curie("dataAccountExport"), + model_uri=GX.serviceOffering__dataAccountExport, + domain=None, + range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]], +) + +slots.serviceOffering__keyword = Slot( + uri=GX.keyword, + name="serviceOffering__keyword", + curie=GX.curie("keyword"), + model_uri=GX.serviceOffering__keyword, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__provisionType = Slot( + uri=GX.provisionType, + name="serviceOffering__provisionType", + curie=GX.curie("provisionType"), + model_uri=GX.serviceOffering__provisionType, + domain=None, + range=Optional[Union[str, "ProvisionTypes"]], +) + +slots.serviceOffering__endpoint = Slot( + uri=GX.endpoint, + name="serviceOffering__endpoint", + curie=GX.curie("endpoint"), + model_uri=GX.serviceOffering__endpoint, + domain=None, + range=Optional[Union[dict, Endpoint]], +) + +slots.serviceOffering__hostedOn = Slot( + uri=GX.hostedOn, + name="serviceOffering__hostedOn", + curie=GX.curie("hostedOn"), + model_uri=GX.serviceOffering__hostedOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.computeServiceOffering__tenantSeparation = Slot( + uri=GX.tenantSeparation, + name="computeServiceOffering__tenantSeparation", + curie=GX.curie("tenantSeparation"), + model_uri=GX.computeServiceOffering__tenantSeparation, + domain=None, + range=Optional[Union[str, "TenantSeparation"]], +) + +slots.virtualMachineServiceOffering__codeArtifact = Slot( + uri=GX.codeArtifact, + name="virtualMachineServiceOffering__codeArtifact", + curie=GX.curie("codeArtifact"), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, + domain=None, + range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]], +) + +slots.virtualMachineServiceOffering__instantiationReq = Slot( + uri=GX.instantiationReq, + name="virtualMachineServiceOffering__instantiationReq", + curie=GX.curie("instantiationReq"), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, + domain=None, + range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]], +) + +slots.termsAndConditions__url = Slot( + uri=GX.url, + name="termsAndConditions__url", + curie=GX.curie("url"), + model_uri=GX.termsAndConditions__url, + domain=None, + range=Union[str, URI], +) + +slots.termsAndConditions__hash = Slot( + uri=GX.hash, + name="termsAndConditions__hash", + curie=GX.curie("hash"), + model_uri=GX.termsAndConditions__hash, + domain=None, + range=str, +) + +slots.dataAccountExport__requestType = Slot( + uri=GX.requestType, + name="dataAccountExport__requestType", + curie=GX.curie("requestType"), + model_uri=GX.dataAccountExport__requestType, + domain=None, + range=Union[str, "RequestTypes"], +) + +slots.dataAccountExport__accessType = Slot( + uri=GX.accessType, + name="dataAccountExport__accessType", + curie=GX.curie("accessType"), + model_uri=GX.dataAccountExport__accessType, + domain=None, + range=Union[str, "AccessTypes"], +) + +slots.dataAccountExport__formatType = Slot( + uri=GX.formatType, + name="dataAccountExport__formatType", + curie=GX.curie("formatType"), + model_uri=GX.dataAccountExport__formatType, + domain=None, + range=Union[str, "MIMETypes"], +) + +slots.standardConformity__title = Slot( + uri=GX.title, + name="standardConformity__title", + curie=GX.curie("title"), + model_uri=GX.standardConformity__title, + domain=None, + range=str, +) + +slots.standardConformity__standardReference = Slot( + uri=GX.standardReference, + name="standardConformity__standardReference", + curie=GX.curie("standardReference"), + model_uri=GX.standardConformity__standardReference, + domain=None, + range=Union[str, URI], +) + +slots.standardConformity__publisher = Slot( + uri=GX.publisher, + name="standardConformity__publisher", + curie=GX.curie("publisher"), + model_uri=GX.standardConformity__publisher, + domain=None, + range=Optional[str], +) + +slots.dataResource__producedBy = Slot( + uri=GX.producedBy, + name="dataResource__producedBy", + curie=GX.curie("producedBy"), + model_uri=GX.dataResource__producedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.dataResource__exposedThrough = Slot( + uri=GX.exposedThrough, + name="dataResource__exposedThrough", + curie=GX.curie("exposedThrough"), + model_uri=GX.dataResource__exposedThrough, + domain=None, + range=Union[ + Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]] + ], +) + +slots.dataResource__obsoleteDateTime = Slot( + uri=GX.obsoleteDateTime, + name="dataResource__obsoleteDateTime", + curie=GX.curie("obsoleteDateTime"), + model_uri=GX.dataResource__obsoleteDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__expirationDateTime = Slot( + uri=GX.expirationDateTime, + name="dataResource__expirationDateTime", + curie=GX.curie("expirationDateTime"), + model_uri=GX.dataResource__expirationDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__containsPII = Slot( + uri=GX.containsPII, + name="dataResource__containsPII", + curie=GX.curie("containsPII"), + model_uri=GX.dataResource__containsPII, + domain=None, + range=Union[bool, Bool], +) + +slots.dataResource__dataController = Slot( + uri=GX.dataController, + name="dataResource__dataController", + curie=GX.curie("dataController"), + model_uri=GX.dataResource__dataController, + domain=None, + range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]], +) + +slots.dataResource__consent = Slot( + uri=GX.consent, + name="dataResource__consent", + curie=GX.curie("consent"), + model_uri=GX.dataResource__consent, + domain=None, + range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]], +) + +slots.consent__legalBasis = Slot( + uri=GX.legalBasis, + name="consent__legalBasis", + curie=GX.curie("legalBasis"), + model_uri=GX.consent__legalBasis, + domain=None, + range=str, +) + +slots.consent__dataProtectionContactPoint = Slot( + uri=GX.dataProtectionContactPoint, + name="consent__dataProtectionContactPoint", + curie=GX.curie("dataProtectionContactPoint"), + model_uri=GX.consent__dataProtectionContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__purpose = Slot( + uri=GX.purpose, + name="consent__purpose", + curie=GX.curie("purpose"), + model_uri=GX.consent__purpose, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__consentWithdrawalContactPoint = Slot( + uri=GX.consentWithdrawalContactPoint, + name="consent__consentWithdrawalContactPoint", + curie=GX.curie("consentWithdrawalContactPoint"), + model_uri=GX.consent__consentWithdrawalContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.vMImage__vmImageDiskFormat = Slot( + uri=GX.vmImageDiskFormat, + name="vMImage__vmImageDiskFormat", + curie=GX.curie("vmImageDiskFormat"), + model_uri=GX.vMImage__vmImageDiskFormat, + domain=None, + range=Optional[Union[str, "VMDiskType"]], +) + +slots.vMImage__hypervisorType = Slot( + uri=GX.hypervisorType, + name="vMImage__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.vMImage__hypervisorType, + domain=None, + range=Optional[Union[str, "HypervisorType"]], +) + +slots.vMImage__firmwareType = Slot( + uri=GX.firmwareType, + name="vMImage__firmwareType", + curie=GX.curie("firmwareType"), + model_uri=GX.vMImage__firmwareType, + domain=None, + range=Optional[Union[str, "FirmType"]], +) + +slots.vMImage__hwRngTypeOfImage = Slot( + uri=GX.hwRngTypeOfImage, + name="vMImage__hwRngTypeOfImage", + curie=GX.curie("hwRngTypeOfImage"), + model_uri=GX.vMImage__hwRngTypeOfImage, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.vMImage__watchDogAction = Slot( + uri=GX.watchDogAction, + name="vMImage__watchDogAction", + curie=GX.curie("watchDogAction"), + model_uri=GX.vMImage__watchDogAction, + domain=None, + range=Optional[Union[str, "WatchDogActions"]], +) + +slots.serverFlavor__cpu = Slot( + uri=GX.cpu, + name="serverFlavor__cpu", + curie=GX.curie("cpu"), + model_uri=GX.serverFlavor__cpu, + domain=None, + range=Union[dict, CPU], +) + +slots.serverFlavor__ram = Slot( + uri=GX.ram, + name="serverFlavor__ram", + curie=GX.curie("ram"), + model_uri=GX.serverFlavor__ram, + domain=None, + range=Union[dict, Memory], +) + +slots.serverFlavor__gpu = Slot( + uri=GX.gpu, + name="serverFlavor__gpu", + curie=GX.curie("gpu"), + model_uri=GX.serverFlavor__gpu, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.serverFlavor__network = Slot( + uri=GX.network, + name="serverFlavor__network", + curie=GX.curie("network"), + model_uri=GX.serverFlavor__network, + domain=None, + range=Optional[str], +) + +slots.serverFlavor__bootVolume = Slot( + uri=GX.bootVolume, + name="serverFlavor__bootVolume", + curie=GX.curie("bootVolume"), + model_uri=GX.serverFlavor__bootVolume, + domain=None, + range=Union[dict, Disk], +) + +slots.serverFlavor__additionalVolume = Slot( + uri=GX.additionalVolume, + name="serverFlavor__additionalVolume", + curie=GX.curie("additionalVolume"), + model_uri=GX.serverFlavor__additionalVolume, + domain=None, + range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]], +) + +slots.serverFlavor__confidentialComputing = Slot( + uri=GX.confidentialComputing, + name="serverFlavor__confidentialComputing", + curie=GX.curie("confidentialComputing"), + model_uri=GX.serverFlavor__confidentialComputing, + domain=None, + range=Optional[Union[dict, ConfidentialComputing]], +) + +slots.serverFlavor__hypervisor = Slot( + uri=GX.hypervisor, + name="serverFlavor__hypervisor", + curie=GX.curie("hypervisor"), + model_uri=GX.serverFlavor__hypervisor, + domain=None, + range=Optional[Union[dict, SoftwareResource]], +) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot( + uri=GX.hardwareAssistedVirtualization, + name="serverFlavor__hardwareAssistedVirtualization", + curie=GX.curie("hardwareAssistedVirtualization"), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot( + uri=GX.hwRngTypeOfFlavor, + name="serverFlavor__hwRngTypeOfFlavor", + curie=GX.curie("hwRngTypeOfFlavor"), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.confidentialComputing__technology = Slot( + uri=GX.technology, + name="confidentialComputing__technology", + curie=GX.curie("technology"), + model_uri=GX.confidentialComputing__technology, + domain=None, + range=str, +) + +slots.confidentialComputing__attestationServiceURI = Slot( + uri=GX.attestationServiceURI, + name="confidentialComputing__attestationServiceURI", + curie=GX.curie("attestationServiceURI"), + model_uri=GX.confidentialComputing__attestationServiceURI, + domain=None, + range=Optional[Union[str, URI]], +) diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 1a740ae..199d599 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -2,26 +2,28 @@ Methods and classes needed/useful for JSON-LD serialization. """ import inspect - from datetime import date, datetime +from typing import List +from uuid import uuid4 -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots - -from linkml_runtime.utils.metamodelcore import URI +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from typing import List -from uuid import uuid4 +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python - classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials.""" + classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. + """ - def __init__(self, gx_object: YAMLRoot, gx_id:str=None): + def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct @@ -44,15 +46,14 @@ def get_json_ld_context() -> dict: @rtype: dict """ return { - "@context": - { - GX.prefix: GX, - QUDT.prefix: QUDT, - SCHEMA.prefix: SCHEMA, - VCARD.prefix: VCARD, - "xsd": "http://www.w3.org/2001/XMLSchema#", - "ex": "https://example.com/" - } + "@context": { + GX.prefix: GX, + QUDT.prefix: QUDT, + SCHEMA.prefix: SCHEMA, + VCARD.prefix: VCARD, + "xsd": "http://www.w3.org/2001/XMLSchema#", + "ex": "https://example.com/", + } } @@ -74,7 +75,7 @@ def to_json_ld(obj) -> dict: if isinstance(obj, JsonLdObject): # if JsonLdObject add id gx_object = obj.gx_object - json_ld['@id'] = "ex:" + obj.gx_id.replace(" ", "") + json_ld["@id"] = "ex:" + obj.gx_id.replace(" ", "") # call to_json_ld for gx_object json_ld.update(to_json_ld(gx_object)) return json_ld @@ -84,7 +85,7 @@ def to_json_ld(obj) -> dict: # json_ld['@type'] = get_types(obj.__class__) try: # set type of Gaia-X object if possible - json_ld['@type'] = obj.class_class_curie + json_ld["@type"] = obj.class_class_curie except AttributeError: pass for key, value in obj.__dict__.items(): @@ -109,29 +110,19 @@ def to_json_ld(obj) -> dict: return json_ld elif isinstance(obj, datetime): # Add type for datetime - return { - "@type": "xsd:dateTime", - "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} + return {"@type": "xsd:dateTime", "@value": obj.strftime("%Y-%m-%dT%H:%M:%S")} elif isinstance(obj, date): # add type for date - return { - "@type": "xsd:date", - "@value": obj} + return {"@type": "xsd:date", "@value": obj} elif isinstance(obj, float): # add type for float - return { - "@type": "xsd:float", - "@value": obj} + return {"@type": "xsd:float", "@value": obj} elif isinstance(obj, URI): # add type for URI - return { - "@type": "xsd:anyURI", - "@value": obj} + return {"@type": "xsd:anyURI", "@value": obj} elif isinstance(obj, bool): # add type for boolean - return { - "@type": "xsd:boolean", - "@value": obj} + return {"@type": "xsd:boolean", "@value": obj} else: return obj diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index d1ddb28..3b2e2db 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,16 +1,14 @@ -from generator.common.json_ld import JsonLdObject - -from generator.discovery.openstack.vm_images_discovery import VmDiscovery - -from linkml_runtime.utils.yamlutils import YAMLRoot +from typing import Dict, List from openstack.connection import Connection -from typing import Dict, List +from generator.common.json_ld import JsonLdObject +from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: "Abstraction for openStack cloud with all its services." + def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn @@ -30,7 +28,3 @@ def discover_properties(self) -> List[JsonLdObject]: creds.extend(vm_dis.discover_vm_images()) return creds - - - - diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 968d2cf..2c710d6 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,36 +1,29 @@ +from datetime import datetime +from typing import Dict, List, Union + from linkml_runtime.utils.metamodelcore import URI +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +import generator.common.const as const from generator.common.expections import MissingMandatoryAttribute - +from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import CPU -from generator.common.gx_schema import Disk -from generator.common.gx_schema import DiskTypes -from generator.common.gx_schema import HypervisorType -from generator.common.gx_schema import Memory -from generator.common.gx_schema import MemorySize -from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX -from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import ( + CheckSum, + ChecksumAlgorithm, + Disk, + HypervisorType, + Memory, + MemorySize, + OperatingSystem, + Signature, + SignatureAlgorithm, + UpdateStrategy, +) from generator.common.gx_schema import VMImage as GX_Image - from generator.common.json_ld import JsonLdObject -from openstack.connection import Connection -from openstack.image.v2.image import Image as OS_Image - -import generator.common.const as const - -from typing import Dict, Union, List - -from datetime import datetime - -import yaml - def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -40,16 +33,23 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "x86-64" if os_image_arch == "aarch6": return "AArch-32" - if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + if os_image_arch in [ + "alpha", + "armv7l", + "lm32", + "openrisc", + "parisc", + "parisc64", + "unicore32", + ]: return "RISC-V" return CpuArch.other.text except AttributeError as e: raise MissingMandatoryAttribute(e.args) -class VmDiscovery(): - - #def __init__(self) -> None: +class VmDiscovery: + # def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) @@ -68,8 +68,8 @@ def discover_vm_images(self) -> List[JsonLdObject]: images = list() for image in self.conn.list_images(): images.append( - JsonLdObject( - self._convert_to_gx_image(image), gx_id=image.id)) + JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) + ) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -82,9 +82,11 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ # Initialize Gaia-X Image - gx_image = GX_Image(copyrightOwnedBy="TBA", - license="TBA", - resourcePolicy=const.DEFAULT_RESOURCE_POLICY) + gx_image = GX_Image( + copyrightOwnedBy="TBA", + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY, + ) # Discover optional attributes self._add_secure_boot(os_image, gx_image) @@ -135,7 +137,6 @@ def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) @@ -154,7 +155,9 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. try: - size = MemorySize(value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB) + size = MemorySize( + value=float(os_image.min_ram * 1.048576), unit=const.UNIT_MB + ) mem_req = Memory(memorySize=size) try: mem_req.hardwareEncryption = os_image.hw_mem_encryption @@ -166,207 +169,317 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: - size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + size = MemorySize( + value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB + ) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) except AttributeError as e: raise MissingMandatoryAttribute(e.args) - def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_operation_system_info( + self, os_image: OS_Image, gx_image: GX_Image + ) -> None: # Copyright owner and license not supported as Image properties, currently --> Default values from config are used if os_image.os_distro == "arch": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ARCH))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ARCH) + ), + ) elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CENTOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CENTOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CENTOS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CENTOS) + ), + ) elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_DEBIAN), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_DEBIAN))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_DEBIAN + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_DEBIAN) + ), + ) elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FEDORA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FEDORA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FEDORA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FEDORA) + ), + ) elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FREEBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FREEBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_FREEBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FREEBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FREEBSD) + ), + ) elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_GENTOO), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_GENTOO))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_GENTOO + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_GENTOO) + ), + ) elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRAKE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRAKE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRAKE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRAKE) + ), + ) elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRIVA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRIVA + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRIVA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRIVA) + ), + ) elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MES))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MES) + ), + ) elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MSDOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MSDOS) + ), + ) elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NETBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NETBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NETBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NETBSD) + ), + ) elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NOVELL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NOVELL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NOVELL + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NOVELL) + ), + ) elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPENBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPENBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPENBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPENBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPENBSD) + ), + ) elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_SOLARIS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SOLARIS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_SOLARIS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_SOLARIS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SOLARIS) + ), + ) elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPEN_SUSE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE) + ), + ) elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ROCKY))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ROCKY) + ), + ) elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_RHEL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_RHEL) + ), + ) elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SLED))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SLED) + ), + ) elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_UBUNTU), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_UBUNTU))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_UBUNTU + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_UBUNTU) + ), + ) elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_WINDOWS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_WINDOWS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_WINDOWS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_WINDOWS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_WINDOWS) + ), + ) elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CIRROS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CIRROS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CIRROS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CIRROS) + ), + ) elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_ALMALINUX), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_ALMALINUX + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_ALMALINUX + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ALMALINUX) + ), + ) else: - raise ValueError("Unsupported value for operating system distribution found: '" + os_image.os_distro + "'") + raise ValueError( + "Unsupported value for operating system distribution found: '" + + os_image.os_distro + + "'" + ) def _get_resource_policy_for_os(self, os: str) -> str: try: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ + const.CONFIG_RESOURCE_POLICY + ] except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_COPYRIGHT] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ + const.CONFIG_COPYRIGHT + ] def _get_license_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][const.CONFIG_LICENSE] + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ + const.CONFIG_LICENSE + ] def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: - # check if comfig contains image's specific copright owner + # check if comfig contains image's specific copyright owner try: - gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_COPYRIGHT] + gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_COPYRIGHT] except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -374,7 +487,9 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license - gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_LICENSE] + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_LICENSE] except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -382,18 +497,20 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy - gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_RESOURCE_POLICY] + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_RESOURCE_POLICY] except KeyError: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() - for l in licenses: - if l.startswith("http"): - license_list.append(URI(l)) + for lic in licenses: + if lic.startswith("http"): + license_list.append(URI(lic)) else: - license_list.append(l) + license_list.append(lic) return license_list def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -432,7 +549,9 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return - gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) + gx_image.videoRamSize = MemorySize( + value=float(os_image.hw_video_ram), unit=const.UNIT_MB + ) except AttributeError: pass @@ -449,27 +568,35 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # collect mandatory attributes try: - os_image.updateStrategy.replaceFrequency = os_image.properties['replace_frequency'] - os_image.updateStrategy.oldVersionsValidUntil = os_image.properties['uuid_validity'] - os_image.updateStrategy.providedUntil = os_image.properties['provided_until'] + os_image.updateStrategy.replaceFrequency = os_image.properties[ + "replace_frequency" + ] + os_image.updateStrategy.oldVersionsValidUntil = os_image.properties[ + "uuid_validity" + ] + os_image.updateStrategy.providedUntil = os_image.properties[ + "provided_until" + ] except KeyError as e: raise MissingMandatoryAttribute(e.args) # collect optional attributes try: - os_image.updateStrategy.hotfixHours = os_image.properties['hotfix_hours'] + os_image.updateStrategy.hotfixHours = os_image.properties["hotfix_hours"] except KeyError: pass def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.description = os_image.properties[ - 'image_description'] + gx_image.description = os_image.properties["image_description"] except KeyError: pass try: - gx_image.description = gx_image.description + " Managed by " + os_image.properties[ - 'managed_by_VENDOR'] + gx_image.description = ( + gx_image.description + + " Managed by " + + os_image.properties["managed_by_VENDOR"] + ) except KeyError: pass @@ -483,25 +610,27 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.buildDate = datetime.strptime(os_image.properties['image_build_date'], "%Y-%m-%d") + gx_image.buildDate = datetime.strptime( + os_image.properties["image_build_date"], "%Y-%m-%d" + ) except KeyError: pass def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.licenseIncluded = os_image.properties['licenseIncluded'] + gx_image.licenseIncluded = os_image.properties["licenseIncluded"] except KeyError: pass def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.patchLevel = os_image.properties['patchlevel'] + gx_image.patchLevel = os_image.properties["patchlevel"] except KeyError: pass def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.version = os_image.properties['internal_version'] + gx_image.version = os_image.properties["internal_version"] except KeyError: pass @@ -514,33 +643,40 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _get_checksum_algo(self, algo: str) -> str: - if algo == 'sha512': - return 'sha-512' - if algo == 'sha224': - return 'sha-224' - if algo == 'sha256': - return 'sha-256' - if algo == 'sha384': - return 'sha-384' - if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + if algo == "sha512": + return "sha-512" + if algo == "sha224": + return "sha-224" + if algo == "sha256": + return "sha-256" + if algo == "sha384": + return "sha-384" + if algo in ["sha-3", "md5", "ripemd-160", "blake2", "blake3"]: return algo return ChecksumAlgorithm.other.text def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.maintenance = os_image.properties['maintained_until'] + gx_image.maintenance = os_image.properties["maintained_until"] except KeyError: pass def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + gx_image.file = MemorySize( + value=float(os_image.size * 1.073741824), unit=const.UNIT_GB + ) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.signature = Signature( signatureValue=os_image.img_signature, - hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), - signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) + hashAlgorithm=self._get_checksum_algo( + os_image.img_signature_hash_method + ), + signatureAlgorithm=self._get_signature_algo( + os_image.img_signature_key_type + ), + ) except AttributeError: pass @@ -564,11 +700,13 @@ def _get_signature_algo(self, algo: str) -> str: def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][os_image.name][const.CONFIG_AGGREGATION_OF] + gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][ + os_image.name + ][const.CONFIG_AGGREGATION_OF] except KeyError: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass # not supported yet - #gx_image.hwRngTypeOfImage = "None" + # gx_image.hwRngTypeOfImage = "None" diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index 896b6d2..3c704c3 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,11 +1,7 @@ import json import os -from generator.common.json_ld import to_json_ld -from generator.common.json_ld import get_json_ld_context - -from generator.common.json_ld import JsonLdObject - +from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld from generator.wallet.wallet import WalletConnector @@ -21,13 +17,12 @@ def __init__(self, dir: str) -> None: def store_credential(self, credential: JsonLdObject) -> None: super().store_credential(credential) - with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + with open( + os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" + ) as json_file: props = get_json_ld_context() - props['@graph'] = [credential] + props["@graph"] = [credential] json.dump(props, json_file, indent=4, default=to_json_ld) - - - def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 8e5e43a..5c05a31 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,5 +1,4 @@ -from abc import ABC -from abc import abstractmethod +from abc import ABC, abstractmethod from generator.common.json_ld import JsonLdObject From 1661f61b242f64382637415b9b1adc5d4a3b1cb6 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Tue, 16 Jan 2024 14:34:15 +0100 Subject: [PATCH 134/175] Create python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/python-app.yml diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml new file mode 100644 index 0000000..f3d4fca --- /dev/null +++ b/.github/workflows/python-app.yml @@ -0,0 +1,39 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python application + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +permissions: + contents: read + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v3 + with: + python-version: "3.10" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install flake8 pytest + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Lint with flake8 + run: | + # stop the build if there are Python syntax errors or undefined names + flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + - name: Test with pytest + run: | + pytest From 65eee5956b920424c5fb659ef264340741feb5bb Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:46:40 +0100 Subject: [PATCH 135/175] Fix tests Signed-off-by: Anja Strunk --- generator/discovery/openstack/vm_images_discovery.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 2c710d6..55f122f 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -707,6 +707,4 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: - pass - # not supported yet - # gx_image.hwRngTypeOfImage = "None" + gx_image.hwRngTypeOfImage = "None" From 1f59514b8596b2b00b1341b3c77da3c0f49dae88 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Tue, 16 Jan 2024 14:40:19 +0100 Subject: [PATCH 136/175] Update python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index f3d4fca..365f372 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -28,12 +28,12 @@ jobs: python -m pip install --upgrade pip pip install flake8 pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics - # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide - flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics + #- name: Lint with flake8 + # run: | + # # stop the build if there are Python syntax errors or undefined names + # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics + # # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide + # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | pytest From 092069c0ad7410f1698a72e2706db49e13556045 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 14:21:52 +0100 Subject: [PATCH 137/175] Fix unit tests Signed-off-by: Anja Strunk --- config/config.yaml | 28 ++++++++++++++-------------- tests/test_vm_image_discovery.py | 4 ++-- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/config/config.yaml b/config/config.yaml index 9e9dc55..24f7ffe 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -121,17 +121,17 @@ default: resource policy: "abc" license: - https://www.abc.org -cloud resources: - own images: - AlmaLinux 8: - aggregation of: - - web:did:provider.de - copyright owner: - - "AlmaLinux OS Foundation" - - "ABC" - resource policy: "abc" - license: - - https://www.abc.org -wallets: - filesystem: - path: /etc/wallet/gx-credentials/ \ No newline at end of file +#cloud resources: +# own images: +# AlmaLinux 8: +# aggregation of: +# - web:did:provider.de +# copyright owner: +# - "AlmaLinux OS Foundation" +# - "ABC" +# resource policy: "abc" +# license: +# - https://www.abc.org +#wallets: +# filesystem: +# path: /etc/wallet/gx-credentials/ \ No newline at end of file diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index 8856972..cb257f1 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -205,7 +205,7 @@ def _get_os_images(): class VMImageDiscoveryTestcase(OpenstackTestcase): def setUp(self): - with open('../config/config.yaml', 'r') as config_file: + with open('config/config.yaml', 'r') as config_file: self.config = yaml.safe_load(config_file) self.discovery = VmDiscovery(conn=TestConnection(_get_os_images()), config=self.config) @@ -225,7 +225,7 @@ def test_json_ld(self): conforms, _, _ = validate(data_graph=json.dumps( _get_gx_images()[0], indent=4, default=to_json_ld), - shacl_graph="gaia-x.shacl.ttl", + shacl_graph="tests/gaia-x.shacl.ttl", data_graph_format="json-ld", shacl_graph_format="ttl" ) From ffe3414abe9c6385242708d07d792d3bd6424429 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 14:39:54 +0100 Subject: [PATCH 138/175] Update requirements Signed-off-by: Anja Strunk --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index 080f932..91180a4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,3 +3,5 @@ openstacksdk==1.1.* PyYAML==6.* click==8.1.7 pyshacl==0.25.0 +linkml==1.6.7 + From d7a3de008b15b040beade3a99470b4b4a05e51ee Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Wed, 17 Jan 2024 14:35:15 +0100 Subject: [PATCH 139/175] Update python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 365f372..1db7538 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -26,7 +26,8 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install flake8 pytest + # pip install flake8 pytest + pip install pytest if [ -f requirements.txt ]; then pip install -r requirements.txt; fi #- name: Lint with flake8 # run: | @@ -36,4 +37,5 @@ jobs: # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics - name: Test with pytest run: | - pytest + ls + python -m pytest tests/ From ab6f61553c7f48e461af9873d408750b22cceee1 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 17:50:22 +0100 Subject: [PATCH 140/175] Update documentation Signed-off-by: Anja Strunk --- README.md | 107 +++++++--- README_old.md | 186 ++++++++++++++++++ generator/cli.py => cli.py | 45 +++-- config/config.yaml | 48 ++--- .../openstack/vm_images_discovery.py | 7 +- 5 files changed, 324 insertions(+), 69 deletions(-) create mode 100644 README_old.md rename generator/cli.py => cli.py (68%) diff --git a/README.md b/README.md index bcd7b9b..d9c0b36 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,16 @@ # gx-credential-generator -Tools for creating [Gaia-X Crecential](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), formally knwon as Self-Descriptions for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) -## OpenStack +## Introduction + +### OpenStack We want to collect discoverable information from an OpenStack cloud, assuming that we have access to it (as normal tenant user). -We start with the region list and then read the OpenStack catalog to collect -- OS_AUTH_URL (Keystone Endpoint) -- List of services (along with supported versions, min thr. max) -- Per service: extensions (cinderv3, nova) -- Flavors for compute incl. flavor details (SCS spec) -- AZs (for nova, cinderv3, neutron) -- UI (URL, type: horizon or custom) +We read the OpenStack catalog to collect +- public VM Images -This then should be output as JSON-LD (or YAML-LD) for the Gaia-X catalogue. +This then should be output as JSON-LD for the Gaia-X catalogue. References: - @@ -35,7 +32,7 @@ Notes from reviewing the SD attributes: latency distance? -## k8s +### k8s Same thing for k8s Collect information on a k8s cluster: @@ -44,7 +41,7 @@ Collect information on a k8s cluster: - Nodes information - Pods information -## K8s as-a-Service (KaaS) offering considerations +#### K8s as-a-Service (KaaS) offering considerations For typical k8s aaS offerings, every cluster is different, and we probably don't want to have a description for every single @@ -68,8 +65,8 @@ like the IaaS SD, the list of node images (osism minio), ... 1. Clone the repository into a location of your choice ```bash -git clone git@github.com:SovereignCloudStack/gx-self-description-generator.git -cd gx-self-description-generator +git clone git@github.com:SovereignCloudStack/gx-credential-generator.git +cd gx-credential-generator ``` 2. Install scripts dependencies (installing them into a Python [virtualenv](https://virtualenv.pypa.io/en/stable/) is recommended) @@ -79,34 +76,94 @@ pip install -r requirements.txt 3. Create `clouds.yaml` configuration file - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) - - Make sure the following keys exist in our `clouds.yaml` + - Make sure the following keys exist in our `clouds.yaml`. clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. - `auth.user_domain_name` - `auth.project_domain_name` - `region_name` + - GX Credential Generator requires access to OpenStack cluster as normal tenant user and K8s access + 4. Generate Gaia-X Credentials - - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + - To print OpenStack properties in JSON-LD as ONE credential + ```bash + python3 cli.py openstack + ``` + - To store OpenStack properties as credential in wallet + ```bash + python3 cli.py openstack --wallet + ``` + - To omit to print OpenStack properties on screen store OpenStack properties as credential in wallet ```bash - ./gx-sd-generator.py --gaia-x --os-cloud= --file= + python3 cli.py openstack --wallet --no-print ``` - - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option - - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard - - K8s (script assumes K8s access) + - To print K8s properties ... ```bash ./gx-sd-generator.py k8s ``` - -4. Start the gaiax-pipeline +5. Start the gaiax-pipeline (deprecated) - To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder + ``` + cd devops + docker-compose up -d + ``` + +## Gaia-X Compliance + +GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework) + +## Configuration + +GX Credential generator is configured by config.yaml. The configuration includes: + +- Default values for mandatory attributes +- Wallets + +### Mandatory Attributes +Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file, from section `default`. +Providers are able to change default values. In doing so, attribute values for **ALL** instances of impacted cloud resource are modified. + +#### CopyrightOwner, License and ResourcePolicy of VM images + +`copyrigthowner`, `license` and `resourcePolicy` are mandatory for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. Configuration file lists default values for `copyrightOwner`, `license` and `resourcePolicy` for operating systems, e.g. for Alpine Linux. + +```yaml +default: + operating system: + Alpine Linux: + copyright owner: "Alpine Linux" + resource policy: "default: allow intent" + license: + - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 ``` -cd devops -docker-compose up -d + +By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM Image instance, individually. Therefore, the section `cloud resources/own images` exists. To set individual values for a specific VM Image add a new section, started by image's name, to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. + +```yaml +cloud resources: + own images: + AlmaLinux 8: + copyright owner: + - "AlmaLinux OS Foundation" + - "ABC" + resource policy: "abc" + license: + - https://www.abc.org ``` -## Simple SelfDescription validator +### Mandatory Attributes + +Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file as well. + +#### AggregationOf of VM Images + + + + +### Wallets Generated SelfDescriptions could be validated against their schemas (shapes) by the + simple SD validator script. Visit the `sd` directory and try to validate your generated SD. Find the examples in `sd` directory and do the validation as follows: ```bash diff --git a/README_old.md b/README_old.md new file mode 100644 index 0000000..8767dfd --- /dev/null +++ b/README_old.md @@ -0,0 +1,186 @@ +# Depracted - see README.md for up-to-date information + + +# gx-credential-generator +Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) + +## OpenStack +We want to collect discoverable information from an OpenStack cloud, +assuming that we have access to it (as normal tenant user). + +We start with the region list and then read the OpenStack catalog to collect +- OS_AUTH_URL (Keystone Endpoint) +- List of services (along with supported versions, min thr. max) +- Per service: extensions (cinderv3, nova) +- Flavors for compute incl. flavor details (SCS spec) +- AZs (for nova, cinderv3, neutron) +- UI (URL, type: horizon or custom) + +This then should be output as JSON-LD (or YAML-LD) for the Gaia-X catalogue. + +References: +- +- +- +- +- + +Notes from reviewing the SD attributes: +* Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties + (generation, speed, insn set extensions, ...) +* NICs: Virtual NICs are almost unlimited, but there may be a limited amount of hardware-accelerated + NICs (using SR-IOV and multiqueue features) available -- these may need to be added to SCS flavor + naming. +* Other extension hardware like FPGAs need to be specified +* Tenant isolation needs a list of criteria. Virt OK? V(x)LANs OK? Shared storage cluster OK? ... +* Availability Zones: Provider needs to create transparency over what it means. Fire protection zones? + Power supply zones? Internet connectivity zones? Minimal and maximal physical distance? Network + latency distance? + + +## k8s +Same thing for k8s + +Collect information on a k8s cluster: +- Metadata +- API Version +- Nodes information +- Pods information + +## K8s as-a-Service (KaaS) offering considerations + +For typical k8s aaS offerings, every cluster is different, +and we probably don't want to have a description for every single +customer specific cluster. (Some providers may offer self-service, +so we would not want to push of a new SD into the G-X catalogue on +creation, changing or deletion of clusters.) Still it might be +helpful to have a SD on demand for an existing cluster to characterize +it, so users can use the SD to match it to app requirements. + +So the SD for a k8s aaS solution would list possible options and +ranges: What k8s versions are supported, what max number of workers, +flavors, etc.? What services are optionally delivered (and supported) +by the provider? + +For KaaS, the option space really needs to be described. +As of now, this can not be discovered, short of using external sources, +like the IaaS SD, the list of node images (osism minio), ... + + +## Quick Start Guide + +1. Clone the repository into a location of your choice +```bash +git clone git@github.com:SovereignCloudStack/gx-self-description-generator.git +cd gx-self-description-generator +``` + +2. Install scripts dependencies (installing them into a Python [virtualenv](https://virtualenv.pypa.io/en/stable/) is recommended) +```bash +pip install -r requirements.txt +``` + +3. Create `clouds.yaml` configuration file + - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) + - Make sure the following keys exist in our `clouds.yaml` + - `auth.user_domain_name` + - `auth.project_domain_name` + - `region_name` + +4. Generate Gaia-X Credentials + + - OpenStack to json file (timestamp and extension is added to file name and script assumes OpenStack access (as normal tenant user) + ```bash + ./gx-sd-generator.py --gaia-x --os-cloud= --file= + ``` + - To use generated Gaia-X Credential in [Gaia-X Wizard](https://wizard.lab.gaia-x.eu/) add `--wizard` option + - '@' has to be removed from @id and @type in generated SD, to be able to sign and verify it in Gaia-X Wizard + - K8s (script assumes K8s access) + ```bash + ./gx-sd-generator.py k8s + ``` + +4. Start the gaiax-pipeline +- To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder +``` +cd devops +docker-compose up -d +``` + +## Simple SelfDescription validator + +Generated SelfDescriptions could be validated against their schemas (shapes) by the +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: +```bash +./sd/validate.py sd/example.jsonld sd/example.ttl +``` + +### GX SelfDescription - Service Offering minimal example + +SD definition `sd/gx_service_offering_example.jsonld` should represent +a minimal GX Service Offering example that is valid against the latest GX shacl shapes `sd/gx_shapes_latest.ttl`. +The latest GX shacl shapes (at the time of Hackathon#6 23/05/3-4) are +used by the [GX wizard](https://wizard.lab.gaia-x.eu/), and they have been downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). + +Try to validate a minimal example against the latest GX shapes (feel free to remove some +required attribute and check validation result): +```bash +./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl +``` + +## Docker + +The docker environment creates a general and portable environment for the gx-sd-generator module. Before running the container, don't forget to mount your credentials for the correct path. OpenStack-related secret located under `~/.config/openstack` + +**Example codes:** + +Running the gx-sd-generator.py on an example cloud: +```docker +docker run -v ":/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + +Running the container in an interactive mode: +```docker +docker run -it -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) test bash +``` + +or you can use the following to create a temp location for the secrets: + +```shell +mkdir -p os_secret && cp secret1 /os_secret +docker run -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 +``` + +## Status (2023-05-04) +The current PoC code can discover OpenStack capabilities and produces +an entry for the services in the service catalogue, with name, +(micro)versions, availability zones and extensions (where supported). + +For the compute service, there is a flavor list (yet without some +of the details discoverable by SCS specs); for volumes, we +list the types, for loadbalancers, we have a flavor list as well. + +Thanks to the work in Hackathon #4, we have an option to export +JSON-LD (use option `--gaia-x` aka. `-g`) that can be signed and +successfully processed by the compilance service at +http://compliance.lab.gaia-x.eu/ +Signing and verifying can be combined using the Delta-DAO signer. +https://signer.demo.delta-dao.com/#signer + +From an OpenStack perspective, this still incomplete. +- We lack flavor details (though we need SCS specs to discover more) +- We lack a list of public images (along with image details) +- Neutron probably has a few things to detect. + +During Hackathon#6, the JSON-LD was updated match the current +shapes thanks to the work from dNation. A validator was added. + +Tecnalia contributed work to characterize K8s clusters in Hackathon#6 +as well as an Airflow automation pipeline. + +TODO: Create cmd line tool that does signing and interacting with +the compliance service, so we can set up CI testing. + +From a Gaia-X perspective, SCS generator is still incomplete, as it does not generate W3C Verifiable Credentials. A concept on how to make generator Gaia-X compliant and integrate it into Gaia-x Tool box, can be found [here](doc/xfsc.md). + diff --git a/generator/cli.py b/cli.py similarity index 68% rename from generator/cli.py rename to cli.py index b23a533..17de219 100644 --- a/generator/cli.py +++ b/cli.py @@ -22,18 +22,23 @@ def cli(): @click.command() @click.option( - "--print-json-ld", + "--wallet", is_flag=True, - help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", + help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", +) +@click.option( + "--no-print", + is_flag=True, + help="Use '--no-print' to omit json-ld print on screen.", ) @click.option( "--config", - default="../config/config.yaml", + default="config/config.yaml", help="Path to Configuration file for SCS GX Credential Generator.", ) @click.option("--timeout", default=12, help="Timeout for API calls in seconds") @click.argument("cloud") -def openstack(cloud, timeout, config, print_json_ld): +def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -56,15 +61,18 @@ def openstack(cloud, timeout, config, print_json_ld): with open(config, "r") as config_file: # init everything config_dict = yaml.safe_load(config_file) - wallets = init_wallets(config_dict) os_cloud = OsCloud(conn, config_dict) # run discovery creds = os_cloud.discover_properties() - # store creds in wallets and print them as overall JSON-LD - store_creds_in_wallet(wallets, creds) - if print_json_ld: + # store creds in wallets + if wallet: + wallets = init_wallets(config_dict) + store_creds_in_wallet(wallets, creds) + + # print on screen + if not no_print: props = json_ld.get_json_ld_context() props["@graph"] = creds print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @@ -78,20 +86,23 @@ def kubernetes(): def init_wallets(config: dict) -> List[WalletConnector]: wallets = list() - for wallet in config[const.CONFIG_WALLETS]: - if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append( - FileSystemWallet( - config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + try: + for wallet in config[const.CONFIG_WALLETS]: + if wallet == const.CONFIG_FILESYSTEM_WALLET: + wallets.append( + FileSystemWallet( + config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + ) ) - ) - elif wallet == const.CONFIG_XFSC_WALLET: - wallets.append(XFSCWallet()) + elif wallet == const.CONFIG_XFSC_WALLET: + wallets.append(XFSCWallet()) + except KeyError: + pass return wallets def store_creds_in_wallet( - wallets: List[WalletConnector], creds: List[JsonLdObject] + wallets: List[WalletConnector], creds: List[JsonLdObject] ) -> None: for w in wallets: for c in creds: diff --git a/config/config.yaml b/config/config.yaml index 24f7ffe..c62a569 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -2,123 +2,123 @@ default: operating system: Alpine Linux: copyright owner: "Alpine Linux" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 Arch Linux: copyright owner: "Judd Vinet, Aaron Griffin, Levente Polyák and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://gitlab.archlinux.org/archlinux CentOS Linux: copyright owner: "The CentOS Project and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://github.com/CentOS/ Debian: copyright owner: "Ian Murdock and others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.debian.org/legal/licenses/index.en.html Fedora: copyright owner: "Fedora-Project" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://docs.fedoraproject.org/en-US/legal/fedora-linux-license/ FreeBSD: copyright owner: "The FreeBSD Project" - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only - LGPL-2.0 Gentoo Linux: copyright owner: "Gentoo Foundation, Inc." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.gentoo.org/glep/glep-0076.html Mandrakelinux: copyright owner: "Mandriva Linux" - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only Mandriva Linux: copyright owner: "Mandriva S. A." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only Mandriva Enterprise Server: copyright owner: "Mandriva S. A." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-3.0-only MS-DOS: copyright owner: "Microsoft Corporation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.microsoft.com/licensing/docs/view/Licensing-Guides NetBSD: copyright owner: "The NetBSD Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.netbsd.org/about/redistribution.html Novell NetWare: copyright owner: "Micro Focus International" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://support.novell.com/techcenter/articles/ana19960702.html OpenBSD: copyright owner: "OpenBSD" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.openbsd.org/policy.html OpenSolaris: copyright owner: "Sun Microsystems" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://opensource.apple.com/source/xnu/xnu-2050.7.9/tools/tests/libMicro/OPENSOLARIS.LICENSE.auto.html openSUSE: copyright owner: "openSUSE contributors & others" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://en.opensuse.org/openSUSE:License Rocky Linux: copyright owner: "Rocky Enterprise Software Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://rockylinux.org/licensing Red Hat Enterprise Linux: copyright owner: "Red Hat, Inc." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server SUSE Linux Enterprise Desktop: copyright owner: "SUSE" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.suse.com/products/terms_and_conditions.pdf Ubuntu: copyright owner: "Canonical" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://ubuntu.com/legal/open-source-licences Microsoft Windows: copyright owner: "Microsoft Corporation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.microsoft.com/licensing CirrOS: copyright owner: "Canonical Ltd." - resource policy: "abc" + resource policy: "default: allow intent" license: - GPL-2.0-only AlmaLinux: copyright owner: "Canonical Ltd." - resource policy: "abc" + resource policy: "default: allow intent" license: - https://almalinux.org/p/the-almalinux-os-licensing-policy/ Debian 11: copyright owner: "AlmaLinux OS Foundation" - resource policy: "abc" + resource policy: "default: allow intent" license: - https://www.abc.org #cloud resources: diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 55f122f..5252390 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -67,9 +67,10 @@ def discover_vm_images(self) -> List[JsonLdObject]: """ images = list() for image in self.conn.list_images(): - images.append( - JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) - ) + if image.visibility == 'public': + images.append( + JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) + ) return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: From 8bfdf04b9211e366b9745842ad61e9461a6cc3a6 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 29 Feb 2024 11:33:18 +0100 Subject: [PATCH 141/175] Refactoring Signed-off-by: Anja Strunk --- README.md | 144 +- cli.py | 88 +- config/config.yaml | 2 +- doc/20230424-sd-schema.md | 5678 ----------------- .../discovery/openstack/opentack_discovery.py | 11 + .../openstack/vm_images_discovery.py | 28 +- generator/wallet/file_wallet.py | 28 - generator/wallet/wallet.py | 36 - generator/wallet/xfsc_wallet.py | 8 - requirements.txt | 2 +- sd/example.jsonld | 14 - sd/example.ttl | 40 - sd/gx_service_offering_example.jsonld | 65 - sd/gx_shapes_latest.ttl | 191 - sd/validate.py | 53 - 15 files changed, 175 insertions(+), 6213 deletions(-) delete mode 100644 doc/20230424-sd-schema.md delete mode 100644 generator/wallet/file_wallet.py delete mode 100644 generator/wallet/wallet.py delete mode 100644 generator/wallet/xfsc_wallet.py delete mode 100644 sd/example.jsonld delete mode 100644 sd/example.ttl delete mode 100644 sd/gx_service_offering_example.jsonld delete mode 100644 sd/gx_shapes_latest.ttl delete mode 100755 sd/validate.py diff --git a/README.md b/README.md index d9c0b36..6f9ac7d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # gx-credential-generator -Tools for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +Tool for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Gaia-X Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) ## Introduction @@ -10,30 +10,11 @@ assuming that we have access to it (as normal tenant user). We read the OpenStack catalog to collect - public VM Images -This then should be output as JSON-LD for the Gaia-X catalogue. - -References: -- -- -- -- -- - -Notes from reviewing the SD attributes: -* Virtualized CPU types: It might be of limited use to reference exact model names, rather characterize properties - (generation, speed, insn set extensions, ...) -* NICs: Virtual NICs are almost unlimited, but there may be a limited amount of hardware-accelerated - NICs (using SR-IOV and multiqueue features) available -- these may need to be added to SCS flavor - naming. -* Other extension hardware like FPGAs need to be specified -* Tenant isolation needs a list of criteria. Virt OK? V(x)LANs OK? Shared storage cluster OK? ... -* Availability Zones: Provider needs to create transparency over what it means. Fire protection zones? - Power supply zones? Internet connectivity zones? Minimal and maximal physical distance? Network - latency distance? - +This then should be output as GX compliant credential in JSON-LD for the Gaia-X catalogue. ### k8s -Same thing for k8s +We want to collect discoverable information from a k8s cloud, +assuming that we have access to it. Collect information on a k8s cluster: - Metadata @@ -46,19 +27,19 @@ Collect information on a k8s cluster: For typical k8s aaS offerings, every cluster is different, and we probably don't want to have a description for every single customer specific cluster. (Some providers may offer self-service, -so we would not want to push of a new SD into the G-X catalogue on +so we would not want to push of a new GX Credential into the GX catalogue on creation, changing or deletion of clusters.) Still it might be -helpful to have a SD on demand for an existing cluster to characterize -it, so users can use the SD to match it to app requirements. +helpful to have a GX Credential on demand for an existing cluster to characterize +it, so users can use the GX Credentials to match it to app requirements. -So the SD for a k8s aaS solution would list possible options and +So the GX Credential for a k8s aaS solution would list possible options and ranges: What k8s versions are supported, what max number of workers, flavors, etc.? What services are optionally delivered (and supported) by the provider? For KaaS, the option space really needs to be described. As of now, this can not be discovered, short of using external sources, -like the IaaS SD, the list of node images (osism minio), ... +like the IaaS GX Credential, the list of node images (osism minio), ... ## Quick Start Guide @@ -74,58 +55,82 @@ cd gx-credential-generator pip install -r requirements.txt ``` -3. Create `clouds.yaml` configuration file - - Gaia-x generator has to be configured with user credentials, auth-url, ... to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html) - - Make sure the following keys exist in our `clouds.yaml`. clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. + +### OpenStack + +a. Create `clouds.yaml` configuration file + - GX credential Generator requires access to OpenStack cluster as normal tenant user and has to be configured with these user credentials to access your Openstack cloud. This is done using [clouds.yaml](https://docs.openstack.org/python-openstackclient/ussuri/configuration/index.html). clouds.yaml is a yaml file containing several cloud configurations. Each configuration is referred by name. + - Make sure the following keys exist in our `clouds.yaml`. - `auth.user_domain_name` - `auth.project_domain_name` - `region_name` - - GX Credential Generator requires access to OpenStack cluster as normal tenant user and K8s access - -4. Generate Gaia-X Credentials + +b. Generate Gaia-X Credentials - - To print OpenStack properties in JSON-LD as ONE credential - ```bash + - To print OpenStack properties in JSON-LD +```bash python3 cli.py openstack ``` - - To store OpenStack properties as credential in wallet +[//]: <> (- To store OpenStack properties as several credentials in wallet ```bash python3 cli.py openstack --wallet - ``` - - To omit to print OpenStack properties on screen store OpenStack properties as credential in wallet + ```) + +[//]: <> (- To omit to print OpenStack properties on screen and to store OpenStack properties as credential in wallet ```bash python3 cli.py openstack --wallet --no-print - ``` + ```) + +### K88 +Generate Gaia-X Credentials - To print K8s properties ... ```bash ./gx-sd-generator.py k8s ``` -5. Start the gaiax-pipeline (deprecated) +### Airflow Pipeline +Start the gaiax-pipeline (deprecated) - To modify the airflow pipeline you have to touch the gaiax-pipeline.py file inside the dags folder ``` cd devops docker-compose up -d ``` -## Gaia-X Compliance +### Validation + +Generated GX Credentials could be validated against their schemas (shapes) by the +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: + + + +Try to validate a minimal example against the latest GX shapes (feel free to remove some +required attribute and check validation result): +```bash +./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl +``` + + +## Compliance -GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework) +GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). +GX Credential Generator **does not** create W3C complaint [Verifiable Credentials](https://www.w3.org/TR/vc-data-model/). ## Configuration -GX Credential generator is configured by config.yaml. The configuration includes: +GX Credential generator is configured by `config.yaml`. The configuration includes: -- Default values for mandatory attributes -- Wallets +- Mandatory: Default values for mandatory attributes +- Optional: Values for optional attributes +- Optional: Wallets ### Mandatory Attributes -Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file, from section `default`. +Gaia-X Credential schema dictates mandatory attributes for some class. If values for mandatory attributes can not be access from OpenStack or K8S cluster, default values are taken from configuration file in section `default`. Providers are able to change default values. In doing so, attribute values for **ALL** instances of impacted cloud resource are modified. #### CopyrightOwner, License and ResourcePolicy of VM images -`copyrigthowner`, `license` and `resourcePolicy` are mandatory for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. Configuration file lists default values for `copyrightOwner`, `license` and `resourcePolicy` for operating systems, e.g. for Alpine Linux. +`copyrigthowner`, `license` and `resourcePolicy` are mandatory attributes for VM Images and their operating systems. As these values are not accessible from OpenStack cloud, default values are used. The values for operating system are defined in section `operating system` with one section for each operating system. Operating systems are refered by name, e.g. for Alpine Linux. ```yaml default: @@ -137,7 +142,7 @@ default: - https://gitlab.alpinelinux.org/alpine/aports/-/issues/9074 ``` -By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM Image instance, individually. Therefore, the section `cloud resources/own images` exists. To set individual values for a specific VM Image add a new section, started by image's name, to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. +By default, generator uses operating system values for VM Image as well. I.e. by default, VM Image and operating system have the same values for `copyrigthOwner`, `license` and `resourcePolicy`. Providers are able to change values for each VM image, individually. Therefore, the section `own images` in `cloud resources` exists. To set individual values for a specific VM image, add a new section, started by image's name (as defined in OpenStack cloud) to configuration file. The following example defines ìndividual values for `copyrigthOwner`, `license` and `resourcePolicy` for VM image called `AlmaLinux 8`. ```yaml cloud resources: @@ -151,37 +156,21 @@ cloud resources: - https://www.abc.org ``` -### Mandatory Attributes +### Optional Attributes -Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file as well. +Similar to mandatory attributes, GX Credential Schemas supports optional attributes, whose values can not be retrieved from OpenStack cloud. These values can be set in configuration file in section `cloud resources` as well. #### AggregationOf of VM Images +GX Credential schema allows to describe cloud resources, such VM images, in a fine granular manner, by using attribute `aggregationOf`. This attribute refers a list of GX credentials either as [DID](https://www.w3.org/TR/did-core/) or as file path relative to generators working directory. The latter is copied to cloud resource's credentials. For more details on GX credential schema and its attributes, please refer [Gaia-X Service Characteristics GitLab](https://gitlab.com/gaia-x/technical-committee/service-characteristics) +[//]: <> (### Wallets) +[//]: <> (Wallets are digital secure storages to store Verifiable Credentials, like GX credentials. GX generator stores generated GX credentials in all configured wallets. Wallets are configured in section `wallets`. The following wallets are supported:) +[//]: <> (- File System: + - Stores credentials on dedicated folder in disk. Use this wallet for testing purpose only. +) -### Wallets - -Generated SelfDescriptions could be validated against their schemas (shapes) by the - -simple SD validator script. Visit the `sd` directory and try to validate your -generated SD. Find the examples in `sd` directory and do the validation as follows: -```bash -./sd/validate.py sd/example.jsonld sd/example.ttl -``` - -### GX SelfDescription - Service Offering minimal example - -SD definition `sd/gx_service_offering_example.jsonld` should represent -a minimal GX Service Offering example that is valid against the latest GX shacl shapes `sd/gx_shapes_latest.ttl`. -The latest GX shacl shapes (at the time of Hackathon#6 23/05/3-4) are -used by the [GX wizard](https://wizard.lab.gaia-x.eu/), and they have been downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). - -Try to validate a minimal example against the latest GX shapes (feel free to remove some -required attribute and check validation result): -```bash -./sd/validate.py sd/gx_service_offering_example.jsonld sd/gx_shapes_latest.ttl -``` ## Docker @@ -206,6 +195,14 @@ mkdir -p os_secret && cp secret1 /os_secret docker run -v "${PWD}/os_secret:/root/.config/openstack" $(docker build -q .) ./gx-sd-generator.py --os-cloud gx-h61.1 ``` +Generated SelfDescriptions could be validated against their schemas (shapes) by the + +simple SD validator script. Visit the `sd` directory and try to validate your +generated SD. Find the examples in `sd` directory and do the validation as follows: +```bash +./sd/validate.py sd/example.jsonld sd/example.ttl +``` + ## Status (2023-05-04) The current PoC code can discover OpenStack capabilities and produces an entry for the services in the service catalogue, with name, @@ -224,7 +221,6 @@ https://signer.demo.delta-dao.com/#signer From an OpenStack perspective, this still incomplete. - We lack flavor details (though we need SCS specs to discover more) -- We lack a list of public images (along with image details) - Neutron probably has a few things to detect. During Hackathon#6, the JSON-LD was updated match the current diff --git a/cli.py b/cli.py index 17de219..8b08cd5 100644 --- a/cli.py +++ b/cli.py @@ -1,5 +1,19 @@ +#!/usr/bin/env python3 + +"""Script to validate self-description in JSON-LD format + against its schema is turtle format. + +(c) Kurt Garloff , 5/2023 +(c) Roman Hros , 5/2023 +(c) Matej Feder , 5/2023 +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + import json import sys +import warnings + from typing import List import click @@ -8,12 +22,20 @@ import generator.common.const as const import generator.common.json_ld as json_ld + +from pyshacl import validate + from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud from generator.wallet.file_wallet import FileSystemWallet from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet +import rdflib + +SHAPES_FILE_FORMAT = "turtle" +DATA_FILE_FORMAT = "json-ld" + @click.group() def cli(): @@ -21,16 +43,16 @@ def cli(): @click.command() -@click.option( - "--wallet", - is_flag=True, - help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", -) -@click.option( - "--no-print", - is_flag=True, - help="Use '--no-print' to omit json-ld print on screen.", -) +#@click.option( +# "--wallet", +# is_flag=True, +# help="Use '--wallet' to store generated credentials in all wallets. Wallets can be configured in configuration file.", +#) +#@click.option( +# "--no-print", +# is_flag=True, +# help="Use '--no-print' to omit json-ld print on screen.", +#) @click.option( "--config", default="config/config.yaml", @@ -38,7 +60,8 @@ def cli(): ) @click.option("--timeout", default=12, help="Timeout for API calls in seconds") @click.argument("cloud") -def openstack(cloud, timeout, config, no_print, wallet): +def openstack(cloud, timeout, config): +#def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -67,15 +90,18 @@ def openstack(cloud, timeout, config, no_print, wallet): creds = os_cloud.discover_properties() # store creds in wallets - if wallet: - wallets = init_wallets(config_dict) - store_creds_in_wallet(wallets, creds) + #if wallet: + # wallets = init_wallets(config_dict) + # store_creds_in_wallet(wallets, creds) # print on screen - if not no_print: - props = json_ld.get_json_ld_context() - props["@graph"] = creds - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + #if not no_print: + props = json_ld.get_json_ld_context() + props["@graph"] = creds + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + + #if not wallet and no_print: + # warnings.warn("--no-print is set, but not --wallet. Generated credential(s) will be stored/printed nowhere.") @click.command() @@ -109,8 +135,34 @@ def store_creds_in_wallet( w.store_credential(c) +def load_file(filepath, file_format=DATA_FILE_FORMAT): + """Load file in a given format""" + graph = rdflib.Graph() + graph.parse(filepath, format=file_format) + return graph + + +#@click.command() +#@click.argument("credential", help=f"Filepath of GX Credential to validate. Should have {DATA_FILE_FORMAT} format", ) +#@click.argument("shapes", +# help=f"Filepath of shacl schema to be used for validation. Should have {SHAPES_FILE_FORMAT} format", ) +#def validate(credential, shapes): +# """Validate SD in jsonld format against given schema in turtle format""" +# conforms, results_graph, results_text = validate( +# load_file(credential), +# shacl_graph=load_file(shapes, file_format=SHAPES_FILE_FORMAT), +# data_graph_format=DATA_FILE_FORMAT, +# shacl_graph_format=SHAPES_FILE_FORMAT, +# inference="rdfs", +# debug=False, +# serialize_report_graph=True, +# ) +# print(results_text) + + cli.add_command(openstack) cli.add_command(kubernetes) +#cli.add_command(validate) if __name__ == "__main__": cli() diff --git a/config/config.yaml b/config/config.yaml index c62a569..ea47ae1 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -91,7 +91,7 @@ default: resource policy: "default: allow intent" license: - https://www.redhat.com/en/store/red-hat-enterprise-linux-server - SUSE Linux Enterprise Desktop: + SUSE Linux Enterprise Server: copyright owner: "SUSE" resource policy: "default: allow intent" license: diff --git a/doc/20230424-sd-schema.md b/doc/20230424-sd-schema.md deleted file mode 100644 index 2f7a654..0000000 --- a/doc/20230424-sd-schema.md +++ /dev/null @@ -1,5678 +0,0 @@ -# Self Description Model - -Version: 24/04/2023 - -## Outline - -- [gax-resource:NetworkingDevice](#gax-resource:networkingdevice) -- [gax-trust-framework:Attestation](#gax-trust-framework:attestation) -- [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) -- [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) -- [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) -- [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal) -- [gax-trust-framework:BigData](#gax-trust-framework:bigdata) -- [gax-trust-framework:BlockStorageOffering](#gax-trust-framework:blockstorageoffering) -- [gax-trust-framework:CPU](#gax-trust-framework:cpu) -- [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue) -- [gax-trust-framework:Certificates](#gax-trust-framework:certificates) -- [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) -- [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) -- [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) -- [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) -- [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) -- [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) -- [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) -- [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) -- [gax-trust-framework:ComplianceLabel](#gax-trust-framework:compliancelabel) -- [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) -- [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) -- [gax-trust-framework:Compute](#gax-trust-framework:compute) -- [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction) -- [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) -- [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) -- [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) -- [gax-trust-framework:Container](#gax-trust-framework:container) -- [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) -- [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) -- [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) -- [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) -- [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering) -- [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) -- [gax-trust-framework:DataResource](#gax-trust-framework:dataresource) -- [gax-trust-framework:Database](#gax-trust-framework:database) -- [gax-trust-framework:DigitalIdentityWallet](#gax-trust-framework:digitalidentitywallet) -- [gax-trust-framework:Disk](#gax-trust-framework:disk) -- [gax-trust-framework:Encryption](#gax-trust-framework:encryption) -- [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) -- [gax-trust-framework:FPGA](#gax-trust-framework:fpga) -- [gax-trust-framework:FileStorageOffering](#gax-trust-framework:filestorageoffering) -- [gax-trust-framework:GPU](#gax-trust-framework:gpu) -- [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) -- [gax-trust-framework:IdentityAccessManagementOffering](#gax-trust-framework:identityaccessmanagementoffering) -- [gax-trust-framework:IdentityFederation](#gax-trust-framework:identityfederation) -- [gax-trust-framework:IdentityProvider](#gax-trust-framework:identityprovider) -- [gax-trust-framework:Image](#gax-trust-framework:image) -- [gax-trust-framework:ImageRegistryOffering](#gax-trust-framework:imageregistryoffering) -- [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering) -- [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) -- [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) -- [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) -- [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier) -- [gax-trust-framework:Interoperability](#gax-trust-framework:interoperability) -- [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation) -- [gax-trust-framework:InteroperabilityAttestationType](#gax-trust-framework:interoperabilityattestationtype) -- [gax-trust-framework:LegalPerson](#gax-trust-framework:legalperson) -- [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity) -- [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) -- [gax-trust-framework:Location](#gax-trust-framework:location) -- [gax-trust-framework:Measure](#gax-trust-framework:measure) -- [gax-trust-framework:Memory](#gax-trust-framework:memory) -- [gax-trust-framework:Network](#gax-trust-framework:network) -- [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity) -- [gax-trust-framework:NetworkOffering](#gax-trust-framework:networkoffering) -- [gax-trust-framework:Node](#gax-trust-framework:node) -- [gax-trust-framework:ObjectStorageOffering](#gax-trust-framework:objectstorageoffering) -- [gax-trust-framework:Orchestration](#gax-trust-framework:orchestration) -- [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) -- [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) -- [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) -- [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver) -- [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering) -- [gax-trust-framework:Provider](#gax-trust-framework:provider) -- [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) -- [gax-trust-framework:Region](#gax-trust-framework:region) -- [gax-trust-framework:RegistrationNumber](#gax-trust-framework:registrationnumber) -- [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) -- [gax-trust-framework:Resource](#gax-trust-framework:resource) -- [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) -- [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint) -- [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) -- [gax-trust-framework:Signatur](#gax-trust-framework:signatur) -- [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) -- [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) -- [gax-trust-framework:Standard](#gax-trust-framework:standard) -- [gax-trust-framework:StorageOffering](#gax-trust-framework:storageoffering) -- [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) -- [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) -- [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) -- [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) -- [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) -- [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) -- [gax-trust-framework:VerifiableCredentialWallet](#gax-trust-framework:verifiablecredentialwallet) -- [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) -- [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) -- [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) -- [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) -- [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) -- [gax-trust-framework:Volume](#gax-trust-framework:volume) -- [gax-trust-framework:WalletOffering](#gax-trust-framework:walletoffering) -- [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) - - -
- - -## gax-resource:NetworkingDevice - -```mermaid -classDiagram - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount - - -``` - - **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| managementPort | xsd:string | 0 | unlimited | A dedicated port for management tasks. | no, yes | -| consolePort | xsd:string | 0 | unlimited | A dedicated port for console tasks. | no, yes | -| portCapacity_A | xsd:float
0 <= value | 0 | unlimited | The assigned capacity of ports. | 10GE, 100GE | -| portCapacity_A_Count | xsd:integer
1 <= value | 0 | unlimited | The assigned number of ports. | 10, 1 | -| redundantPowerSupply | xsd:string | 0 | unlimited | Availability of redundant power supply for the cases of emergency. | yes, no | -| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Ram size of the networking device | 2Gb | -| cpuCount | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Number of available CPUs. | 1 | -| type | xsd:string | 0 | unlimited | Type of networking device | switch, router, repeater | -| supportedProtocols | xsd:string | 0 | unlimited | List of supported protocols among used layers should be specified. | IP, IRP | -| networkAdress | xsd:float | 0 | unlimited | IP address of the netowrking device | 192.168.24.2/32 | - - -
- - -## gax-trust-framework:Attestation - -```mermaid -classDiagram - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -class gaxTrustFramework_InteroperabilityAttestation{ -interoperabilityAttestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:InteroperabilityAttestation](#gax-trust-framework:interoperabilityattestation), [gax-trust-framework:serviceInteroperabilityAttestation](#gax-trust-framework:serviceinteroperabilityattestation) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| providedBy | gax-core:Participant | 1 | 1 | DID of participant providing this Attestation. | https://gaia-x.eu | -| attestationDate | xsd:date | 1 | 1 | Date of Attestation | | -| attestationType | xsd:string | 1 | 1 | Type of attestation: Positive or Negative (revocation) | Positive, Negative ( Revocation ) | - - -
- - -## gax-trust-framework:AutoscaledContainer - -```mermaid -classDiagram - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer - - -``` - - **Super classes**: [gax-trust-framework:Container](#gax-trust-framework:container) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:AutoscaledVirtualMachine - -```mermaid -classDiagram - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec - - -``` - - **Super classes**: [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| autoscaledVmServiceSpec | [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) | 1 | unlimited | Auto Scaling Group Specifications for this service offering | (a structured object of type gax-trust-framework:VMAutoScalingGroupSpec) | - - -
- - -## gax-trust-framework:AvailabilityZone - -```mermaid -classDiagram - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone - -gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | an availability zone is an aggregation of resources - physical and abstract - in a non-redundant setup often associated with a single datacenter room | (reference to Resources) | - - -
- - -## gax-trust-framework:BareMetal - -```mermaid -classDiagram - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal - -class gaxTrustFramework_PxeImage{ -format -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage) | 1 | unlimited | all possible provided bare metal server images for this service offering | (a structured object of type gax-trust-framework:PXEImage) | -| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided bare metal server flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | - - -
- - -## gax-trust-framework:BigData - -```mermaid -classDiagram - -gaxTrustFramework_Platform <|-- gaxTrustFramework_BigData - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:BlockStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_BlockStorageOffering{ -volumeTypes -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_BlockStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| volumeTypes | xsd:string | 0 | 1 | List of volume types supported by this block storage | local-fast, remote-fast, remote-standard | - - -
- - -## gax-trust-framework:CPU - -```mermaid -classDiagram - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuArchitecture | xsd:string
value must be in: [x86, x86-64, RISC-V, Generic] | 0 | 1 | Basic CPU architecture. | x86, x86-64, RISC-V, Generic | -| cpuGeneration | xsd:string
value must be in: [Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2] | 0 | 1 | CPU instruction set generation. Determines basic feature set and migration compatibility. | Skylake-Server-v4, Icelake-Server-v4, Cascadelake-Server-v4, EPYC-Milan-v1, EPYC-Rome-v2 | -| cpuFlag | xsd:string | 0 | unlimited | CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h . | fpu, vme, de, pse, sse, sse2, ht, vmx, smx, sse4_1, sse4_2, avx, 3dnowprefetch, ibrs_enhanced, ept_ad, sgx, sgx_lc, md_clear, arch_capabilities, ... | -| smtIsEnabled | xsd:boolean | 0 | 1 | Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default False. | true, false | -| numberOfSockets | xsd:integer | 0 | 1 | Number of CPU Sockets | 1, 2, 4 | -| numberOfCores | xsd:integer
1 <= value | 0 | 1 | Number of Cores of the CPU | 4, 6, 8, 12, 24 | -| numberOfThreads | xsd:integer
1 <= value | 0 | 1 | Number of Threads of the CPU | 8, 12, 24 | -| baseFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Frequency of the CPU | A structure object of type measure, e.g. measure:value=3.0 and measure:unit=GHz | -| boostFrequency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Boost frequency of the CPU | A structure object of type measure, e.g. measure:value=4.0 and measure:unit=GHz | -| lastLevelCacheSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Last Level Cache size of the CPU | A structure object of type measure, e.g. measure:value=38 and measure:unit=MB | -| socket | xsd:string | 0 | 1 | Socket the CPU fits into. | FCLGA3647 | -| tdp | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | CPU Thermal Design Power - ref : https://en.wikipedia.org/wiki/Thermal_design_power | A structure object of type measure, e.g. measure:value=100 and measure:unit=W | -| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default maximum number of workloads scheduled on this CPU simultaneously | 1.0 | -| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available scheduler settings for the numer of simultaneously scheduled workloads on this CPU | 1.0 | - - -
- - -## gax-trust-framework:Catalogue - -```mermaid -classDiagram - -class gaxTrustFramework_Catalogue{ -getVerifiableCredentialsIDs -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| getVerifiableCredentialsIDs | xsd:string | 1 | unlimited | A route used to synchronize catalogues and retrieve the list of Verifiable Credentials (issuer, id). | | - - -
- - -## gax-trust-framework:Certificates - -```mermaid -classDiagram - -class gaxTrustFramework_Certificates{ -certificateName -certificateType -descriptionOfTestScope -certificateAuthority -certificateDocument -expirationDate -regularAudits -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| certificateName | xsd:string | 1 | 1 | Relevant certificate for the service | ISO XYZ | -| certificateType | xsd:string | 1 | 1 | Type of the certificates | BSI IT-Grundschutz, ISO 27001, Trust in Cloud | -| descriptionOfTestScope | xsd:string | 1 | 1 | Description of the scope of testing for this service | Freetext | -| certificateAuthority | xsd:string | 1 | 1 | Certificate authority for this service or its certificate | TÜV Süd | -| certificateDocument | xsd:string | 1 | 1 | Document that contains a certificate copy | certificates.pdf | -| expirationDate | xsd:date | 1 | 1 | Date on which the certificate expires | 2122-12-21 | -| regularAudits | xsd:boolean | 1 | 1 | Is the certificate regularly audited? | true, false | - - -
- - -## gax-trust-framework:CheckSum - -```mermaid -classDiagram - -class gaxTrustFramework_CheckSum{ -checksum -checksumAlgorithm -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| checksum | xsd:string | 1 | 1 | Value of check sum | 5d68f20237c7c01c067b577ee5e490d1 | -| checksumAlgorithm | xsd:string
value must be in: [md5, sha-1, ripemd-160, sha-2, sha-3, blake2, blake3, other] | 1 | 1 | Defines algorithm for generating check sum | md5 | - - -
- - -## gax-trust-framework:CodeArtifact - -```mermaid -classDiagram - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) - - **Sub classes**: [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode), [gax-trust-framework:Image](#gax-trust-framework:image) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 1 | 1 | Name identifying the code artifact | Image 1, Function_2 | - - -
- - -## gax-trust-framework:ComplianceAssessmentBody - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxCore_Participant <|-- gaxTrustFramework_ComplianceAssessmentBody - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential - -gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody - -gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| canCertifyThirdPartyComplianceCertificationScheme | [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) | 1 | unlimited | IDs of the Third Party Compliance Certification Scheme this Compliance Assessment Body can certify. | did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#1, did:web:compliance.gaia-x.eu/3rdPartyComplianceCertScheme/sha256#2 | -| hasThirdPartyComplianceCertificateClaim | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | unlimited | IDs of Certificate claims issued by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#1, did:web:compliance.gaia-x.eu/complianceCertClaim/sha256#2 | -| hasThirdPartyComplianceCredential | [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) | 1 | unlimited | IDs of the Certificate claims VC certified by this Compliance Assessment Body. | did:web:compliance.gaia-x.eu/complianceVC/sha256#1, did:web:compliance.gaia-x.eu/complianceVC/sha256#2 | - - -
- - -## gax-trust-framework:ComplianceCertificateClaim - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceCertificationScheme | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 0 | 1 | ID of the Compliance Certification Scheme (self-description) involved in the certification | https://company-a.com/self-descriptions/compliance-cert-scheme-iso27001.jsonld | -| hasServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | 1 | ID of the Service Offering (self-description) certified for the compliance | https://company-a.com/self-descriptions/service-offering-iaas.jsonld | - - -
- - -## gax-trust-framework:ComplianceCertificateCredential - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -cred_VerifiableCredential <|-- gaxTrustFramework_ComplianceCertificateCredential - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateCredential --> "1..1" gaxTrustFramework_ComplianceCertificateClaim: credentialSubject - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential - - -``` - - **Super classes**: [cred:VerifiableCredential](#cred:verifiablecredential) - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificateCredential](#gax-trust-framework:thirdpartycompliancecertificatecredential) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| credentialSubject | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 1 | 1 | ID of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the ID is the ID of the third party | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ComplianceCertificationScheme - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateClaim --> "0..1" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationScheme - -gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:ThirdPartyComplianceCertificationScheme](#gax-trust-framework:thirdpartycompliancecertificationscheme) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceReference | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | 1 | ID of Compliance Reference (self-description) to be certified by any means defined in the Certification Scheme | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | -| grantsComplianceCriteriaCombination | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | 1 | ID of Compliance Criterion Combination granted by the scheme in case of certification | https://company-a.com/self-descriptions/compliance-ref-iso27001.jsonld | - - -
- - -## gax-trust-framework:ComplianceCriteriaCombination - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -class gaxTrustFramework_ComplianceCriterion{ -hasName -hasDescription -hasLevel -} - -gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceCriteriaCombination: grantsComplianceCriteriaCombination - -class gaxTrustFramework_ComplianceLabel{ -hasName -hasDescription -hasLevel -hasRequiredCriteriaCombinations -} - -gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X criteria combination | Gaia-X Criteria Combination #1 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language | Gaia-X | -| requiredOrGrantedCriteria | [gax-trust-framework:ComplianceCriterion](#gax-trust-framework:compliancecriterion) | 1 | unlimited | List of Required Criteria to be granted for the label or list of granted Criteria by the compliance. All the Criteria have to be granted (logic AND) | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | - - -
- - -## gax-trust-framework:ComplianceCriterion - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceCriterion{ -hasName -hasDescription -hasLevel -} - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceCriteriaCombination --> "1..*" gaxTrustFramework_ComplianceCriterion: requiredOrGrantedCriteria - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Criterion | Gaia-X C1/L1 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Criterion as defined in TF document | Gaia-X | -| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Label level. The level ordering is done by alphanumeric order. | 1, 2, 3 | - - -
- - -## gax-trust-framework:ComplianceLabel - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceLabel{ -hasName -hasDescription -hasLevel -hasRequiredCriteriaCombinations -} - -class gaxTrustFramework_ComplianceCriteriaCombination{ -hasName -hasDescription -requiredOrGrantedCriteria -} - -gaxTrustFramework_ComplianceLabel --> "1..*" gaxTrustFramework_ComplianceCriteriaCombination: hasRequiredCriteriaCombinations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasName | xsd:string | 1 | 1 | Name of the Gaia-X Label | Gaia-X GDPR Trusted Label | -| hasDescription | xsd:string | 0 | 1 | A description in natural language of the Gaia-X Label as defined in TF document | Gaia-X | -| hasLevel | xsd:string | 1 | 1 | A description in natural language of the Gaia-X Label Level as defined in TF document | 1, 2, 3 | -| hasRequiredCriteriaCombinations | [gax-trust-framework:ComplianceCriteriaCombination](#gax-trust-framework:compliancecriteriacombination) | 1 | unlimited | List of Criteria Combinations. If one of these Combinations is valid the Label is Granted | 1, 2, 3 | - - -
- - -## gax-trust-framework:ComplianceReference - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -class gaxTrustFramework_ComplianceReferenceManager{ -hasComplianceReferences -} - -gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceReference --> "1..*" gaxTrustFramework_ComplianceCertificationScheme: hasComplianceCertificationSchemes - -gaxTrustFramework_ComplianceCertificationScheme --> "1..1" gaxTrustFramework_ComplianceReference: hasComplianceReference - -gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasReferenceUrl | xsd:anyURI | 1 | 1 | URI to reference the content of the compliance reference in a single PDF file | https://www.iso.org/iso-27001.pdf | -| hasSha256 | xsd:string | 1 | 1 | SHA256 of PDF document referenced by hasReferenceUrl. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | -| hasComplianceReferenceTitle | xsd:string | 1 | 1 | Name of the Compliance Reference | ISO 27001 | -| hasDescription | xsd:string | 0 | 1 | A description in natural language | Information security management system standards. | -| hasComplianceReferenceManager | [gax-trust-framework:ComplianceReferenceManager](#gax-trust-framework:compliancereferencemanager) | 1 | 1 | ID of Participant (self-description) in charge of managing this Compliance Reference | https://company-a.com/self-descriptions/compliance-ref-manager.jsonld | -| hasVersion | xsd:string | 0 | 1 | versioning according to [semver](https://semver.org/). | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| cRValidFrom | xsd:dateTime | 0 | 1 | Indicates the first date when the compliance reference goes into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| cRValidUntil | xsd:dateTime | 0 | 1 | Indicates the last date when the compliance reference is no more into effect | 22/04 or 2022/04/12 or 1.5.34 or built 240344 | -| hasComplianceCertificationSchemes | [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) | 1 | unlimited | List of schemes that grants certification. This list is managed by a reference manager. | did:web:compliance.cispe.org/coc/gdpr/thirdparty#1 | - - -
- - -## gax-trust-framework:ComplianceReferenceManager - -```mermaid -classDiagram - -class gaxTrustFramework_ComplianceReferenceManager{ -hasComplianceReferences -} - -gaxCore_Participant <|-- gaxTrustFramework_ComplianceReferenceManager - -class gaxTrustFramework_ComplianceReference{ -hasReferenceUrl -hasSha256 -hasComplianceReferenceTitle -hasDescription -hasComplianceReferenceManager -hasVersion -cRValidFrom -cRValidUntil -hasComplianceCertificationSchemes -} - -gaxTrustFramework_ComplianceReferenceManager --> "1..*" gaxTrustFramework_ComplianceReference: hasComplianceReferences - -gaxTrustFramework_ComplianceReference --> "1..1" gaxTrustFramework_ComplianceReferenceManager: hasComplianceReferenceManager - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceReferences | [gax-trust-framework:ComplianceReference](#gax-trust-framework:compliancereference) | 1 | unlimited | Unordered list of Ids of ComplianceReferences (self-description) managed by this ComplianceReferenceManager | https://company-a.com/self-descriptions/comp-ref1.jsonld | - - -
- - -## gax-trust-framework:Compute - -```mermaid -classDiagram - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_BareMetal - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_Container - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_CodeArtifact: codeArtifact - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: [gax-trust-framework:BareMetal](#gax-trust-framework:baremetal), [gax-trust-framework:ComputeFunction](#gax-trust-framework:computefunction), [gax-trust-framework:Container](#gax-trust-framework:container), [gax-trust-framework:VirtualMachine](#gax-trust-framework:virtualmachine) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) | 1 | unlimited | Compute Service Code Artifacts | (a structured object of type gax-trust-framework:CodeArtifact) | -| instantiationReq | [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) | 1 | unlimited | Set of technical Requirements / conditions to instantiate this service offering | (a structured object of type gax-trust-framework:InstantiationRequirements) | -| tenantSeparation | xsd:string | 0 | 1 | How compute resources of different tenants are separated. Default value = hw-virtualized | hw-virtualized, sw-virtualized, os-virtualized, os-hw-virtualized, hw-partitioned, physical | - - -
- - -## gax-trust-framework:ComputeFunction - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_ComputeFunction - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| code | [gax-trust-framework:ComputeFunctionCode](#gax-trust-framework:computefunctioncode) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionCode) | -| trigger | [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger) | 1 | unlimited | all possible function codes for this service offering | (a structured object of type gax-trust-framework:ComputeFunctionTrigger) | - - -
- - -## gax-trust-framework:ComputeFunctionCode - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunctionCode{ -file -} - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_ComputeFunctionCode - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionCode: code - - -``` - - **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| file | xsd:anyURI | 1 | 1 | URL referring to function code file | https://storage.endpoint/image-file | - - -
- - -## gax-trust-framework:ComputeFunctionTrigger - -```mermaid -classDiagram - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger - -class gaxTrustFramework_ComputeFunction{ -code -trigger -} - -gaxTrustFramework_ComputeFunction --> "1..*" gaxTrustFramework_ComputeFunctionTrigger: trigger - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| URL | xsd:anyURI | 1 | 1 | URI / URL used to trigger this compute function | https://compute.function.endpoint | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether function is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether function has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:Connectivity - -```mermaid -classDiagram - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_Connectivity - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity - -class gaxTrustFramework_NetworkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity - -class gaxTrustFramework_PhysicalConnectivity{ -CircuitType -InterfaceType -SourceAccessPoint -DestinationAccessPoint -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: [gax-trust-framework:LinkConnectivity](#gax-trust-framework:linkconnectivity), [gax-trust-framework:NetworkConnectivity](#gax-trust-framework:networkconnectivity), [gax-trust-framework:PhysicalConnectivity](#gax-trust-framework:physicalconnectivity) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| InstantiationRequirements | xsd:string | 0 | 1 | | | - - -
- - -## gax-trust-framework:Container - -```mermaid -classDiagram - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_Container - -gaxTrustFramework_Container <|-- gaxTrustFramework_AutoscaledContainer - -class gaxTrustFramework_ContainerImage{ -baseOS -format -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: [gax-trust-framework:AutoscaledContainer](#gax-trust-framework:autoscaledcontainer) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| image | [gax-trust-framework:ContainerImage](#gax-trust-framework:containerimage) | 1 | unlimited | set of all possible provided container images for this service offering | (a structured object of type gax-trust-framework:ContainerImage) | -| resourceLimits | [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits) | 1 | unlimited | set of all possible container resource limits for this service offering | (a structured object of type gax-trust-framework:ContainerQuota) | - - -
- - -## gax-trust-framework:ContainerImage - -```mermaid -classDiagram - -class gaxTrustFramework_ContainerImage{ -baseOS -format -} - -gaxTrustFramework_WorkloadArtifact <|-- gaxTrustFramework_ContainerImage - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerImage: image - - -``` - - **Super classes**: [gax-trust-framework:WorkloadArtifact](#gax-trust-framework:workloadartifact) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| baseOS | xsd:string | 1 | 1 | container image base operating system | linux, windows | -| format | xsd:string | 1 | 1 | container image format | docker v1, docker v2, oci, lxc | - - -
- - -## gax-trust-framework:ContainerResourceLimits - -```mermaid -classDiagram - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Container{ -image -resourceLimits -} - -gaxTrustFramework_Container --> "1..*" gaxTrustFramework_ContainerResourceLimits: resourceLimits - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | 1 | CPU requirements | (a structured object of type gax-trust-framework:CPU) | -| numberOfCoresLimit | xsd:integer | 0 | 1 | limit to the number of cores used by container | 2 | -| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory requirements | (a structured object of type gax-trust-framework:Memory) | -| memoryLimit | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | container memory limit | (a structured object of type gax-trust-framework:Memory) | -| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | 1 | number of GPUs | (a structured object of type gax-trust-framework:GPU) | -| gpuLimit | xsd:integer | 0 | 1 | GPU number limit | 1, 2 | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether container is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential container has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:DataAccountExport - -```mermaid -classDiagram - -class gaxTrustFramework_DataAccountExport{ -requestType -accessType -formatType -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| requestType | xsd:string | 1 | 1 | the mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter. | API, email, webform, unregisteredLetter | -| accessType | xsd:string | 1 | 1 | type of data support: digital, physical. | digital, physical | -| formatType | xsd:string | 1 | 1 | type of Media Types (formerly known as MIME types) as defined by the IANA. | application/gzip, text/csv | - - -
- - -## gax-trust-framework:DataCenter - -```mermaid -classDiagram - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -gaxTrustFramework_DataCenter --> "1..*" gaxTrustFramework_AvailabilityZone: aggregationOf - -class gaxTrustFramework_Region{ -aggregationOf -} - -gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone) | 1 | unlimited | a data center is an aggregation of availability zones | (reference to availability zone) | - - -
- - -## gax-trust-framework:DataConnectorOffering - -```mermaid -classDiagram - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| physicalResource | [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) | 1 | unlimited | a list of resource with information of where the data is located | https://gaia-x.eu | -| virtualResource | [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) | 1 | unlimited | a list of resource with information of who owns the data. | https://gaia-x.eu | -| policies | xsd:anyURI | 1 | unlimited | a list of policy expressed using a DSL used by the data connector policy engine leveraging Gaia-X Self-descriptions as both data inputs and policy inputs | https://gaia-x.eu | -| type | xsd:string | 0 | unlimited | Type of the data asset, which helps discovery. Preferably a controlled vocabulary entry referenced by URI | dataset, container | -| creationTime | xsd:dateTimeStamp | 0 | unlimited | Timestamp the service has been created. | 2021-07-17T00:31:30Z | -| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | - - -
- - -## gax-trust-framework:DataExport - -```mermaid -classDiagram - -class gaxTrustFramework_DataExport{ -unlimitedAccessToCustomerData -description -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| unlimitedAccessToCustomerData | xsd:string
value must be in: [No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered] | 1 | 1 | Can the user access unlimited and at any time the customer data? | No statement, Export can be done after agreement, Export over documented API, Standardized APIs are offered | -| description | xsd:string | 1 | 1 | Description of procedures for data repatriation and supported file formats? | Freetext | - - -
- - -## gax-trust-framework:DataResource - -```mermaid -classDiagram - -class gaxTrustFramework_DataResource{ -producedBy -exposedThrough -obsoleteDateTime -expirationDateTime -containsPII -legalBasis -} - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| producedBy | gax-core:Participant | 1 | 1 | A resolvable link to the participant self-description legally enabling the data usage. | (a reference to gax-core:Participant object) | -| exposedThrough | gax-core:Participant | 1 | unlimited | A resolvable link to the data exchange component that exposes the data resource. | | -| obsoleteDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is obsolete. | 2022-10-26T21:32:52 | -| expirationDateTime | xsd:dateTime | 0 | 1 | Date time in ISO 8601 format after which data is expired and shall be deleted. | 2022-10-26T21:32:52 | -| containsPII | xsd:boolean | 1 | 1 | Boolean determined by Participant owning the Data Resource. | True | -| legalBasis | xsd:string | 0 | 1 | NOTE: Mandatory if containsPII is true. One of the reasons as detailed in the identified Personal Data Protection Regimes, such as [GDPR2018]. Potential Legal Bases can be [article 6], article 7, (https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1) or article 9. It shall be expressed as a string matching 6.1.[a-f], 6.1.4, 7 or 9.2.[a-j]. (Note: this list is not final, as GDPR and Member State Law may provide for additional legal basis. Those will be implemented as options in future iterations.) | https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679&from=EN#d1e1888-1-1 | - - -
- - -## gax-trust-framework:Database - -```mermaid -classDiagram - -gaxTrustFramework_Platform <|-- gaxTrustFramework_Database - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:DigitalIdentityWallet - -```mermaid -classDiagram - -gaxTrustFramework_Wallet <|-- gaxTrustFramework_DigitalIdentityWallet - - -``` - - **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Disk - -```mermaid -classDiagram - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | The size of that hard drive. | 1600 GB | -| type | xsd:string | 0 | 1 | The type of that hard drive. | local SSD, local HDD, shared network storage, high-perf NVMe | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of disk ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | -| keyManagement | xsd:string | 1 | unlimited | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "bring-your-own-key": : Keys created by user and stored in key manager of cloud. "hold-your-own-key": Key created by user and kept by user | managed, bring-your-own-key, hold-your-own-key | - - -
- - -## gax-trust-framework:Encryption - -```mermaid -classDiagram - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| encryptionAlgorithm | xsd:string
value must be in: [none, rsa] | 1 | 1 | Supported algorithm used to encrypt. | none, rsa | -| keyManagement | xsd:string
value must be in: [managed, byok, hyok] | 1 | 1 | Define key management method. "managed": Keys are created by and stored in key manager of cloud. "byok": bring-your-own-key: Keys created by user and stored in key manager of cloud. "hyok" hold-your-own-key Key created by user and kept by user | managed, byok, hyok | - - -
- - -## gax-trust-framework:Endpoint - -```mermaid -classDiagram - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| endPointURL | xsd:anyURI | 0 | unlimited | The URL of the endpoint where it can be accessed | https://gaia-x.eu/ | -| standardConformity | [gax-trust-framework:Standard](#gax-trust-framework:standard) | 0 | unlimited | Provides information about applied standards. | (reference to standard | -| endpointDescription | xsd:anyURI | 0 | unlimited | The Description (e.g. openAPI Description) of the endpoint | https://gaia-x.eu/ | - - -
- - -## gax-trust-framework:FPGA - -```mermaid -classDiagram - -class gaxTrustFramework_FPGA{ -type -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string | 0 | 1 | FPGA generation. | Agilex, Stratix | - - -
- - -## gax-trust-framework:FileStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_FileStorageOffering{ -fileSystem -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_FileStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| fileSystem | xsd:string
value must be in: [FAT32, NTFS, exFAT] | 0 | 1 | File system of storage service. | FAT32, NTFS, exFAT | - - -
- - -## gax-trust-framework:GPU - -```mermaid -classDiagram - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| gpuGeneration | xsd:string | 0 | 1 | GPU generation. | Fermi, Kepler, Gen9 | -| memory | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 0 | 1 | Memory of the GPU | a structure object of type Memory | -| connection | xsd:string | 0 | 1 | Interconnection of the GPU | PCIe Gen4: 64GB/s | - - -
- - -## gax-trust-framework:HardwareSpec - -```mermaid -classDiagram - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_CPU - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Disk - -class gaxTrustFramework_FPGA{ -type -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_FPGA - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_GPU - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:CPU](#gax-trust-framework:cpu), [gax-trust-framework:Disk](#gax-trust-framework:disk), [gax-trust-framework:FPGA](#gax-trust-framework:fpga), [gax-trust-framework:GPU](#gax-trust-framework:gpu), [gax-trust-framework:Memory](#gax-trust-framework:memory), [gax-trust-framework:Network](#gax-trust-framework:network) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | 1 | Procuct name of the hardware resource. | Xeon Platinum 8280 | -| vendor | xsd:string
value must be in: [intel, AMD, NVIDEA, others] | 0 | 1 | Vendor of this hardware. | intel, AMD, NVIDEA, others | - - -
- - -## gax-trust-framework:IdentityAccessManagementOffering - -```mermaid -classDiagram - -class gaxTrustFramework_IdentityAccessManagementOffering{ -disableUserAccountDaysInactive -passwordExpiresDays -authKind -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_IdentityAccessManagementOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| disableUserAccountDaysInactive | xsd:integer
1 <= value | 0 | 1 | Days of account inactivity before a user account is disabled. | | -| passwordExpiresDays | xsd:integer
1 <= value | 0 | 1 | Days until a user must renew their password. This attribute is only allowed with authKind=credentials. | | -| authKind | xsd:string
value must be in: [credentials, ssl-cert] | 0 | 1 | Indicate, which kind of authentication is used. "credentials": Authentication with username and password. "ssl-cert": Authentication with X.509 certificates. | credentials, ssl-cert | - - -
- - -## gax-trust-framework:IdentityFederation - -```mermaid -classDiagram - -gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityFederation - - -``` - - **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:IdentityProvider - -```mermaid -classDiagram - -gaxTrustFramework_IdentityAccessManagement <|-- gaxTrustFramework_IdentityProvider - - -``` - - **Super classes**: [gax-trust-framework:IdentityAccessManagement](#gax-trust-framework:identityaccessmanagement) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Image - -```mermaid -classDiagram - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_CodeArtifact <|-- gaxTrustFramework_Image - -class gaxTrustFramework_PxeImage{ -format -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage - -class gaxTrustFramework_VmImage{ -format -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage - -class gaxTrustFramework_CheckSum{ -checksum -checksumAlgorithm -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_CheckSum: checkSum - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Image --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Encryption: encryption - -class gaxTrustFramework_Signatur{ -signatur -signatureAlgo -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image - - -``` - - **Super classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - **Sub classes**: [gax-trust-framework:PxeImage](#gax-trust-framework:pxeimage), [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| diskFormat | xsd:string | 0 | 1 | Disk format. Default RAW | RAW | -| checkSum | [gax-trust-framework:CheckSum](#gax-trust-framework:checksum) | 0 | 1 | Details on checksum of this image. | (a strucctured object of type gax-trust-framework:Checksum) | -| version | xsd:string | 0 | 1 | Version of this image. | 8 | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements for this image | (a structure object of type CPU) | -| fileSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | file size of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | -| ramSize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | size in RAM of image | (a structure object of type measure, e.g. measure:value=24 and measure:unit=GB) | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details of image ecryption. | (a strucctured object of type gax-trust-framework:Encryption) | -| signature | [gax-trust-framework:Signatur](#gax-trust-framework:signatur) | 0 | 1 | Details of image signatur. | (a strucctured object of type gax-trust-framework:Signatur) | - - -
- - -## gax-trust-framework:ImageRegistryOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ImageRegistryOffering{ -image -encryption -privateImagesAllowed -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_ImageRegistryOffering - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Image: image - -class gaxTrustFramework_Encryption{ -encryptionAlgorithm -keyManagement -} - -gaxTrustFramework_ImageRegistryOffering --> "0..1" gaxTrustFramework_Encryption: encryption - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| image | [gax-trust-framework:Image](#gax-trust-framework:image) | 0 | 1 | Images available in this image registry. | (a structured object of type gax-resource:Software) | -| encryption | [gax-trust-framework:Encryption](#gax-trust-framework:encryption) | 0 | 1 | Details on encryption capabilities of this image registry. | (a structured object of type gax-core:Encryption) | -| privateImagesAllowed | xsd:boolean | 0 | 1 | Default: "true". "true" means that the image registry supports upload of private user images. | true, false | - - -
- - -## gax-trust-framework:InfrastructureOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:InstantiatedVirtualResource - -```mermaid -classDiagram - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource - -class gaxTrustFramework_VirtualNode{ -type -} - -gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_ServiceAccessPoint{ -name -host -protocol -version -port -openAPI -} - -gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| maintainedBy | gax-core:Participant | 1 | unlimited | a list of participants maintaining the resource in operational condition. | https://gaia-x.eu | -| hostedOn | gax-core:Resource | 1 | 1 | a resource where the instance of this virtual resource is being executed on. | https://gaia-x.eu | -| instanceOf | gax-core:Resource | 1 | 1 | A virtual resource (normally a software resource) this process is an instance of. | https://gaia-x.eu | -| tenantOwnedBy | gax-core:Participant | 1 | unlimited | A list of participant with contractual relation with the resource. | https://gaia-x.eu | -| serviceAccessPoint | [gax-trust-framework:ServiceAccessPoint](#gax-trust-framework:serviceaccesspoint)
value must be in: [PD-SAP, PLME-SAP] | 1 | unlimited | a list of Service Access Point which can be an endpoint as a mean to access and interact with the resource | PD-SAP, PLME-SAP | - - -
- - -## gax-trust-framework:InstantiationRequirements - -```mermaid -classDiagram - -gaxCore_Configuration <|-- gaxTrustFramework_InstantiationRequirements - -class gaxTrustFramework_ComputeFunctionTrigger{ -URL -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ComputeFunctionTrigger - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ContainerResourceLimits - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute --> "1..*" gaxTrustFramework_InstantiationRequirements: instantiationReq - - -``` - - **Super classes**: [gax-core:Configuration](#gax-core:configuration) - - **Sub classes**: [gax-trust-framework:ComputeFunctionTrigger](#gax-trust-framework:computefunctiontrigger), [gax-trust-framework:ContainerResourceLimits](#gax-trust-framework:containerresourcelimits), [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor), [gax-trust-framework:VmAutoscalingGroupSpec](#gax-trust-framework:vmautoscalinggroupspec) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Interconnection - -```mermaid -classDiagram - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag - - -``` - - **Super classes**: [gax-trust-framework:Network](#gax-trust-framework:network) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| location | vcard:Address | 0 | unlimited | A vcard:Address Object containing the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format with at least the both ends of the connection. | (a reference to vcard:Address object) | -| interface.type | xsd:string | 0 | unlimited | a type of physical interface | Copper cable, 5G | -| connectionPointA | xsd:string | 0 | unlimited | The ID of the source of the connection. | a MAC address, IP address | -| connectionPointZ | xsd:string | 0 | unlimited | The ID of the destination of the connection. | a MAC address, IP address | -| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual bandwidth defined in the service level agreement (SLA). Bandwidth is usually measured in dimension of bits per second. | 500 Gbps | -| latency | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual latency defined in the SLA. If not specified, then best effort is assumed. Latency is usually measured in dimension of time. | 10 seconds | -| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual availability of connection defined in the SLA agreement. If not specified, then best effort is assumed. Availability is measured in the pseudo-unit "percent". | 99 percent | -| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | -| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual jitterdefined in the SLA. If not specified, then best effort is assumed. Jitter is measured in dimension of time. | 0.01 miliseconds | -| targetPercentile | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Contractual percentile in the SLA. Usually referred to the nubmer of frames the SLA metrics such as availability, latency and jitter can bbe guaranteed. | 97.5%, 99% | -| connectionType | xsd:string | 0 | unlimited | the supported types of connection, preferably specified as a controlled vocabulary entry | ethernet unicast, multicast, broadcast support | -| vlanType | xsd:string | 0 | unlimited | the chosen types of vlan types | qinq, dot1q | -| vlanTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | -| vlanEtherType | xsd:string | 0 | unlimited | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | -| connectedNetwork_A | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side A | 200, 714 | -| connectedNetwork_Z | xsd:decimal
0 <= value | 0 | unlimited | autonomous system (AS) number (ASN) of the side Z | 200, 714 | -| prefixSet_A | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side A | 176.46.32.0/24 | -| prefixSet_Z | xsd:string | 0 | unlimited | CIDR Provider Identifier of network on the side Z | 192.46.52.0/24 | - - -
- - -## gax-trust-framework:InterconnectionPointIdentifier - -```mermaid -classDiagram - -class gaxTrustFramework_InterconnectionPointIdentifier{ -dataCenterName -dataCenterFloor -DataCenterRackNumber -dataCenterPatchPanel -dataCenterPortNumber -macAddress -IPAddress -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| dataCenterName | xsd:string | 0 | 1 | the name or Id of datacenter where the service can be accessed | Equinix FR2 - Frankfurt, North, Datacenter Leipzig Lindenau (RZW) , Equinix AM1/AM2 - Amsterdam, Luttenbergweg | -| dataCenterFloor | xsd:string | 0 | 1 | the floor number of datacenter where the service can be accessed | 0G, 1st , 2nd | -| DataCenterRackNumber | xsd:string | 0 | 1 | the Id of datacenter rack number where the service can be accessed | 0FM102 | -| dataCenterPatchPanel | xsd:string | 0 | 1 | the Id of datacenter patch panel where the service can be accessed | PP102 | -| dataCenterPortNumber | xsd:string | 0 | 1 | the port number on the patch panel where the service can be accessed | 14, 16, 25 | -| macAddress | xsd:string | 0 | 1 | the mac address required for L2 connectivity setup | 00:00:5e:00:53:af | -| IPAddress | xsd:string | 0 | 1 | the IP address required for L3 connectivity setup | 18.125.10.15 | - - -
- - -## gax-trust-framework:Interoperability - -```mermaid -classDiagram - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -class gaxTrustFramework_TechnicalStandards{ -adminstrationApiStandards -virtualizationStandards -serviceStackStandards -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards - -class gaxTrustFramework_DataExport{ -unlimitedAccessToCustomerData -description -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_DataExport: dataExport - -class gaxTrustFramework_TechnicalIntegration{ -standardizedAP -description -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration - -class gaxTrustFramework_RequirementsServiceUsage{ -technicalRequirements -organizationalRequirements -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| technicalStandards | [gax-trust-framework:TechnicalStandards](#gax-trust-framework:technicalstandards) | 1 | 1 | Information about technical standards the service stack is based on. | (a structured object of type TechnicalStandards) | -| dataExport | [gax-trust-framework:DataExport](#gax-trust-framework:dataexport) | 1 | 1 | Representation of procedures of data access of customer data and data feedback. | (a structured object of type DataExport) | -| technicalIntegration | [gax-trust-framework:TechnicalIntegration](#gax-trust-framework:technicalintegration) | 1 | 1 | Description of procedures of technical integration of service in the available IT-landscape of the user? | (a structured type of type Integration) | -| requirementsServiceUsage | [gax-trust-framework:RequirementsServiceUsage](#gax-trust-framework:requirementsserviceusage) | 1 | 1 | Description for the technical and organizational prerequisites to use the service the user has to fulfill. | (a structured object of type RequirementsServiceUsage) | - - -
- - -## gax-trust-framework:InteroperabilityAttestation - -```mermaid -classDiagram - -class gaxTrustFramework_InteroperabilityAttestation{ -interoperabilityAttestationType -} - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_InteroperabilityAttestation - - -``` - - **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Technical and Functional | - - -
- - -## gax-trust-framework:InteroperabilityAttestationType - -```mermaid -classDiagram - -class gaxTrustFramework_InteroperabilityAttestationType{ -interoperabilityAttestationType -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string
value must be in: [Service Interoperability Attestation, Resource Interoperability Attestation] | 1 | 1 | Interoperability Attestation Types | Service Interoperability Attestation | - - -
- - -## gax-trust-framework:LegalPerson - -```mermaid -classDiagram - -class gaxTrustFramework_LegalPerson{ -legalName -legalForm -description -registrationNumber -legalAddress -headquarterAddress -leiCode -parentOrganization -subOrganization -} - -gaxCore_Participant <|-- gaxTrustFramework_LegalPerson - -http_//www.w3.org/ns/org#Organization <|-- gaxTrustFramework_LegalPerson - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant), [http://www.w3.org/ns/org#Organization](#http://www.w3.org/ns/org#organization) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| legalName | xsd:string | 0 | 1 | Legally binding name | ACME L.L.C | -| legalForm | xsd:string
value must be in: [LLC, Corporation, Limited partnership (LP), Nonprofit corporation, Gesellschaft mit beschränkter Haftung (GmbH), Aktiengesellschaft (AG), Einzelunternehmen, Gesellschaft bürgerlichen Rechts (GbR), Offene Handelsgesellschaft (OHG), Kommanditgesellschaft (KG), Unternehmergesellschaft (haftungsbeschränkt), Sole Trader, Unincorporated Association, Partnership, Limited Partnership, Trust, Limited Company, Limited Liability Partnership (LLP), Community Interest Company (CIC), Charitable Incorporated Organisation (CIO), Co-operative Society (Co-op), Community Benefit Society (BenCom), other] | 0 | 1 | Legal form | L.L.C, GmbH | -| description | xsd:string | 0 | 1 | Textual description of this organization. | A company making everything | -| registrationNumber | xsd:string | 1 | 1 | Country’s registration number which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode. | DEU1234.HRB12345 | -| legalAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | -| headquarterAddress | vcard:Address | 1 | 1 | The full legal address of the organization. | (a structured object which has the attribute country as mandatory attribute and some other optional attributes e.g., the attributes vcard:street-address,vcard:locality and vcard:country-name) | -| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | M07J9MTYHFCSVRBV2631 | -| parentOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant that this entity is a subOrganization of, if any. | https://gaia-x.eu | -| subOrganization | gax-core:Participant | 0 | unlimited | A list of direct participant with an legal mandate on this entity, e.g., as a subsidiary. | https://gaia-x.eu | - - -
- - -## gax-trust-framework:LinkConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_LinkConnectivity - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | FR:VLANID:56 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | MUC:VLANID:24 | -| bandwidth | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual bandwidth defined in the service level agreement (SLA) | 1 Gbit/s, 10 Gbit/s, 100 Gbit/s, 400 Gbit/s | -| RoundTripTimeRTT | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual latency defined in the SLA. | 1 ms, 10 ms, 1 s | -| availability | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual availability of connection defined in the SLA agreement. Availability is measured in the pseudo-unit "percent". | 99.9999 %, 99.9 %, 99.99 % | -| packetLoss | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual packet loss of connection defined in the SLA agreement. If not specified, then best effort is assumed. PackageLoss s measured in the pseudo-unit "percent"- | 0.00002 % | -| jitter | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Contractual jitter defined in the SLA. If not specified, then best effort is assumed. | 0.01 ms, 0.002 ms | -| ProtocolType | xsd:string | 0 | 1 | Link protocol type | Ethrnet, ARP, PPP, VLAN | -| VLANType | xsd:string | 0 | 1 | the chosen types of vlan types | qinq, dot1q | -| VLANTag | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Vlan Tag ID that range between 1 and 4094. In case qinq connection type is chosen tow vlan tag, namely outer and innter should be provided | 23, 175 | -| VLANEtherType | xsd:string | 0 | 1 | The ethertype of the vlan in hexadecimal notation. | 0x8100, 0x88a8 | - - -
- - -## gax-trust-framework:LocatedServiceOffering - -```mermaid -classDiagram - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateClaim: hasComplianceCertificateClaim - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_LocatedServiceOffering --> "0..*" gaxTrustFramework_ComplianceCertificateCredential: hasComplianceCertificateCredential - -gaxTrustFramework_ComplianceCertificateClaim --> "1..1" gaxTrustFramework_LocatedServiceOffering: hasServiceOffering - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| isImplementationOf | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Id of the Service Offering referenced by this located service | did:web:example.com/serviceOffering/sha256 | -| isHostedOn | [gax-trust-framework:Location](#gax-trust-framework:location) | 1 | 1 | Id of the Location where this located service is hosted on | did:web:example.com/location/sha256 | -| hasComplianceCertificateClaim | [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) | 0 | unlimited | Ids of the compliance reference claims claimed by the provider for the located service | did:web:example.com/location/sha256 | -| hasComplianceCertificateCredential | [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) | 0 | unlimited | Ids of the compliance reference claim claimed by the provider for the located service | did:web:example.com/location/sha256 | - - -
- - -## gax-trust-framework:Location - -```mermaid -classDiagram - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_LocatedServiceOffering: hasLocatedServiceOffering - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_Location: isHostedOn - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasProvider | [gax-trust-framework:Provider](#gax-trust-framework:provider) | 1 | 1 | Id of the participant who operates the Location Unit that implements the Service Offering | did:web:example.com/location/sha256 | -| canHostServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | List of references of Service Offering that may be hosted on this location | did:web:example.com/serviceOffering/sha256-1, did:web:example.com/serviceOffering/sha256-2 | -| hasAdministrativeLocation | xsd:string | 1 | 1 | ISO 3166-2 5 digit string for location | FR-39, DE-BE | -| hasLocatedServiceOffering | [gax-trust-framework:LocatedServiceOffering](#gax-trust-framework:locatedserviceoffering) | 1 | unlimited | Ids of Located Service Offerings on this location | did:web:example.com/locatedServiceOffering/sha256 | - - -
- - -## gax-trust-framework:Measure - -```mermaid -classDiagram - -class gaxTrustFramework_Measure{ -value -unit -} - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: ramSize - -gaxResource_NetworkingDevice --> "0..*" gaxTrustFramework_Measure: cpuCount - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: baseFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: boostFrequency - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: lastLevelCacheSize - -gaxTrustFramework_CPU --> "0..1" gaxTrustFramework_Measure: tdp - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Disk --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: fileSize - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Measure: ramSize - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: latency - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: availability - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: targetPercentile - -gaxTrustFramework_Interconnection --> "0..*" gaxTrustFramework_Measure: vlanTag - -class gaxTrustFramework_LinkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -bandwidth -RoundTripTimeRTT -availability -packetLoss -jitter -ProtocolType -VLANType -VLANTag -VLANEtherType -} - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: bandwidth - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: RoundTripTimeRTT - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: availability - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: packetLoss - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: jitter - -gaxTrustFramework_LinkConnectivity --> "0..1" gaxTrustFramework_Measure: VLANTag - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic - -class gaxTrustFramework_Volume{ -size -type -} - -gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| value | xsd:float | 1 | 1 | The value of this measurement. | 100 | -| unit | xsd:string | 1 | 1 | The unit of this measurement | Gbps, Euro | - - -
- - -## gax-trust-framework:Memory - -```mermaid -classDiagram - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Memory - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Memory --> "0..1" gaxTrustFramework_Measure: size - -class gaxTrustFramework_ContainerResourceLimits{ -cpuReq -numberOfCoresLimit -memoryReq -memoryLimit -gpuReq -gpuLimit -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryReq - -gaxTrustFramework_ContainerResourceLimits --> "0..1" gaxTrustFramework_Memory: memoryLimit - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_GPU --> "0..1" gaxTrustFramework_Memory: memory - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | -| memclass | xsd:string | 0 | 1 | Memory class | DDR4, DDR5, GDDR5, GDDR6 | -| rank | xsd:string | 0 | 1 | DIMM Type | 1R RDIMM, 2R RDIMM, 4R LRDIMM, 8R LRDIMM | -| defaultOverbookingRatio | xsd:float
1.0 <= value | 0 | 1 | a dimensionless value larger or equal to 1.0 describing the default overbooking ratio on this memory | 1.0 | -| supportedOverbookingRatio | xsd:float
1.0 <= value | 0 | unlimited | several dimensionless values larger or equal to 1.0 describing the available overbooking ratios on this memory | 1.0 | - - -
- - -## gax-trust-framework:Network - -```mermaid -classDiagram - -class gaxTrustFramework_Network{ -nicPortReq -} - -class gaxTrustFramework_HardwareSpec{ -name -vendor -} - -gaxTrustFramework_HardwareSpec <|-- gaxTrustFramework_Network - -class gaxTrustFramework_Interconnection{ -location -interface.type -connectionPointA -connectionPointZ -bandwidth -latency -availability -packetLoss -jitter -targetPercentile -connectionType -vlanType -vlanTag -vlanEtherType -connectedNetwork_A -connectedNetwork_Z -prefixSet_A -prefixSet_Z -} - -gaxTrustFramework_Network <|-- gaxTrustFramework_Interconnection - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq - - -``` - - **Super classes**: [gax-trust-framework:HardwareSpec](#gax-trust-framework:hardwarespec) - - **Sub classes**: [gax-trust-framework:Interconnection](#gax-trust-framework:interconnection) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| nicPortReq | xsd:string | 0 | 1 | placeholder for networking | | - - -
- - -## gax-trust-framework:NetworkConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_NetworkConnectivity{ -SourceAccessPoint -DestinationAccessPoint -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_NetworkConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Global:IANA:18.125.20.15/32 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination and references a network | Global:IANA:18.125.10.15/24 | - - -
- - -## gax-trust-framework:NetworkOffering - -```mermaid -classDiagram - -class gaxTrustFramework_NetworkOffering{ -serviceType -publicIpAddressProvisioning -ipVersion -tenantSeparation -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_NetworkOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | -| publicIpAddressProvisioning | xsd:string
value must be in: [floating, fixed, provider-network] | 0 | 1 | Defines how public IP address are provided. Floating: floating ips are supported . | floating, fixed, provider-network | -| ipVersion | xsd:string
value must be in: [ipV6, IPv4] | 0 | 1 | Version of IP address supported. IPv4: only ipV4 addresses are supported. IPv6: both version iIPV4 and IPv6 are supported. | IPV6, IPv4 | -| tenantSeparation | xsd:string
value must be in: [virtual, physical] | 0 | 1 | Default: virtual. How networks of different tenants are separated. | virtual, physical | - - -
- - -## gax-trust-framework:Node - -```mermaid -classDiagram - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_PhysicalServer{ -supportedManagementProtocols -managementInterface -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer - -class gaxTrustFramework_VirtualNode{ -type -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_CPU: cpu - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_GPU: gpu - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: ramsize - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Disk: disk - -gaxTrustFramework_Node --> "0..*" gaxTrustFramework_Measure: nic - - -``` - - **Super classes**: - - **Sub classes**: [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode), [gax-trust-framework:PhysicalServer](#gax-trust-framework:physicalserver), [gax-trust-framework:VirtualNode](#gax-trust-framework:virtualnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpu | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 0 | unlimited | Description of CPU(s) of this node | a structured object of type cpu, e.g. CPU:numberOfCores=4, CPU:frequency:value=3.0 and CPU:frequency:measure:unit=GHz | -| gpu | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Description of GPU(s) of this node. | a structured object of type gpu, e.g. GPU:memoryType=DDR6, GPU:memorySize:value=24 and GPU:memorySize:value:unit=GB | -| ramsize | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Size of RAM of this node | a structured object of type measure, e.g. measure:value=950 and measure:unit=GB | -| disk | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Description of disk(s) of this nodes | a structured object of type harddrive, e.g. harddrive:productid=6CX68AV, and harddrive:name=Xeon Platinum 8280,and harddrive:manufacture=NVIDA; harddrive:size:value=1000, harddrive:size:unit=GB, and harddrive:type=SSD | -| nic | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | unlimited | Description of network interface card(s) of this node | a structured object of type measure, e.g. measure:value=10 and measure:unit=GBase-T | - - -
- - -## gax-trust-framework:ObjectStorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ObjectStorageOffering{ -fileSystem -} - -gaxTrustFramework_Storage <|-- gaxTrustFramework_ObjectStorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Storage](#gax-trust-framework:storage) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| fileSystem | xsd:string
value must be in: [FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS] | 0 | 1 | File system of storage services provides. | FAT32, FAT16, exFAT, HFS+, APFS, ext4, ext3, ext2, NTFS | - - -
- - -## gax-trust-framework:Orchestration - -```mermaid -classDiagram - -class gaxTrustFramework_Orchestration{ -type -} - -gaxTrustFramework_Platform <|-- gaxTrustFramework_Orchestration - - -``` - - **Super classes**: [gax-trust-framework:Platform](#gax-trust-framework:platform) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string
value must be in: [Docker Swarm, Apache Mesos, Kubernetes] | 0 | 1 | Type of this Orchestration Service Offering, such as kubernetes. | Docker Swarm, Apache Mesos, Kubernetes | - - -
- - -## gax-trust-framework:PhysicalConnectivity - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalConnectivity{ -CircuitType -InterfaceType -SourceAccessPoint -DestinationAccessPoint -} - -class gaxTrustFramework_Connectivity{ -InstantiationRequirements -} - -gaxTrustFramework_Connectivity <|-- gaxTrustFramework_PhysicalConnectivity - - -``` - - **Super classes**: [gax-trust-framework:Connectivity](#gax-trust-framework:connectivity) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| CircuitType | xsd:string | 0 | 1 | type of access medium: wired medium access or wireless medium access | single mode fibre or copper cable, laser, mobile network or satellite | -| InterfaceType | xsd:string | 0 | 1 | for the chosen circuit type, one should know the interface type in case the interoperability is required | optical cable interface SR | -| SourceAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the source | Physical:DE:EQIX:FR2:0G:0FM102:PP102:14 | -| DestinationAccessPoint | xsd:string | 0 | 1 | defined via interconnection point identifier of the destination | Physical:DE:DE-CIX:FR4:1G:0FM102:PP102:24 | - - -
- - -## gax-trust-framework:PhysicalNode - -```mermaid -classDiagram - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:PhysicalResource - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource - -class gaxResource_NetworkingDevice{ -managementPort -consolePort -portCapacity_A -portCapacity_A_Count -redundantPowerSupply -ramSize -cpuCount -type -supportedProtocols -networkAdress -} - -gaxTrustFramework_PhysicalResource <|-- gaxResource_NetworkingDevice - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_DataCenter - -gaxTrustFramework_PhysicalResource <|-- gaxTrustFramework_PhysicalNode - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_PhysicalResource: physicalResource - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: [gax-resource:NetworkingDevice](#gax-resource:networkingdevice), [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter), [gax-trust-framework:PhysicalNode](#gax-trust-framework:physicalnode) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| maintainedBy | gax-core:Participant | 1 | unlimited | Participant maintaining the resource in operational condition and thus have physical access to it. | https://gaia-x.eu | -| ownedBy | gax-core:Participant | 0 | unlimited | Participant owning the resource. | https://gaia-x.eu | -| manufacturedBy | gax-core:Participant | 0 | unlimited | Participant manufacturing the resource. | https://gaia-x.eu | -| locationAddress | vcard:Address | 1 | unlimited | A vcard:Address object that contains the physical location in ISO 3166-1 alpha2, alpha-3 or numeric format. | | -| locationGPS | xsd:string | 0 | unlimited | A list of physical GPS in ISO 6709:2008/Cor 1:2009 format. | Atlantic Ocean +00-025/ | - - -
- - -## gax-trust-framework:PhysicalServer - -```mermaid -classDiagram - -class gaxTrustFramework_PhysicalServer{ -supportedManagementProtocols -managementInterface -} - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_PhysicalServer - -gaxTrustFramework_PhyscialResource <|-- gaxTrustFramework_PhysicalServer - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:PhyscialResource](#gax-trust-framework:physcialresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| supportedManagementProtocols | xsd:string | 1 | unlimited | List of supported Management Protocols, including version number | IPMI, Redfish, OpenBMC, iLo, iDrac | -| managementInterface | xsd:anyURI | 1 | unlimited | Interface used for management (NIC, Device,...) | (a structured object defining NetworkAccessPoint) | - - -
- - -## gax-trust-framework:PlatformOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Provider - -```mermaid -classDiagram - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxCore_Participant <|-- gaxTrustFramework_Provider - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_Location: hasLocations - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering - -gaxTrustFramework_Location --> "1..1" gaxTrustFramework_Provider: hasProvider - - -``` - - **Super classes**: [gax-core:Participant](#gax-core:participant) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasLocations | [gax-trust-framework:Location](#gax-trust-framework:location) | 0 | unlimited | Ids of available Locations for this provider | did:web:provider.com/location#1, did:web:provider.com/location#2 | -| hasServiceOffering | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 0 | unlimited | Ids of the ServiceOffering managed by this provider. | did:web:provider.com/serviceoffering#1, did:web:provider.com/serviceoffering#2 | - - -
- - -## gax-trust-framework:PxeImage - -```mermaid -classDiagram - -class gaxTrustFramework_PxeImage{ -format -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_PxeImage - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_PxeImage: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| format | xsd:string | 1 | 1 | PXE image format for a bare-metal server | iso, winpe | - - -
- - -## gax-trust-framework:Region - -```mermaid -classDiagram - -class gaxTrustFramework_Region{ -aggregationOf -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_Region - -class gaxTrustFramework_DataCenter{ -aggregationOf -} - -gaxTrustFramework_Region --> "1..*" gaxTrustFramework_DataCenter: aggregationOf - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| aggregationOf | [gax-trust-framework:DataCenter](#gax-trust-framework:datacenter) | 1 | unlimited | a region is an aggregation of data centers | (reference to data center) | - - -
- - -## gax-trust-framework:RegistrationNumber - -```mermaid -classDiagram - -class gaxTrustFramework_RegistrationNumber{ -local -EUID -EORI -vatID -leiCode -} - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| local | xsd:string | 0 | 1 | The state issued company number. | HRA 12345, 123456789 | -| EUID | xsd:string | 0 | 1 | The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal. | DEB1234.HRB123123, FR1234.123456789 | -| EORI | xsd:string | 0 | 1 | The Economic Operators Registration and Identification number (EORI). | DE123456789101112, FR123456789101112 | -| vatID | xsd:string | 0 | 1 | The VAT identification number. | 5133081508159, 3201012312340 | -| leiCode | xsd:string | 0 | 1 | Unique LEI number as defined by https://www.gleif.org. | 39120001LYGX6JEVCV44, 5299009D9BIL4D4UHT93 | - - -
- - -## gax-trust-framework:RequirementsServiceUsage - -```mermaid -classDiagram - -class gaxTrustFramework_RequirementsServiceUsage{ -technicalRequirements -organizationalRequirements -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_RequirementsServiceUsage: requirementsServiceUsage - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| technicalRequirements | xsd:string | 1 | 1 | Description for the technical requirements to use the service | Freetext | -| organizationalRequirements | xsd:string | 1 | 1 | Description for the organizational requirements to use the service | Freetext | - - -
- - -## gax-trust-framework:Resource - -```mermaid -classDiagram - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxCore_Resource <|-- gaxTrustFramework_Resource - -class gaxTrustFramework_AvailabilityZone{ -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_AvailabilityZone - -class gaxTrustFramework_InterconnectionPointIdentifier{ -dataCenterName -dataCenterFloor -DataCenterRackNumber -dataCenterPatchPanel -dataCenterPortNumber -macAddress -IPAddress -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_InterconnectionPointIdentifier - -class gaxTrustFramework_PhysicalResource{ -maintainedBy -ownedBy -manufacturedBy -locationAddress -locationGPS -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_PhysicalResource - -class gaxTrustFramework_Region{ -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_Region - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource - -gaxTrustFramework_Resource --> "0..*" gaxTrustFramework_Resource: aggregationOf - -gaxTrustFramework_AvailabilityZone --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf - - -``` - - **Super classes**: [gax-core:Resource](#gax-core:resource) - - **Sub classes**: [gax-trust-framework:AvailabilityZone](#gax-trust-framework:availabilityzone), [gax-trust-framework:InterconnectionPointIdentifier](#gax-trust-framework:interconnectionpointidentifier), [gax-trust-framework:PhysicalResource](#gax-trust-framework:physicalresource), [gax-trust-framework:Region](#gax-trust-framework:region), [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | 1 | Name of resource. | Example Resource | -| description | xsd:string | 0 | 1 | A more detailed description of resource. | Example Resource placed somewhere in Europe | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Resources related to the resource and that can exist independently of it. | (a reference to gax-trust-framework:Resource object) | - - -
- - -## gax-trust-framework:ServerFlavor - -```mermaid -classDiagram - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_ServerFlavor - -class gaxTrustFramework_CPU{ -cpuArchitecture -cpuGeneration -cpuFlag -smtIsEnabled -numberOfSockets -numberOfCores -numberOfThreads -baseFrequency -boostFrequency -lastLevelCacheSize -socket -tdp -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_CPU: cpuReq - -class gaxTrustFramework_Memory{ -size -memclass -rank -defaultOverbookingRatio -supportedOverbookingRatio -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Memory: memoryReq - -class gaxTrustFramework_GPU{ -gpuGeneration -memory -connection -} - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_GPU: gpuReq - -class gaxTrustFramework_Network{ -nicPortReq -} - -gaxTrustFramework_ServerFlavor --> "1..*" gaxTrustFramework_Network: networkReq - -class gaxTrustFramework_Disk{ -size -type -encryption -keyManagement -} - -gaxTrustFramework_ServerFlavor --> "1..1" gaxTrustFramework_Disk: bootVolumeReq - -gaxTrustFramework_ServerFlavor --> "0..*" gaxTrustFramework_Disk: additionalVolumeReq - -class gaxTrustFramework_BareMetal{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_BareMetal --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| cpuReq | [gax-trust-framework:CPU](#gax-trust-framework:cpu) | 1 | 1 | CPU requirements | (a structured object of type CPU) | -| memoryReq | [gax-trust-framework:Memory](#gax-trust-framework:memory) | 1 | 1 | Server memory requirements | (a structured object of type Memory) | -| gpuReq | [gax-trust-framework:GPU](#gax-trust-framework:gpu) | 0 | unlimited | Server memory requirements | (a structured object of type GPU) | -| networkReq | [gax-trust-framework:Network](#gax-trust-framework:network) | 1 | unlimited | Networking requirements | (a structured object of type Network) | -| bootVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 1 | 1 | Boot volume requirement | (a structured object of type Disk) | -| additionalVolumeReq | [gax-trust-framework:Disk](#gax-trust-framework:disk) | 0 | unlimited | Additional volume requirements | (a structured object of type Disk) | -| isConfidential | xsd:boolean | 1 | 1 | indicates whether server is of confidential nature | false, true | -| attestationServiceURI | xsd:anyURI | 0 | 1 | indicates whether confidential server has an associated attestation service | https://attestation.service.endpoint | - - -
- - -## gax-trust-framework:ServiceAccessPoint - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceAccessPoint{ -name -host -protocol -version -port -openAPI -} - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_InstantiatedVirtualResource --> "1..*" gaxTrustFramework_ServiceAccessPoint: serviceAccessPoint - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 0 | unlimited | Name of the access point | accesspointABC | -| host | xsd:string | 0 | unlimited | Host of the access point | | -| protocol | xsd:string | 0 | unlimited | Protocol of the access point | TCP, UDP | -| version | xsd:string | 0 | unlimited | Version of the access point | 1.2 | -| port | xsd:string | 0 | unlimited | Port of the access point | 8888 | -| openAPI | xsd:string | 0 | unlimited | URL of the OpenAPI documentation | https://gaia-x.eu/openAPIdoc | - - -
- - -## gax-trust-framework:ServiceOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxCore_ServiceOffering <|-- gaxTrustFramework_ServiceOffering - -class gaxTrustFramework_Catalogue{ -getVerifiableCredentialsIDs -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Catalogue - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_Compute - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_DataConnectorOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_InfrastructureOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_PlatformOffering - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering - -class gaxTrustFramework_TermsAndConditions{ -content -hash -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions - -class gaxTrustFramework_DataAccountExport{ -requestType -accessType -formatType -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_DataAccountExport: dataAccountExport - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Endpoint: endpoint - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_ServiceOffering --> "0..*" gaxTrustFramework_Resource: aggregationOf - -class gaxTrustFramework_LocatedServiceOffering{ -isImplementationOf -isHostedOn -hasComplianceCertificateClaim -hasComplianceCertificateCredential -} - -gaxTrustFramework_LocatedServiceOffering --> "1..1" gaxTrustFramework_ServiceOffering: isImplementationOf - -class gaxTrustFramework_Location{ -<> - -hasProvider -canHostServiceOffering -hasAdministrativeLocation -hasLocatedServiceOffering -} - -gaxTrustFramework_Location --> "1..*" gaxTrustFramework_ServiceOffering: canHostServiceOffering - -class gaxTrustFramework_Provider{ -hasLocations -hasServiceOffering -} - -gaxTrustFramework_Provider --> "0..*" gaxTrustFramework_ServiceOffering: hasServiceOffering - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService - - -``` - - **Super classes**: [gax-core:ServiceOffering](#gax-core:serviceoffering) - - **Sub classes**: [gax-trust-framework:Catalogue](#gax-trust-framework:catalogue), [gax-trust-framework:Compute](#gax-trust-framework:compute), [gax-trust-framework:DataConnectorOffering](#gax-trust-framework:dataconnectoroffering), [gax-trust-framework:InfrastructureOffering](#gax-trust-framework:infrastructureoffering), [gax-trust-framework:PlatformOffering](#gax-trust-framework:platformoffering), [gax-trust-framework:SoftwareOffering](#gax-trust-framework:softwareoffering) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| name | xsd:string | 1 | 1 | human readable name of the service offering | GenericServiceName | -| termsAndConditions | [gax-trust-framework:TermsAndConditions](#gax-trust-framework:termsandconditions) | 1 | unlimited | a resolvable link to the Terms and Conditions applying to that service. | https://gaia-x.eu | -| policy | xsd:string | 1 | unlimited | a list of policy expressed using a DSL (e.g., Rego or ODRL) | | -| dataProtectionRegime | xsd:string | 0 | unlimited | a list of data protection regime from the list available below | GDPR2016, LGPD2019 | -| dataAccountExport | [gax-trust-framework:DataAccountExport](#gax-trust-framework:dataaccountexport) | 1 | unlimited | a list of methods to export data out of the service | | -| description | xsd:string | 0 | 1 | A description in natural language | An ML service for training, deploying and improving image classifiers. | -| keyword | xsd:string | 0 | unlimited | Keywords that describe / tag the service. | ML, Classification | -| provisionType | xsd:string | 0 | 1 | Provision type of the service | Hybrid, gax:PrivateProvisioning | -| endpoint | [gax-trust-framework:Endpoint](#gax-trust-framework:endpoint) | 0 | unlimited | Endpoint through which the Service Offering can be accessed | (reference to endpoint) | -| providedBy | gax-core:Participant | 1 | 1 | Id of Participant (self-descrription) providing this service offering. | https://gaia-x.eu | -| aggregationOf | [gax-trust-framework:Resource](#gax-trust-framework:resource) | 0 | unlimited | Id of Resource (self-descrription) related to the service and that can exist independently of it. | https://gaia-x.eu | -| dependsOn | xsd:anyURI | 0 | unlimited | a resolvable link to the service offering self-description related to the service and that can exist independently of it. | https://gaia-x.eu | -| ServiceOfferingLocations | xsd:string | 0 | unlimited | Provision type of the service | Hybrid, gax:PrivateProvisioning | - - -
- - -## gax-trust-framework:Signatur - -```mermaid -classDiagram - -class gaxTrustFramework_Signatur{ -signatur -signatureAlgo -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image --> "0..1" gaxTrustFramework_Signatur: signature - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| signatur | xsd:string | 1 | 1 | Value of Signture | 5d68f20237c7c01c067b577ee5e490d1 | -| signatureAlgo | xsd:string
value must be in: [dsa, ecdsa, rsa, other] | 1 | 1 | Defines algorithm used check signature | ecdsa | - - -
- - -## gax-trust-framework:SoftwareOffering - -```mermaid -classDiagram - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering <|-- gaxTrustFramework_SoftwareOffering - - -``` - - **Super classes**: [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:SoftwareResource - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource - -class gaxTrustFramework_CodeArtifact{ -<> - -name -} - -gaxTrustFramework_SoftwareResource <|-- gaxTrustFramework_CodeArtifact - - -``` - - **Super classes**: [gax-trust-framework:VirtualResource](#gax-trust-framework:virtualresource) - - **Sub classes**: [gax-trust-framework:CodeArtifact](#gax-trust-framework:codeartifact) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:Standard - -```mermaid -classDiagram - -class gaxTrustFramework_Standard{ -title -standardReference -publisher -} - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "0..*" gaxTrustFramework_Standard: standardConformity - -class gaxTrustFramework_Endpoint{ -endPointURL -standardConformity -endpointDescription -} - -gaxTrustFramework_Endpoint --> "0..*" gaxTrustFramework_Standard: standardConformity - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| title | xsd:string | 1 | 1 | Name of the standard. | ISO10303-242:2014 | -| standardReference | xsd:anyURI | 1 | unlimited | Provides a link to schemas or details about applied standards. | https://www.iso.org/standard | -| publisher | xsd:string | 0 | 1 | Publisher of the standard. | International Organization for Standardization | - - -
- - -## gax-trust-framework:StorageOffering - -```mermaid -classDiagram - -class gaxTrustFramework_StorageOffering{ -serviceType -encryptionMethod -snapshotSupported -backupsSupported -} - -gaxTrustFramework_Infrastructure <|-- gaxTrustFramework_StorageOffering - - -``` - - **Super classes**: [gax-trust-framework:Infrastructure](#gax-trust-framework:infrastructure) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| serviceType | xsd:string
value must be in: [virtual, bare-metal, mixed] | 0 | 1 | Type of Service Offering. Choose one of the following: virtual, bare-metal, mixed | virtual, bare-metal, mixed | -| encryptionMethod | xsd:string
value must be in: [None, managed, byok, hyok] | 0 | 1 | Default: None. Define encryption method of storage service. None: means no encryption art all. managed: Virtual storage is encrypted by key managed provider. byok: Virtual storage | None, managed, byok, hyok | -| snapshotSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports snapshots. | True, False | -| backupsSupported | xsd:boolean | 0 | 1 | Default: False. True is storage service supports backus. | True, False | - - -
- - -## gax-trust-framework:TechnicalIntegration - -```mermaid -classDiagram - -class gaxTrustFramework_TechnicalIntegration{ -standardizedAP -description -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalIntegration: technicalIntegration - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| standardizedAP | xsd:string
value must be in: [No statement, No APIS are offered, Documented APIs, Standardized APIs] | 1 | 1 | Is there a standardized API to integrate the service into the customers IT-landscape? | No statement, No APIS are offered, Documented APIs, Standardized APIs | -| description | xsd:string | 1 | 1 | Description of the offered APIs to integrate the services | Freetext | - - -
- - -## gax-trust-framework:TechnicalStandards - -```mermaid -classDiagram - -class gaxTrustFramework_TechnicalStandards{ -adminstrationApiStandards -virtualizationStandards -serviceStackStandards -} - -class gaxTrustFramework_Interoperability{ -technicalStandards -dataExport -technicalIntegration -requirementsServiceUsage -} - -gaxTrustFramework_Interoperability --> "1..1" gaxTrustFramework_TechnicalStandards: technicalStandards - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| adminstrationApiStandards | xsd:string
value must be in: [No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs] | 1 | 1 | Is the administration of service possible with standard API? | No statement, There are no APIs, Web-GUI, Documented APIs, Documented and standardized APIs | -| virtualizationStandards | xsd:string
value must be in: [No statement, Proprietary, Open format, Standardized format] | 1 | 1 | Does the service use standardized formats for virtual machines and containers? | No statement, Proprietary, Open format, Standardized format | -| serviceStackStandards | xsd:string | 1 | 1 | Description of the standard, the service stack is built on. | Freetext | - - -
- - -## gax-trust-framework:TermsAndConditions - -```mermaid -classDiagram - -class gaxTrustFramework_TermsAndConditions{ -content -hash -} - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_ServiceOffering --> "1..*" gaxTrustFramework_TermsAndConditions: termsAndConditions - - -``` - - **Super classes**: - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| content | xsd:anyURI | 1 | 1 | a resolvable link to document | https://gaia-x.eu | -| hash | xsd:string | 1 | 1 | sha256 hash of the above document. | ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificateClaim - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -class gaxTrustFramework_ComplianceCertificateClaim{ -hasComplianceCertificationScheme -hasServiceOffering -} - -gaxTrustFramework_ComplianceCertificateClaim <|-- gaxTrustFramework_ThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ThirdPartyComplianceCertificateClaim --> "1..1" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBody - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: hasThirdPartyComplianceCertificateClaim - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificateClaim](#gax-trust-framework:compliancecertificateclaim) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceAssessmentBody | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | 1 | Id of the Participant (self-description) endorsed having a Compliance Assessment Body role that claims the compliance | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificateCredential - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificateCredential{ -<> - -credentialSubject -} - -class gaxTrustFramework_ComplianceCertificateCredential{ -<> - -credentialSubject -} - -gaxTrustFramework_ComplianceCertificateCredential <|-- gaxTrustFramework_ThirdPartyComplianceCertificateCredential - -class gaxTrustFramework_ThirdPartyComplianceCertificateClaim{ -<> - -hasComplianceAssessmentBody -} - -gaxTrustFramework_ThirdPartyComplianceCertificateCredential --> "1..1" gaxTrustFramework_ThirdPartyComplianceCertificateClaim: credentialSubject - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificateCredential: hasThirdPartyComplianceCredential - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificateCredential](#gax-trust-framework:compliancecertificatecredential) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| credentialSubject | [gax-trust-framework:ThirdPartyComplianceCertificateClaim](#gax-trust-framework:thirdpartycompliancecertificateclaim) | 1 | 1 | Id of the claim to be signed in a verifiable credential build with all the information that are bound in the claim. In case of third party credential the id is the id of the third party | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:ThirdPartyComplianceCertificationScheme - -```mermaid -classDiagram - -class gaxTrustFramework_ThirdPartyComplianceCertificationScheme{ -hasComplianceAssessmentBodies -} - -class gaxTrustFramework_ComplianceCertificationScheme{ -<> - -hasComplianceReference -grantsComplianceCriteriaCombination -} - -gaxTrustFramework_ComplianceCertificationScheme <|-- gaxTrustFramework_ThirdPartyComplianceCertificationScheme - -class gaxTrustFramework_ComplianceAssessmentBody{ -canCertifyThirdPartyComplianceCertificationScheme -hasThirdPartyComplianceCertificateClaim -hasThirdPartyComplianceCredential -} - -gaxTrustFramework_ThirdPartyComplianceCertificationScheme --> "1..*" gaxTrustFramework_ComplianceAssessmentBody: hasComplianceAssessmentBodies - -gaxTrustFramework_ComplianceAssessmentBody --> "1..*" gaxTrustFramework_ThirdPartyComplianceCertificationScheme: canCertifyThirdPartyComplianceCertificationScheme - - -``` - - **Super classes**: [gax-trust-framework:ComplianceCertificationScheme](#gax-trust-framework:compliancecertificationscheme) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| hasComplianceAssessmentBodies | [gax-trust-framework:ComplianceAssessmentBody](#gax-trust-framework:complianceassessmentbody) | 1 | unlimited | Unordered list of IDs of ComplianceAssessmentBody (participant) endorsed having a Compliance Assessment Body role by the Compliance Reference. This unordered list is managed and validated by the Compliance Reference Manager | https://company-a.com/self-descriptions/cab.jsonld | - - -
- - -## gax-trust-framework:VerifiableCredentialWallet - -```mermaid -classDiagram - -class gaxTrustFramework_VerifiableCredentialWallet{ -verifiableCredentialExportFormat -privateKeyExportFormat -} - -gaxTrustFramework_Wallet <|-- gaxTrustFramework_VerifiableCredentialWallet - - -``` - - **Super classes**: [gax-trust-framework:Wallet](#gax-trust-framework:wallet) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| verifiableCredentialExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export verifiable credentials. | https://gaia-x.eu | -| privateKeyExportFormat | xsd:string | 1 | unlimited | a list of machine readable format used to export private keys. | https://gaia-x.eu | - - -
- - -## gax-trust-framework:VirtualMachine - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -class gaxTrustFramework_Compute{ -<> - -codeArtifact -instantiationReq -tenantSeparation -} - -gaxTrustFramework_Compute <|-- gaxTrustFramework_VirtualMachine - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -gaxTrustFramework_VirtualMachine <|-- gaxTrustFramework_AutoscaledVirtualMachine - -class gaxTrustFramework_VmImage{ -format -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact - -class gaxTrustFramework_ServerFlavor{ -cpuReq -memoryReq -gpuReq -networkReq -bootVolumeReq -additionalVolumeReq -isConfidential -attestationServiceURI -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_ServerFlavor: instantiationReq - - -``` - - **Super classes**: [gax-trust-framework:Compute](#gax-trust-framework:compute) - - **Sub classes**: [gax-trust-framework:AutoscaledVirtualMachine](#gax-trust-framework:autoscaledvirtualmachine) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| codeArtifact | [gax-trust-framework:VmImage](#gax-trust-framework:vmimage) | 1 | unlimited | all possible provided virtual machine images for this service offering | (a structured object of type gax-trust-framework:VMImage) | -| instantiationReq | [gax-trust-framework:ServerFlavor](#gax-trust-framework:serverflavor) | 1 | unlimited | all possible provided virtual machine flavors for this service offering | (a structured object of type gax-trust-framework:ServerFlavor) | - - -
- - -## gax-trust-framework:VirtualNode - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualNode{ -type -} - -class gaxTrustFramework_Node{ -cpu -gpu -ramsize -disk -nic -} - -gaxTrustFramework_Node <|-- gaxTrustFramework_VirtualNode - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_InstantiatedVirtualResource <|-- gaxTrustFramework_VirtualNode - - -``` - - **Super classes**: [gax-trust-framework:Node](#gax-trust-framework:node), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| type | xsd:string
value must be in: [virtual machine, container] | 0 | unlimited | Type of virtual node | virtual machine, container | - - -
- - -## gax-trust-framework:VirtualResource - -```mermaid -classDiagram - -class gaxTrustFramework_VirtualResource{ -copyrightOwnedBy -license -policy -} - -class gaxTrustFramework_Resource{ -<> - -name -description -aggregationOf -} - -gaxTrustFramework_Resource <|-- gaxTrustFramework_VirtualResource - -class gaxTrustFramework_DataResource{ -producedBy -exposedThrough -obsoleteDateTime -expirationDateTime -containsPII -legalBasis -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_DataResource - -class gaxTrustFramework_InstantiatedVirtualResource{ -maintainedBy -hostedOn -instanceOf -tenantOwnedBy -serviceAccessPoint -} - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_InstantiatedVirtualResource - -gaxTrustFramework_VirtualResource <|-- gaxTrustFramework_SoftwareResource - -class gaxTrustFramework_DataConnectorOffering{ -physicalResource -virtualResource -policies -type -creationTime -standardConformity -} - -gaxTrustFramework_DataConnectorOffering --> "1..*" gaxTrustFramework_VirtualResource: virtualResource - - -``` - - **Super classes**: [gax-trust-framework:Resource](#gax-trust-framework:resource) - - **Sub classes**: [gax-trust-framework:DataResource](#gax-trust-framework:dataresource), [gax-trust-framework:InstantiatedVirtualResource](#gax-trust-framework:instantiatedvirtualresource), [gax-trust-framework:SoftwareResource](#gax-trust-framework:softwareresource) - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| copyrightOwnedBy | foaf:Agent | 1 | unlimited | The copyright owner(s), given as a Gaia-X Participant or as some other agent, possibly also a person outside of Gaia-X. A copyright owner is a person or organization, that has the right to exploit the resource. Copyright owner does not necessary refer to the author of the resource, who is a natural person and may differ from copyright owner. A simple name string can be referenced as a blank node whose foaf:name attribute has that string value. | https://gaia-x.eu | -| license | xsd:string | 1 | unlimited | A list of SPDX license identifiers or URL to license document | https://gaia-x.eu | -| policy | xsd:string | 1 | unlimited | A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …) | https://gaia-x.eu | - - -
- - -## gax-trust-framework:VmAutoscalingGroupSpec - -```mermaid -classDiagram - -class gaxTrustFramework_VmAutoscalingGroupSpec{ -minInstantiatedVM -loadMetric -loadMetricTarget -loadMetricTargetMin -loadMetricTargetMax -asgScalingPlan -} - -gaxTrustFramework_InstantiationRequirements <|-- gaxTrustFramework_VmAutoscalingGroupSpec - -class gaxTrustFramework_AutoscaledVirtualMachine{ -autoscaledVmServiceSpec -} - -gaxTrustFramework_AutoscaledVirtualMachine --> "1..*" gaxTrustFramework_VmAutoscalingGroupSpec: autoscaledVmServiceSpec - - -``` - - **Super classes**: [gax-trust-framework:InstantiationRequirements](#gax-trust-framework:instantiationrequirements) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| minInstantiatedVM | xsd:integer | 0 | 1 | Minimim number of VM instances in the ASG | 2, 8 | -| loadMetric | xsd:string | 0 | 1 | Load Metric type - can be of various types | cpu load, memory load, IO load, cost | -| loadMetricTarget | xsd:integer | 0 | 1 | Per VM instance Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be between Min and Max | 2, 8 | -| loadMetricTargetMin | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be < Max | 2, 8 | -| loadMetricTargetMax | xsd:integer | 0 | 1 | Per VM Load Metric Target value. Must be defined if asgLoadMetric is defined. Must be > Min | 2, 8 | -| asgScalingPlan | xsd:string | 0 | 1 | Autoscaling Policy | scale by one instance, scale by two instances, My Custom Scaling Plan | - - -
- - -## gax-trust-framework:VmImage - -```mermaid -classDiagram - -class gaxTrustFramework_VmImage{ -format -} - -class gaxTrustFramework_Image{ -diskFormat -checkSum -version -cpuReq -fileSize -ramSize -encryption -signature -} - -gaxTrustFramework_Image <|-- gaxTrustFramework_VmImage - -class gaxTrustFramework_VirtualMachine{ -codeArtifact -instantiationReq -} - -gaxTrustFramework_VirtualMachine --> "1..*" gaxTrustFramework_VmImage: codeArtifact - - -``` - - **Super classes**: [gax-trust-framework:Image](#gax-trust-framework:image) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| format | xsd:string | 1 | 1 | Format of this virtual machine image. | qcow2, vhd, vhdx, vmdk, vdi, iso, ovf, ova | - - -
- - -## gax-trust-framework:Volume - -```mermaid -classDiagram - -class gaxTrustFramework_Volume{ -size -type -} - -gaxTrustFramework_StorageResource <|-- gaxTrustFramework_Volume - -class gaxTrustFramework_Measure{ -value -unit -} - -gaxTrustFramework_Volume --> "0..1" gaxTrustFramework_Measure: size - - -``` - - **Super classes**: [gax-trust-framework:StorageResource](#gax-trust-framework:storageresource) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| size | [gax-trust-framework:Measure](#gax-trust-framework:measure) | 0 | 1 | Memory of the GPU | a structure object of type measure, e.g. measure:value=24 and measure:unit=GB | -| type | xsd:string | 0 | 1 | storage volume type | small, medium, large | - - -
- - -## gax-trust-framework:WalletOffering - -```mermaid -classDiagram - -gaxTrustFramework_Software <|-- gaxTrustFramework_WalletOffering - - -``` - - **Super classes**: [gax-trust-framework:Software](#gax-trust-framework:software) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | - - -
- - -## gax-trust-framework:serviceInteroperabilityAttestation - -```mermaid -classDiagram - -class gaxTrustFramework_serviceInteroperabilityAttestation{ -interoperabilityAttestationType -serviceInteroperabilityAttestationType -composedService -componentService -} - -class gaxTrustFramework_Attestation{ -providedBy -attestationDate -attestationType -} - -gaxTrustFramework_Attestation <|-- gaxTrustFramework_serviceInteroperabilityAttestation - -class gaxTrustFramework_ServiceOffering{ -name -termsAndConditions -policy -dataProtectionRegime -dataAccountExport -description -keyword -provisionType -endpoint -providedBy -aggregationOf -dependsOn -ServiceOfferingLocations -} - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..1" gaxTrustFramework_ServiceOffering: composedService - -gaxTrustFramework_serviceInteroperabilityAttestation --> "1..*" gaxTrustFramework_ServiceOffering: componentService - - -``` - - **Super classes**: [gax-trust-framework:Attestation](#gax-trust-framework:attestation) - - **Sub classes**: - - - - | Title | Data Type | Min Count | Max Count | Description | Example Value | -| ------- | ------- | ------- | ------- | ------- | ------- | -| interoperabilityAttestationType | xsd:string | 1 | 1 | Interoperability Attestation Type | Technical, Functional and technical | -| serviceInteroperabilityAttestationType | xsd:string
value must be in: [Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider] | 1 | 1 | Type of Service Interoperability Attestation | Composed Service Provider Interoperability Attestation, Component Service Provider Interoperability Attestation, System Integrator Services Provider | -| composedService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | 1 | Composed Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceComplianceService.json | -| componentService | [gax-trust-framework:ServiceOffering](#gax-trust-framework:serviceoffering) | 1 | unlimited | Component Service where the attestation applies to | https://compliance.gaia-x.eu/.well-known/serviceManagedPostgreSQLOVH.json | - - diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 3b2e2db..93c0ef4 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,3 +1,14 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# openstack_discoverypy +"""Script to generate GX Credentials in JSON-LD. + +(c) Kurt Garloff , 5/2023 +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + from typing import Dict, List from openstack.connection import Connection diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 5252390..77d2f3c 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,3 +1,13 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# vm_images_discovery.py +"""Script to discovery VM images properties. + +(c) Anja Strunk , 1/2024 +SPDX-License-Identifier: EPL-2.0 +""" + from datetime import datetime from typing import Dict, List, Union @@ -6,7 +16,7 @@ from openstack.image.v2.image import Image as OS_Image import generator.common.const as const -from generator.common.expections import MissingMandatoryAttribute +#from generator.common.expections import MissingMandatoryAttribute from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import ( @@ -45,7 +55,8 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "RISC-V" return CpuArch.other.text except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + return CpuArch.other.text class VmDiscovery: @@ -166,7 +177,9 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass gx_image.ramReq = mem_req except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + pass + #raise MissingMandatoryAttribute(e.args) + def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: @@ -175,7 +188,8 @@ def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: ) gx_image.rootDiskReq = Disk(diskSize=size, diskBusType=image.hw_disk_bus) except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + pass def _add_operation_system_info( self, os_image: OS_Image, gx_image: GX_Image @@ -579,7 +593,8 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: "provided_until" ] except KeyError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + pass # collect optional attributes try: @@ -692,7 +707,8 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: else: gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + gx_image.hypervisorType = HypervisorType.other.text + #raise MissingMandatoryAttribute(e.args) def _get_signature_algo(self, algo: str) -> str: if algo.startswith("SHA-"): diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py deleted file mode 100644 index 3c704c3..0000000 --- a/generator/wallet/file_wallet.py +++ /dev/null @@ -1,28 +0,0 @@ -import json -import os - -from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld -from generator.wallet.wallet import WalletConnector - - -class FileSystemWallet(WalletConnector, object): - """ - Abstraction for filesystem acting as a wallet. - """ - - def __init__(self, dir: str) -> None: - super().__init__() - self.dir = dir - - def store_credential(self, credential: JsonLdObject) -> None: - super().store_credential(credential) - - with open( - os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" - ) as json_file: - props = get_json_ld_context() - props["@graph"] = [credential] - json.dump(props, json_file, indent=4, default=to_json_ld) - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py deleted file mode 100644 index 5c05a31..0000000 --- a/generator/wallet/wallet.py +++ /dev/null @@ -1,36 +0,0 @@ -from abc import ABC, abstractmethod - -from generator.common.json_ld import JsonLdObject - - -class WalletConnector(ABC): - """ - Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector - wraps API calls for different kind of wallets. - """ - - @abstractmethod - def store_credential(self, credential: JsonLdObject) -> None: - """ - Stores given CREDENTIAL in this wallet. - @param credential: credential to be stored in JSON-LD - @type JsonLdObject - @return: None - """ - pass - - @abstractmethod - def get_provider_cred_did(self, service_offering: str) -> str: - """Returns DID of provider of given service offering. - - Parameters - ---------- - service_offering : str - DID of service offering - - Returns - ------- - str - DID of service offering's provider - """ - return "" diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py deleted file mode 100644 index 489c619..0000000 --- a/generator/wallet/xfsc_wallet.py +++ /dev/null @@ -1,8 +0,0 @@ -from generator.wallet.wallet import WalletConnector - - -class XFSCWallet(WalletConnector): - """ - Abstraction XFSC wallet, called Organization Credential Manager. - See https://projects.eclipse.org/projects/technology.xfsc - """ diff --git a/requirements.txt b/requirements.txt index 91180a4..e140269 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,4 +4,4 @@ PyYAML==6.* click==8.1.7 pyshacl==0.25.0 linkml==1.6.7 - +rdflib==7.0.0 diff --git a/sd/example.jsonld b/sd/example.jsonld deleted file mode 100644 index d52b7b4..0000000 --- a/sd/example.jsonld +++ /dev/null @@ -1,14 +0,0 @@ -{ - "@context": { "@vocab": "http://schema.org/" }, - "@id": "http://example.org/ns#Bob", - "@type": "Person", - "givenName": "Robert", - "familyName": "Junior", - "birthDate": "1961-07-07", - "deathDate": "1968-09-10", - "address": { - "@id": "http://example.org/ns#BobsAddress", - "streetAddress": "1600 Amphitheatre Pkway", - "postalCode": 10404 - } -} diff --git a/sd/example.ttl b/sd/example.ttl deleted file mode 100644 index 879c5d8..0000000 --- a/sd/example.ttl +++ /dev/null @@ -1,40 +0,0 @@ -@prefix dash: . -@prefix rdf: . -@prefix rdfs: . -@prefix schema: . -@prefix sh: . -@prefix xsd: . -schema:PersonShape - a sh:NodeShape ; - sh:targetClass schema:Person ; - sh:property [ - sh:path schema:givenName ; - sh:datatype xsd:string ; - sh:name "given name" ; - ] ; - sh:property [ - sh:path schema:birthDate ; - sh:lessThan schema:deathDate ; - sh:maxCount 1 ; - ] ; - sh:property [ - sh:path schema:gender ; - sh:in ( "female" "male" ) ; - ] ; - sh:property [ - sh:path schema:address ; - sh:node schema:AddressShape ; - ] . -schema:AddressShape - a sh:NodeShape ; - sh:closed true ; - sh:property [ - sh:path schema:streetAddress ; - sh:datatype xsd:string ; - ] ; - sh:property [ - sh:path schema:postalCode ; - sh:or ( [ sh:datatype xsd:string ] [ sh:datatype xsd:integer ] ) ; - sh:minInclusive 10000 ; - sh:maxInclusive 99999 ; - ] . diff --git a/sd/gx_service_offering_example.jsonld b/sd/gx_service_offering_example.jsonld deleted file mode 100644 index d981645..0000000 --- a/sd/gx_service_offering_example.jsonld +++ /dev/null @@ -1,65 +0,0 @@ -{ - "@context": { - "xsd": "http://www.w3.org/2001/XMLSchema#", - "gx": "https://https://registry.lab.gaia-x.eu//v1$/gx#", - "ex": "http://example.org/" - }, - "@id": "ex:Compute", - "@type": "gx:ServiceOffering", - "gx:providedBy": { - "@id": "did:example:123", - "@type": "gx:LegalParticipant", - "gx:legalAddress": { - "@type": "gx:legalAddress", - "gx:countrySubdivisionCode": { - "@value": "DE-BE", - "@type": "xsd:string" - } - }, - "gx:headquarterAddress": { - "@type": "gx:legalAddress", - "gx:countrySubdivisionCode": { - "@value": "DE-BE", - "@type": "xsd:string" - } - }, - "gx:legalRegistrationNumber": { - "@type": "gx:legalRegistrationNumber", - "gx:leiCode": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:vatID": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:EORI": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:EUID": { - "@value": "123", - "@type": "xsd:string" - }, - "gx:taxID": { - "@value": "123", - "@type": "xsd:string" - } - } - }, - "gx:policy": "IaaS", - "gx:termsAndConditions": { - "@type": "gx:SOTermsAndConditions", - "gx:URL": { - "@value": "https://www.acme.com/compute/tac", - "@type": "xsd:string" - }, - "gx:hash": "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" - }, - "gx:dataAccountExport": { - "@type": "gx:dataAccountExport", - "gx:requestType": "API", - "gx:accessType": "digital", - "gx:formatType": "application/json" - } -} diff --git a/sd/gx_shapes_latest.ttl b/sd/gx_shapes_latest.ttl deleted file mode 100644 index ca350b2..0000000 --- a/sd/gx_shapes_latest.ttl +++ /dev/null @@ -1,191 +0,0 @@ -@prefix gx: . -@prefix rdfs: . -@prefix rdf: . -@prefix sh: . -@prefix xsd: . - -gx:ParticipantShape a sh:NodeShape ; - sh:targetClass gx:Participant, gx:LegalParticipant ; - sh:nodeKind sh:IRI . - -# TODO: simplify with https://github.com/zazuko/rdf-validate-shacl/issues/41#issuecomment-745803630 - -gx:LegalParticipantShape a sh:NodeShape ; - sh:targetClass gx:LegalParticipant ; - sh:property [ - sh:path gx:legalRegistrationNumber ; - sh:node gx:legalRegistrationNumberShape ; - sh:minCount 1 ; - ], [ - sh:path gx:parentOrganization ; - sh:node gx:LegalParticipantShape ; - ], [ - sh:path gx:subOrganization ; - sh:node gx:LegalParticipantShape ; - ], [ - sh:path gx:headquarterAddress ; - sh:minCount 1 ; - sh:node gx:PostalAddressShape ; - ], [ - sh:path gx:legalAddress ; - sh:minCount 1 ; - sh:node gx:PostalAddressShape ; - ] . - -gx:legalRegistrationNumberShape a sh:NodeShape ; - sh:targetClass gx:legalRegistrationNumber ; - sh:message "At least one of taxID, vatID, EUID, EORI or leiCode must be defined." ; - sh:property [ - sh:path gx:taxID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:EUID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:EORI ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:vatID ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:property [ - sh:path gx:leiCode ; - sh:datatype xsd:string ; - sh:minLength 3 ; - ]; - sh:or ( - [ - sh:path gx:taxID ; - sh:minCount 1 ; - ] - [ - sh:path gx:EUID ; - sh:minCount 1 ; - ] - [ - sh:path gx:EORI ; - sh:minCount 1 ; - ] - [ - sh:path gx:vatID ; - sh:minCount 1 ; - ] - [ - sh:path gx:leiCode ; - sh:minCount 1 ; - ] - ) . - -gx:PostalAddressShape a sh:NodeShape ; - sh:targetClass gx:headquarterAddress, gx:legalAddress ; - sh:property [ - sh:path gx:countrySubdivisionCode ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:pattern "^[a-zA-Z]{2}-(?:[a-zA-Z]{1,3}|[0-9]{1,3})$" ; - sh:flags "i" ; - sh:message "an ISO 3166-2 format value is expected." ; - ] . - -gx:GaiaXTermsAndConditionsShape a sh:NodeShape ; - sh:targetClass gx:GaiaXTermsAndConditions; - sh:property [ - sh:path gx:termsAndConditions ; - sh:datatype xsd:string ; - sh:minCount 1 ; - sh:hasValue '''The PARTICIPANT signing the Self-Description agrees as follows: -- to update its descriptions about any changes, be it technical, organizational, or legal - especially but not limited to contractual in regards to the indicated attributes present in the descriptions. - -The keypair used to sign Verifiable Credentials will be revoked where Gaia-X Association becomes aware of any inaccurate statements in regards to the claims which result in a non-compliance with the Trust Framework and policy rules defined in the Policy Rules and Labelling Document (PRLD).''' ; - ] . - -gx:DataAccountExportShape - a sh:NodeShape ; - sh:targetClass gx:dataAccountExport ; - sh:property [ sh:path gx:requestType ; - sh:datatype xsd:string ; - sh:name "Request type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ] ; - sh:property [ sh:path gx:accessType ; - sh:datatype xsd:string ; - sh:name "Access type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:description "type of data support: digital, physical." ; - sh:in ( "digital" "physical" ) ] ; - sh:property [ sh:path gx:formatType ; - sh:datatype xsd:string ; - sh:name "Format type" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:pattern "^\\w+/[-+.\\w]+$" ; - sh:flags "i" ; - sh:message "type of Media Types (formerly known as MIME types) as defined by the IANA." ; ] . - -gx:SOTermsAndConditionsShape - a sh:NodeShape ; - sh:targetClass gx:SOTermsAndConditions ; - sh:property [ sh:path gx:URL ; - sh:name "URL" ; - sh:description "a resolvable link to document" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:hash ; - sh:name "hash" ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:description "sha256 hash of the above document." ; - sh:datatype xsd:string ] . - -gx:ServiceOfferingShape - a sh:NodeShape ; - sh:targetClass gx:ServiceOffering ; - sh:property [ sh:path gx:providedBy ; - sh:name "provided by" ; - sh:description "a resolvable link to the participant self-description providing the service." ; - sh:minCount 1 ; - sh:maxCount 1 ; - sh:node gx:LegalParticipantShape ] ; # TODO add alternativePath to support all type of Participant - sh:property [ sh:path gx:aggregationOf ; - sh:name "aggregation of" ; - sh:description - "a resolvable link to the resources self-description related to the service and that can exist independently of it." ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dependsOn ; - sh:name "depends on" ; - sh:description - "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; - sh:datatype gx:ServiceOffering ] ; - sh:property [ sh:path gx:termsAndConditions ; - sh:name "terms & conditions" ; - sh:minCount 1 ; - sh:description - "a resolvable link to the service offering self-description related to the service and that can exist independently of it." ; - sh:node gx:SOTermsAndConditionsShape ] ; - sh:property [ sh:path gx:policy ; - sh:name "policy" ; - sh:minCount 1 ; - sh:description - "a list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, …)." ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dataProtectionRegime ; - sh:name "data protection regime" ; - sh:description "a list of data protection regime" ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:message "Refer to https://gaia-x.gitlab.io/policy-rules-committee/trust-framework/service_and_subclasses/#service-offering Personal Data Protection Regimes" ; - sh:datatype xsd:string ] ; - sh:property [ sh:path gx:dataAccountExport ; - sh:name "data account export" ; - sh:minCount 1 ; - sh:description "list of methods to export data from your user’s account out of the service" ; - sh:node gx:DataAccountExportShape ; ] . diff --git a/sd/validate.py b/sd/validate.py deleted file mode 100755 index f505be5..0000000 --- a/sd/validate.py +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/env python3 - -"""Script to validate self-description in JSON-LD format - against its schema is turtle format. - -(c) Roman Hros , 5/2023 -(c) Matej Feder , 5/2023 -SPDX-License-Identifier: EPL-2.0 -""" - -from pyshacl import validate -from argparse import ArgumentParser -import rdflib - -SHAPES_FILE_FORMAT = "turtle" -DATA_FILE_FORMAT = "json-ld" - - -def load_file(filepath, file_format=DATA_FILE_FORMAT): - """Load file in a given format""" - graph = rdflib.Graph() - graph.parse(filepath, format=file_format) - return graph - - -def validate_sd(sd, schema): - """Validate SD in jsonld format against given schema in turtle format""" - conforms, results_graph, results_text = validate( - load_file(sd), - shacl_graph=load_file(schema, file_format=SHAPES_FILE_FORMAT), - data_graph_format=DATA_FILE_FORMAT, - shacl_graph_format=SHAPES_FILE_FORMAT, - inference="rdfs", - debug=False, - serialize_report_graph=True, - ) - print(results_text) - - -parser = ArgumentParser(description="Simple SD validator for development purposes") -parser.add_argument( - "sd", - help=f"Filepath of SelfDescription to validate. Should have {DATA_FILE_FORMAT} format", -) -parser.add_argument( - "schema", - help=f"Filepath of shacl schema to be used for validation. Should have {SHAPES_FILE_FORMAT} format", -) - - -if __name__ == "__main__": - args = vars(parser.parse_args()) - validate_sd(**args) From dce208db698d257ab7647d61e0bedea4a998c78b Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Mon, 16 Oct 2023 09:48:55 +0200 Subject: [PATCH 142/175] Update README.md with missing content (#57) Signed-off-by: Anja Strunk --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6f9ac7d..e1f31eb 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,6 @@ cd gx-credential-generator pip install -r requirements.txt ``` - ### OpenStack a. Create `clouds.yaml` configuration file From 9537b43e4c8040d16eea621b0d48434c87d8b9ad Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Fri, 20 Oct 2023 09:28:44 +0200 Subject: [PATCH 143/175] Replace self-description with credential (#65) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Replace self-description with credential Signed-off-by: Anja Strunk * Update README.md Co-authored-by: Matthias Büchse Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> * Update gx-cred-generator.py Co-authored-by: Matthias Büchse Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> --------- Signed-off-by: Anja Strunk Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Co-authored-by: Matthias Büchse Signed-off-by: Anja Strunk --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e1f31eb..22cfafa 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # gx-credential-generator +<<<<<<< HEAD Tool for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Gaia-X Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +======= +Tools for creating [Gaia-X Crecential](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), formally knwon as Self-Descriptions for SCS compliant cloud infrastructures (OpenStack, k8s, ...) +>>>>>>> Replace self-description with credential (#65) ## Introduction @@ -64,9 +68,7 @@ a. Create `clouds.yaml` configuration file - `auth.project_domain_name` - `region_name` - b. Generate Gaia-X Credentials - - To print OpenStack properties in JSON-LD ```bash python3 cli.py openstack From 03c4a2aef05ea9fbb913da7a445ca71c40392f64 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:33:04 +0100 Subject: [PATCH 144/175] Add auto-generated pyhton classes for GX Credential Schema Signed-off-by: Anja Strunk --- README.md | 4 - generator/common/gx-schema.py | 8957 ++++++++++++++++++++++ generator/gx_schema/code_artifact.py | 14 + generator/gx_schema/cpu.py | 36 + generator/gx_schema/credential.py | 8 + generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 + generator/gx_schema/operation_system.py | 26 + generator/gx_schema/participant.py | 14 + generator/gx_schema/resource.py | 17 + generator/gx_schema/software_resource.py | 43 + generator/gx_schema/virtual_resource.py | 26 + generator/gx_schema/vm_image.py | 17 + generator/iaas/gen_vm_image.py | 0 generator/test.py | 0 15 files changed, 9190 insertions(+), 4 deletions(-) create mode 100644 generator/common/gx-schema.py create mode 100644 generator/gx_schema/code_artifact.py create mode 100644 generator/gx_schema/cpu.py create mode 100644 generator/gx_schema/credential.py create mode 100644 generator/gx_schema/cyptography.py create mode 100644 generator/gx_schema/image.py create mode 100644 generator/gx_schema/operation_system.py create mode 100644 generator/gx_schema/participant.py create mode 100644 generator/gx_schema/resource.py create mode 100644 generator/gx_schema/software_resource.py create mode 100644 generator/gx_schema/virtual_resource.py create mode 100644 generator/gx_schema/vm_image.py create mode 100644 generator/iaas/gen_vm_image.py create mode 100644 generator/test.py diff --git a/README.md b/README.md index 22cfafa..cf165f6 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,5 @@ # gx-credential-generator -<<<<<<< HEAD Tool for creating [Gaia-X Crecentials](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), previously known as Gaia-X Self-Descriptions, for SCS compliant cloud infrastructures (OpenStack, k8s, ...) -======= -Tools for creating [Gaia-X Crecential](https://gitlab.com/gaia-x/technical-committee/architecture-document/-/blob/master/architecture_document/gx_conceptual_model.md#gaia-x-credentials), formally knwon as Self-Descriptions for SCS compliant cloud infrastructures (OpenStack, k8s, ...) ->>>>>>> Replace self-description with credential (#65) ## Introduction diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py new file mode 100644 index 0000000..9ffe1d3 --- /dev/null +++ b/generator/common/gx-schema.py @@ -0,0 +1,8957 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-11-16T13:30:52 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[str] = None + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + if self.gps is not None and not isinstance(self.gps, str): + self.gps = str(self.gps) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if not isinstance(self.supportedOversubscriptionRatio, list): + self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] + self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[str] = "\"none\"" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): + self.gpuInterconnection = str(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class Latest-N(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX["Latest-N"] + class_class_curie: ClassVar[str] = "gx:Latest-N" + class_name: ClassVar[str] = "Latest-N" + class_model_uri: ClassVar[URIRef] = GX.Latest-N + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: Union[str, URI] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, URI): + self.unit = URI(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: Union[str, URI] = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: Union[str, URI] = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" + firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + Others = PermissibleValue( + text="Others", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for enchryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operationg system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operationg system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), + model_uri=GX.unit, domain=None, range=Union[str, URI]) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[str]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), + model_uri=GX.latest_N__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/code_artifact.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/cpu.py b/generator/gx_schema/cpu.py new file mode 100644 index 0000000..62689cb --- /dev/null +++ b/generator/gx_schema/cpu.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# cpu.py +""" +These classes reflect the Gaia-X view on physical infra + +(c) Kurt Garloff , 3/2022 - 6/2022 +SPDX-License-Identifier: EPL-2.0 +""" + + +class CPU: + "CPU abstraction according to Gaia-X attributes" + def __init__(self): + "c'tor setting all vals to defaults" + # Gaia-X attrs + self.numberOfCores = 0 + self.numberOfThreads = 0 + self.frequency = 0 + self.boostFrequency = 0 + self.cacheSize = 0 + # This would not be interesting typically + self.allowedSocket = "" + # Virt. attrs -- not in GaX + self.dedicatedCore = False + self.dedicatedThread = False + self.limitOversubscr = False + + +class MEM: + "RAM of an instance" + def __init__(self): + "c'tor setting all vals to defaults" + self.memGB = 0 + self.ECC = True diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py new file mode 100644 index 0000000..a687cea --- /dev/null +++ b/generator/gx_schema/credential.py @@ -0,0 +1,8 @@ +from abc import ABC +from abc import abstractmethod + + +class GxCredential(ABC): + @abstractmethod + def generate_gx_cred(self) -> str: + return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py new file mode 100644 index 0000000..ed83c1f --- /dev/null +++ b/generator/gx_schema/image.py @@ -0,0 +1,32 @@ +from code_artifact import CodeArtifact +""""" +This class reflects the class 'Image' of Gaia-X Credential schema. + +""" + +from cpu import CPU + +class Image(CodeArtifact): + + def __init__(self, + fileSize: int, + operatingSystem: str, + cpuReq: CPU, + gpuReq: GPU, + ramReq: Memory, + videoRamSize: int, + rootDiskReq: Disk, + encryption: Enrcyption, + secureBoot: boolean, + vPMU: boolean, + updateStrategfy: UpdateStrategy, + license_included: boolean, + maintenance: Maintenance ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() + + + + diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/operation_system.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py new file mode 100644 index 0000000..ef2c7d8 --- /dev/null +++ b/generator/gx_schema/participant.py @@ -0,0 +1,14 @@ +""""" +These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. +""" +from generator.gx.gx_credential import GxCredential + + + +class CodeArtifact(GxCredential): + + def __init__(self, ) -> None: + pass + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py new file mode 100644 index 0000000..70bd985 --- /dev/null +++ b/generator/gx_schema/resource.py @@ -0,0 +1,17 @@ +""""" +These classe reflect the class 'Resource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx.gx_credential import GxCredential + + +class Resource(GxCredential): + aggregation_of_resources: Resource + + def __init__(self, aggregation_of_resources: Resource = None) -> None: + self.aggregation_of_resources = aggregation_of_resources + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py new file mode 100644 index 0000000..5c24cdd --- /dev/null +++ b/generator/gx_schema/software_resource.py @@ -0,0 +1,43 @@ +""""" +These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class SoftwareResource(Resource): + checksum: HypervisorType + signature: HypervisorType + version: HypervisorType + patch_level: Location + buidl_date: Location + + def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, + patch_level: Location, buidl_date: Location) -> None: + self.checksum = checksum + self.signature = signature + self.version = version + self.patch_level = patch_level + self.buidl_date = buidl_date + + + + + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py new file mode 100644 index 0000000..7eebf0d --- /dev/null +++ b/generator/gx_schema/virtual_resource.py @@ -0,0 +1,26 @@ +""""" +These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. +""" + +from __future__ import annotations + +from generator.gx_schema.resource import Resource +from generator.gx_schema.participant import Participant + +from typing import Union + + +class VirtualResource(Resource): + copyright_owned_by: Union[str, Participant] + license: str + resource_policy: str + + def __init__(self, copyright_owned_by: Union[str, Participant], license: str, + resource_policy: str, aggregation_of_resources: Resource = None) -> None: + super().__init__(aggregation_of_resources=aggregation_of_resources) + self.copyright_owned_by = copyright_owned_by + self.license = license + self.resource_policy = resource_policy + + def generate_gx_cred(self) -> str: + return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py new file mode 100644 index 0000000..bc557b6 --- /dev/null +++ b/generator/gx_schema/vm_image.py @@ -0,0 +1,17 @@ +class VmImage(): + + def __init__(self, + fileSize: int, + operatingSystem: str, + diskFormat: str, + hypervisorType: str, + firmwareType: str, + hwRngTypeOfImage: str, + watchDogAction: strl, + cpuReq: CPU) -> None: + pass + + + + + diff --git a/generator/iaas/gen_vm_image.py b/generator/iaas/gen_vm_image.py new file mode 100644 index 0000000..e69de29 diff --git a/generator/test.py b/generator/test.py new file mode 100644 index 0000000..e69de29 From 48682c0d463b20f8e47a0f7e0b6443320d837dbe Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 13:42:23 +0100 Subject: [PATCH 145/175] Update python classes Signed-off-by: Anja Strunk --- generator/common/gx-schema.py | 16 ++++----- generator/gx_schema/code_artifact.py | 14 -------- generator/gx_schema/cpu.py | 36 -------------------- generator/gx_schema/credential.py | 8 ----- generator/gx_schema/cyptography.py | 0 generator/gx_schema/image.py | 32 ------------------ generator/gx_schema/operation_system.py | 26 -------------- generator/gx_schema/participant.py | 14 -------- generator/gx_schema/resource.py | 17 ---------- generator/gx_schema/software_resource.py | 43 ------------------------ generator/gx_schema/virtual_resource.py | 26 -------------- generator/gx_schema/vm_image.py | 17 ---------- 12 files changed, 8 insertions(+), 241 deletions(-) delete mode 100644 generator/gx_schema/code_artifact.py delete mode 100644 generator/gx_schema/cpu.py delete mode 100644 generator/gx_schema/credential.py delete mode 100644 generator/gx_schema/cyptography.py delete mode 100644 generator/gx_schema/image.py delete mode 100644 generator/gx_schema/operation_system.py delete mode 100644 generator/gx_schema/participant.py delete mode 100644 generator/gx_schema/resource.py delete mode 100644 generator/gx_schema/software_resource.py delete mode 100644 generator/gx_schema/virtual_resource.py delete mode 100644 generator/gx_schema/vm_image.py diff --git a/generator/common/gx-schema.py b/generator/common/gx-schema.py index 9ffe1d3..d519c1d 100644 --- a/generator/common/gx-schema.py +++ b/generator/common/gx-schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:30:52 +# Generation date: 2023-11-16T13:40:58 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -475,16 +475,16 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass -class Latest-N(YAMLRoot): +class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX["Latest-N"] - class_class_curie: ClassVar[str] = "gx:Latest-N" - class_name: ClassVar[str] = "Latest-N" - class_model_uri: ClassVar[URIRef] = GX.Latest-N + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN value: Optional[int] = None @@ -8740,8 +8740,8 @@ class slots: slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) -slots.latest_N__value = Slot(uri=GX.value, name="latest-N__value", curie=GX.curie('value'), - model_uri=GX.latest_N__value, domain=None, range=Optional[int]) +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) diff --git a/generator/gx_schema/code_artifact.py b/generator/gx_schema/code_artifact.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/code_artifact.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/cpu.py b/generator/gx_schema/cpu.py deleted file mode 100644 index 62689cb..0000000 --- a/generator/gx_schema/cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True diff --git a/generator/gx_schema/credential.py b/generator/gx_schema/credential.py deleted file mode 100644 index a687cea..0000000 --- a/generator/gx_schema/credential.py +++ /dev/null @@ -1,8 +0,0 @@ -from abc import ABC -from abc import abstractmethod - - -class GxCredential(ABC): - @abstractmethod - def generate_gx_cred(self) -> str: - return "" diff --git a/generator/gx_schema/cyptography.py b/generator/gx_schema/cyptography.py deleted file mode 100644 index e69de29..0000000 diff --git a/generator/gx_schema/image.py b/generator/gx_schema/image.py deleted file mode 100644 index ed83c1f..0000000 --- a/generator/gx_schema/image.py +++ /dev/null @@ -1,32 +0,0 @@ -from code_artifact import CodeArtifact -""""" -This class reflects the class 'Image' of Gaia-X Credential schema. - -""" - -from cpu import CPU - -class Image(CodeArtifact): - - def __init__(self, - fileSize: int, - operatingSystem: str, - cpuReq: CPU, - gpuReq: GPU, - ramReq: Memory, - videoRamSize: int, - rootDiskReq: Disk, - encryption: Enrcyption, - secureBoot: boolean, - vPMU: boolean, - updateStrategfy: UpdateStrategy, - license_included: boolean, - maintenance: Maintenance ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() - - - - diff --git a/generator/gx_schema/operation_system.py b/generator/gx_schema/operation_system.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/operation_system.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/participant.py b/generator/gx_schema/participant.py deleted file mode 100644 index ef2c7d8..0000000 --- a/generator/gx_schema/participant.py +++ /dev/null @@ -1,14 +0,0 @@ -""""" -These classe reflect the class 'CodeArtifact' of Gaia-X Credential schema. -""" -from generator.gx.gx_credential import GxCredential - - - -class CodeArtifact(GxCredential): - - def __init__(self, ) -> None: - pass - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/resource.py b/generator/gx_schema/resource.py deleted file mode 100644 index 70bd985..0000000 --- a/generator/gx_schema/resource.py +++ /dev/null @@ -1,17 +0,0 @@ -""""" -These classe reflect the class 'Resource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx.gx_credential import GxCredential - - -class Resource(GxCredential): - aggregation_of_resources: Resource - - def __init__(self, aggregation_of_resources: Resource = None) -> None: - self.aggregation_of_resources = aggregation_of_resources - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/software_resource.py b/generator/gx_schema/software_resource.py deleted file mode 100644 index 5c24cdd..0000000 --- a/generator/gx_schema/software_resource.py +++ /dev/null @@ -1,43 +0,0 @@ -""""" -These classe reflect the class 'SoftwareResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class SoftwareResource(Resource): - checksum: HypervisorType - signature: HypervisorType - version: HypervisorType - patch_level: Location - buidl_date: Location - - def __init__(self, checksum: HypervisorType, signature: HypervisorType, version: HypervisorType, - patch_level: Location, buidl_date: Location) -> None: - self.checksum = checksum - self.signature = signature - self.version = version - self.patch_level = patch_level - self.buidl_date = buidl_date - - - - - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/virtual_resource.py b/generator/gx_schema/virtual_resource.py deleted file mode 100644 index 7eebf0d..0000000 --- a/generator/gx_schema/virtual_resource.py +++ /dev/null @@ -1,26 +0,0 @@ -""""" -These classe reflect the class 'VirtualResource' of Gaia-X Credential schema. -""" - -from __future__ import annotations - -from generator.gx_schema.resource import Resource -from generator.gx_schema.participant import Participant - -from typing import Union - - -class VirtualResource(Resource): - copyright_owned_by: Union[str, Participant] - license: str - resource_policy: str - - def __init__(self, copyright_owned_by: Union[str, Participant], license: str, - resource_policy: str, aggregation_of_resources: Resource = None) -> None: - super().__init__(aggregation_of_resources=aggregation_of_resources) - self.copyright_owned_by = copyright_owned_by - self.license = license - self.resource_policy = resource_policy - - def generate_gx_cred(self) -> str: - return super().generate_gx_cred() diff --git a/generator/gx_schema/vm_image.py b/generator/gx_schema/vm_image.py deleted file mode 100644 index bc557b6..0000000 --- a/generator/gx_schema/vm_image.py +++ /dev/null @@ -1,17 +0,0 @@ -class VmImage(): - - def __init__(self, - fileSize: int, - operatingSystem: str, - diskFormat: str, - hypervisorType: str, - firmwareType: str, - hwRngTypeOfImage: str, - watchDogAction: strl, - cpuReq: CPU) -> None: - pass - - - - - From 57bf98f07edb876ae9352a1dc702ee48b13e1210 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 14:44:49 +0100 Subject: [PATCH 146/175] Add CLI interface for openstack and kubernetes Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 generator/gen-gx-credentials.py diff --git a/generator/gen-gx-credentials.py b/generator/gen-gx-credentials.py new file mode 100644 index 0000000..8bcdbb9 --- /dev/null +++ b/generator/gen-gx-credentials.py @@ -0,0 +1,27 @@ +import click + +@click.group() +def cli(): + pass + +@click.command() +@click.argument('cloud') +def openstack(cloud): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + click.echo(f"Hello {cloud}!") + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + + +if __name__ == '__main__': + cli() + From af3bee06c21083dd70ff232c08c8b0475c378b67 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 16 Nov 2023 15:26:20 +0100 Subject: [PATCH 147/175] Build framework Signed-off-by: Anja Strunk --- generator/gen-gx-credentials.py => src/cli.py | 11 ++++--- .../gx-schema.py => src/common/gx_schema.py | 10 +++---- {generator => src}/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 ++++++++++ {generator => src}/test.py | 0 src/wallet/file_wallet.py | 10 +++++++ src/wallet/wallet.py | 30 +++++++++++++++++++ src/wallet/xfsc_wallet.py | 11 +++++++ 8 files changed, 78 insertions(+), 9 deletions(-) rename generator/gen-gx-credentials.py => src/cli.py (66%) rename generator/common/gx-schema.py => src/common/gx_schema.py (99%) rename {generator => src}/iaas/gen_vm_image.py (100%) create mode 100644 src/iaas/opentack_connector.py rename {generator => src}/test.py (100%) create mode 100644 src/wallet/file_wallet.py create mode 100644 src/wallet/wallet.py create mode 100644 src/wallet/xfsc_wallet.py diff --git a/generator/gen-gx-credentials.py b/src/cli.py similarity index 66% rename from generator/gen-gx-credentials.py rename to src/cli.py index 8bcdbb9..0941e59 100644 --- a/generator/gen-gx-credentials.py +++ b/src/cli.py @@ -1,15 +1,20 @@ import click +from iaas.opentack_connector import OpenstackConnector @click.group() def cli(): pass + @click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud): +def openstack(cloud, timeout): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - click.echo(f"Hello {cloud}!") + + conn = OpenstackConnector(cloud, timeout=timeout) + @click.command() @@ -21,7 +26,5 @@ def kubernetes(): cli.add_command(openstack) cli.add_command(kubernetes) - if __name__ == '__main__': cli() - diff --git a/generator/common/gx-schema.py b/src/common/gx_schema.py similarity index 99% rename from generator/common/gx-schema.py rename to src/common/gx_schema.py index d519c1d..ccefae2 100644 --- a/generator/common/gx-schema.py +++ b/src/common/gx_schema.py @@ -8520,7 +8520,7 @@ class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random src is based in electronic quantum effects.") _defn = EnumDefinition( name="RNGTypes", @@ -8531,19 +8531,19 @@ def _addvals(cls): setattr(cls, "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) + description="Hardware random src is based on electronic noise.")) setattr(cls, "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) + description="Hardware random src is based on chaos.")) setattr(cls, "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) + description="Hardware random src is based in electronic free-running oscillators.")) setattr(cls, "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) class VMDiskType(EnumDefinitionImpl): diff --git a/generator/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py similarity index 100% rename from generator/iaas/gen_vm_image.py rename to src/iaas/gen_vm_image.py diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py new file mode 100644 index 0000000..76c99d7 --- /dev/null +++ b/src/iaas/opentack_connector.py @@ -0,0 +1,15 @@ +import openstack +impirt sys + + +class OpenstackConnector(): + """Abstraction for Openstack API calls.""" + def __init__(self, cloud, timeout): + self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + self.conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + self.conn.authorize() diff --git a/generator/test.py b/src/test.py similarity index 100% rename from generator/test.py rename to src/test.py diff --git a/src/wallet/file_wallet.py b/src/wallet/file_wallet.py new file mode 100644 index 0000000..a71a2e8 --- /dev/null +++ b/src/wallet/file_wallet.py @@ -0,0 +1,10 @@ +from wallet import WalletConnector + + +class FileSystemWallet(WalletConnector): + """ + Abstraction for filesystem acting as wallet. + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) diff --git a/src/wallet/wallet.py b/src/wallet/wallet.py new file mode 100644 index 0000000..592bd61 --- /dev/null +++ b/src/wallet/wallet.py @@ -0,0 +1,30 @@ +from abc import ABCMeta +from abc import abstractmethod +from linkml_runtime.utils.yamlutils import YAMLRoot + + +class WalletConnector(ABCMeta): + """ + Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector + wraps API calls for different kind of wallets. + """ + + @abstractmethod + def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + pass + + @abstractmethod + def get_provider_cred_did(self, service_offering: str) -> str: + """Returns DID of provider of given service offering. + + Parameters + ---------- + service_offering : str + DID of service offering + + Returns + ------- + str + DID of service offering's provider + """ + return "" diff --git a/src/wallet/xfsc_wallet.py b/src/wallet/xfsc_wallet.py new file mode 100644 index 0000000..b699aa1 --- /dev/null +++ b/src/wallet/xfsc_wallet.py @@ -0,0 +1,11 @@ +from wallet import WalletConnector + + +class XFSCWallet(WalletConnector): + """ + Abstraction XFSC wallet, called Organization Credential Manager. + See https://projects.eclipse.org/projects/technology.xfsc + """ + + def get_provider_cred_did(self, service_offering: str) -> str: + return super().get_provider_cred_did(service_offering) From c9ec405830a37c53fcbccac29ab55bb85ad68686 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 17 Nov 2023 11:11:15 +0100 Subject: [PATCH 148/175] Update vm image generations Signed-off-by: Anja Strunk --- generator/cli.py | 49 + generator/common/const.py | 4 + generator/common/gx_schema.py | 7710 +++++++++++++- .../openstack/discovery_vm_images.py | 87 + .../discovery/openstack/opentack_discovery.py | 2 +- {src => generator}/test.py | 0 {src => generator}/wallet/file_wallet.py | 0 {src => generator}/wallet/wallet.py | 0 {src => generator}/wallet/xfsc_wallet.py | 0 src/cli.py | 30 - src/common/gx_schema.py | 8957 ----------------- src/iaas/gen_vm_image.py | 0 src/iaas/opentack_connector.py | 15 - 13 files changed, 7844 insertions(+), 9010 deletions(-) create mode 100644 generator/cli.py create mode 100644 generator/discovery/openstack/discovery_vm_images.py rename {src => generator}/test.py (100%) rename {src => generator}/wallet/file_wallet.py (100%) rename {src => generator}/wallet/wallet.py (100%) rename {src => generator}/wallet/xfsc_wallet.py (100%) delete mode 100644 src/cli.py delete mode 100644 src/common/gx_schema.py delete mode 100644 src/iaas/gen_vm_image.py delete mode 100644 src/iaas/opentack_connector.py diff --git a/generator/cli.py b/generator/cli.py new file mode 100644 index 0000000..b363ee3 --- /dev/null +++ b/generator/cli.py @@ -0,0 +1,49 @@ +import click +import openstack as os +import sys + +from generator.discovery.openstack.opentack_discovery import OsCloud + + +@click.group() +def cli(): + pass + + +@click.command() +@click.option('--timeout', default=12, help='Timeout for API calls in seconds') +@click.argument('cloud') +def openstack(cloud, timeout): + """Generates Gaia-X Credentials for openstack cloud CLOUD. + CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" + + # init Openstack Connections + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) + try: + conn.authorize() + except Exception: + print("INFO: Retry connection with 'default' domain", file=sys.stderr) + conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, + default_domain='default', project_domain_id='default') + conn.authorize() + + # generate Gaia-X Credentials + os_cloud = OsCloud(conn) + props = os_cloud.discover_properties() + + + + + + +@click.command() +def kubernetes(): + """Generates Gaia-X Credentials for kubernetes.""" + pass + + +cli.add_command(openstack) +cli.add_command(kubernetes) + +if __name__ == '__main__': + cli() diff --git a/generator/common/const.py b/generator/common/const.py index e9095f0..878add2 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -47,3 +47,7 @@ CONFIG_OS_WINDOWS = "Microsoft Windows" CONFIG_OS_CIRROS = "CirrOS" CONFIG_OS_ALMALINUX = "AlmaLinux" +DEFAULT_RESOURCE_POLICY = "default: allow intent" + +UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index ed19582..ed65f19 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,9 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +<<<<<<< HEAD # Generation date: 2024-01-05T13:21:25 +======= +# Generation date: 2023-11-17T10:12:38 +>>>>>>> Update vm image generations # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -8,6 +12,7 @@ import dataclasses import re +<<<<<<< HEAD from dataclasses import dataclass from typing import Any, ClassVar, Dict, List, Optional, Union @@ -49,6 +54,23 @@ extended_str, ) from rdflib import Namespace, URIRef +======= +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +>>>>>>> Update vm image generations metamodel_version = "1.7.0" version = None @@ -57,17 +79,28 @@ dataclasses._init_fn = dataclasses_init_fn_with_kwargs # Namespaces +<<<<<<< HEAD GX = CurieNamespace("gx", "http://w3id.org/gaia-x/gx-trust-framework/") LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/") QUDT = CurieNamespace("qudt", "http://qudt.org/vocab/") SCHEMA = CurieNamespace("schema", "http://schema.org/") VCARD = CurieNamespace("vcard", "http://www.w3.org/2006/vcard/ns#") +======= +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +>>>>>>> Update vm image generations DEFAULT_ = GX # Types +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations # Class references class LocalRegistrationNumberLocal(extended_str): pass @@ -97,10 +130,16 @@ class GaiaX(YAMLRoot): """ Top level element of Gaia-X ecosystem. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaX"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:GaiaX" class_name: ClassVar[str] = "GaiaX" class_model_uri: ClassVar[URIRef] = GX.GaiaX @@ -111,18 +150,28 @@ class Address(YAMLRoot): """ Full address of the entity. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = VCARD["Address"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "vcard:Address" class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None +<<<<<<< HEAD gps: Optional[ Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]] ] = empty_list() +======= + gps: Optional[str] = None +>>>>>>> Update vm image generations streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -133,9 +182,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) +<<<<<<< HEAD self._normalize_inlined_as_dict( slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False ) +======= + if self.gps is not None and not isinstance(self.gps, str): + self.gps = str(self.gps) +>>>>>>> Update vm image generations if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -150,6 +204,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass +<<<<<<< HEAD class GPSLocation(YAMLRoot): """ Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. @@ -224,14 +279,22 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass +======= +>>>>>>> Update vm image generations class GaiaXEntity(YAMLRoot): """ Root class for Gaia-X entities. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:GaiaXEntity" class_name: ClassVar[str] = "GaiaXEntity" class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity @@ -254,10 +317,16 @@ class Encryption(YAMLRoot): """ Encryption capabilities of a Gaia-X entity. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Encryption"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Encryption" class_name: ClassVar[str] = "Encryption" class_model_uri: ClassVar[URIRef] = GX.Encryption @@ -284,16 +353,26 @@ class CheckSum(YAMLRoot): """ Detail on how to calculate or verify a checksum. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CheckSum"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:CheckSum" class_name: ClassVar[str] = "CheckSum" class_model_uri: ClassVar[URIRef] = GX.CheckSum checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None +<<<<<<< HEAD checkSumValue: str = None +======= + checkSum: str = None +>>>>>>> Update vm image generations def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.checkSumCalculation): @@ -301,10 +380,17 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) +<<<<<<< HEAD if self._is_empty(self.checkSumValue): self.MissingRequiredField("checkSumValue") if not isinstance(self.checkSumValue, str): self.checkSumValue = str(self.checkSumValue) +======= + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -313,11 +399,16 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class Signature(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] +<<<<<<< HEAD class_class_uri: ClassVar[URIRef] = GX["Signature"] +======= + class_class_uri: ClassVar[URIRef] = GX.Signature +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Signature" class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature +<<<<<<< HEAD signatureValue: str = None hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None @@ -332,6 +423,16 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.MissingRequiredField("hashAlgorithm") if not isinstance(self.hashAlgorithm, ChecksumAlgorithm): self.hashAlgorithm = ChecksumAlgorithm(self.hashAlgorithm) +======= + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) +>>>>>>> Update vm image generations if self._is_empty(self.signatureAlgorithm): self.MissingRequiredField("signatureAlgorithm") @@ -346,10 +447,16 @@ class Device(YAMLRoot): """ Details with respect to properties and capabilities of a hardware or virtualized device. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Device"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Device" class_name: ClassVar[str] = "Device" class_model_uri: ClassVar[URIRef] = GX.Device @@ -357,7 +464,11 @@ class Device(YAMLRoot): vendor: Optional[str] = None generation: Optional[str] = None defaultOversubscriptionRatio: Optional[int] = None +<<<<<<< HEAD supportedOversubscriptionRatio: Optional[int] = None +======= + supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() +>>>>>>> Update vm image generations def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.vendor is not None and not isinstance(self.vendor, str): @@ -366,6 +477,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.generation is not None and not isinstance(self.generation, str): self.generation = str(self.generation) +<<<<<<< HEAD if self.defaultOversubscriptionRatio is not None and not isinstance( self.defaultOversubscriptionRatio, int ): @@ -377,6 +489,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.supportedOversubscriptionRatio = int( self.supportedOversubscriptionRatio ) +======= + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if not isinstance(self.supportedOversubscriptionRatio, list): + self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] + self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -386,10 +506,16 @@ class CPU(Device): """ Computational processing unit of virtual and physical machines. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CPU"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:CPU" class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU @@ -405,9 +531,13 @@ class CPU(Device): thermalDesignPower: Optional[Union[dict, "Power"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): +<<<<<<< HEAD if self.cpuArchitecture is not None and not isinstance( self.cpuArchitecture, Architectures ): +======= + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): +>>>>>>> Update vm image generations self.cpuArchitecture = Architectures(self.cpuArchitecture) if not isinstance(self.cpuFlag, list): @@ -420,6 +550,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): self.numberOfCores = int(self.numberOfCores) +<<<<<<< HEAD if self.numberOfThreads is not None and not isinstance( self.numberOfThreads, int ): @@ -443,6 +574,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.thermalDesignPower is not None and not isinstance( self.thermalDesignPower, Power ): +======= + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): +>>>>>>> Update vm image generations self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) super().__post_init__(**kwargs) @@ -453,10 +599,16 @@ class Disk(Device): """ Capabilities of a physical or virtual hard drive. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Disk"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Disk" class_name: ClassVar[str] = "Disk" class_model_uri: ClassVar[URIRef] = GX.Disk @@ -485,36 +637,54 @@ class Endpoint(YAMLRoot): """ An endpoint is a mean to access and interact with a service or a resource. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Endpoint"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Endpoint" class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint +<<<<<<< HEAD standardConformity: Union[ Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]] ] = None +======= + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None +>>>>>>> Update vm image generations endpointURL: Optional[Union[str, URI]] = None formalDescription: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.standardConformity): self.MissingRequiredField("standardConformity") +<<<<<<< HEAD self._normalize_inlined_as_dict( slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False, ) +======= + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) +>>>>>>> Update vm image generations if self.endpointURL is not None and not isinstance(self.endpointURL, URI): self.endpointURL = URI(self.endpointURL) +<<<<<<< HEAD if self.formalDescription is not None and not isinstance( self.formalDescription, str ): +======= + if self.formalDescription is not None and not isinstance(self.formalDescription, str): +>>>>>>> Update vm image generations self.formalDescription = str(self.formalDescription) super().__post_init__(**kwargs) @@ -525,16 +695,26 @@ class GPU(Device): """ Graphical processing unit of virtual and physical machines. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPU"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:GPU" class_name: ClassVar[str] = "GPU" class_model_uri: ClassVar[URIRef] = GX.GPU gpuMemory: Optional[Union[dict, "MemorySize"]] = None +<<<<<<< HEAD gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" +======= + gpuInterconnection: Optional[str] = "\"none\"" +>>>>>>> Update vm image generations gpuProcessingUnits: Optional[int] = None gpuPassthrough: Optional[Union[bool, Bool]] = False @@ -542,6 +722,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) +<<<<<<< HEAD if self.gpuInterconnection is not None and not isinstance( self.gpuInterconnection, GPUInterconnetionTypes ): @@ -555,6 +736,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuPassthrough is not None and not isinstance( self.gpuPassthrough, Bool ): +======= + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): + self.gpuInterconnection = str(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): +>>>>>>> Update vm image generations self.gpuPassthrough = Bool(self.gpuPassthrough) super().__post_init__(**kwargs) @@ -565,10 +755,16 @@ class MaintenanceSubscription(YAMLRoot): """ A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" class_name: ClassVar[str] = "MaintenanceSubscription" class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription @@ -578,6 +774,7 @@ class MaintenanceSubscription(YAMLRoot): maintainedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): +<<<<<<< HEAD if self.subscriptionIncluded is not None and not isinstance( self.subscriptionIncluded, Bool ): @@ -591,6 +788,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.maintainedUntil is not None and not isinstance( self.maintainedUntil, XSDDate ): +======= + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): +>>>>>>> Update vm image generations self.maintainedUntil = XSDDate(self.maintainedUntil) super().__post_init__(**kwargs) @@ -605,10 +811,16 @@ class UpdateStrategy(YAMLRoot): referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:UpdateStrategy" class_name: ClassVar[str] = "UpdateStrategy" class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy @@ -619,17 +831,25 @@ class UpdateStrategy(YAMLRoot): providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): +<<<<<<< HEAD if self.replaceFrequency is not None and not isinstance( self.replaceFrequency, UpdateFrequency ): +======= + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): +>>>>>>> Update vm image generations self.replaceFrequency = UpdateFrequency(self.replaceFrequency) if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): self.hotfixHours = int(self.hotfixHours) +<<<<<<< HEAD if self.oldVersionsValidUntil is not None and not isinstance( self.oldVersionsValidUntil, str ): +======= + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): +>>>>>>> Update vm image generations self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) if self.providedUntil is not None and not isinstance(self.providedUntil, str): @@ -643,10 +863,16 @@ class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LatestN"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LatestN +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:LatestN" class_name: ClassVar[str] = "Latest_N" class_model_uri: ClassVar[URIRef] = GX.LatestN @@ -664,10 +890,16 @@ class InstantiationRequirement(YAMLRoot): """ A container class to gather all requirements for compute service offering instantiations. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" class_name: ClassVar[str] = "InstantiationRequirement" class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement @@ -678,10 +910,16 @@ class Issuer(YAMLRoot): """ An issuer of W3C Verifiable Credentials and Verifiable Presentations. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Issuer"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Issuer" class_name: ClassVar[str] = "Issuer" class_model_uri: ClassVar[URIRef] = GX.Issuer @@ -692,9 +930,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.issuerTermsAndConditions): self.MissingRequiredField("issuerTermsAndConditions") if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): +<<<<<<< HEAD self.issuerTermsAndConditions = GaiaXTermsAndConditions( self.issuerTermsAndConditions ) +======= + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -704,10 +946,16 @@ class RegistrationNumber(YAMLRoot): Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:RegistrationNumber" class_name: ClassVar[str] = "RegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber @@ -717,7 +965,11 @@ class RegistrationNumber(YAMLRoot): class LocalRegistrationNumber(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] +<<<<<<< HEAD class_class_uri: ClassVar[URIRef] = GX["LocalRegistrationNumber"] +======= + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" class_name: ClassVar[str] = "LocalRegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber @@ -737,7 +989,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class VatID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] +<<<<<<< HEAD class_class_uri: ClassVar[URIRef] = GX["VatID"] +======= + class_class_uri: ClassVar[URIRef] = GX.VatID +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:VatID" class_name: ClassVar[str] = "VatID" class_model_uri: ClassVar[URIRef] = GX.VatID @@ -757,7 +1013,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class LeiCode(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] +<<<<<<< HEAD class_class_uri: ClassVar[URIRef] = GX["LeiCode"] +======= + class_class_uri: ClassVar[URIRef] = GX.LeiCode +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:LeiCode" class_name: ClassVar[str] = "LeiCode" class_model_uri: ClassVar[URIRef] = GX.LeiCode @@ -777,7 +1037,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EORI(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] +<<<<<<< HEAD class_class_uri: ClassVar[URIRef] = GX["EORI"] +======= + class_class_uri: ClassVar[URIRef] = GX.EORI +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:EORI" class_name: ClassVar[str] = "EORI" class_model_uri: ClassVar[URIRef] = GX.EORI @@ -797,7 +1061,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EUID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] +<<<<<<< HEAD class_class_uri: ClassVar[URIRef] = GX["EUID"] +======= + class_class_uri: ClassVar[URIRef] = GX.EUID +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:EUID" class_name: ClassVar[str] = "EUID" class_model_uri: ClassVar[URIRef] = GX.EUID @@ -818,10 +1086,16 @@ class Memory(Device): """ Details with respect to properties and capabilities of RAM. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Memory"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Memory" class_name: ClassVar[str] = "Memory" class_model_uri: ClassVar[URIRef] = GX.Memory @@ -838,9 +1112,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.memorySize, MemorySize): self.memorySize = MemorySize(**as_dict(self.memorySize)) +<<<<<<< HEAD if self.memoryClass is not None and not isinstance( self.memoryClass, MemoryClasses ): +======= + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): +>>>>>>> Update vm image generations self.memoryClass = MemoryClasses(self.memoryClass) if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): @@ -849,9 +1127,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): self.eccEnabled = Bool(self.eccEnabled) +<<<<<<< HEAD if self.hardwareEncryption is not None and not isinstance( self.hardwareEncryption, Bool ): +======= + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): +>>>>>>> Update vm image generations self.hardwareEncryption = Bool(self.hardwareEncryption) super().__post_init__(**kwargs) @@ -862,16 +1144,26 @@ class Quantity(YAMLRoot): """ Abstract parent class for all physical quantities, such as frequency, power or length. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "qudt:Quantity" class_name: ClassVar[str] = "Quantity" class_model_uri: ClassVar[URIRef] = GX.Quantity value: float = None +<<<<<<< HEAD unit: str = None +======= + unit: Union[str, URI] = None +>>>>>>> Update vm image generations def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.value): @@ -881,8 +1173,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.unit): self.MissingRequiredField("unit") +<<<<<<< HEAD if not isinstance(self.unit, str): self.unit = str(self.unit) +======= + if not isinstance(self.unit, URI): + self.unit = URI(self.unit) +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -892,7 +1189,10 @@ class Frequency(Quantity): """ Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. """ +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] @@ -901,32 +1201,49 @@ class Frequency(Quantity): class_model_uri: ClassVar[URIRef] = GX.Frequency value: float = None +<<<<<<< HEAD unit: str = None +======= + unit: Union[str, URI] = None +>>>>>>> Update vm image generations @dataclass class MemorySize(Quantity): """ The number of bits, that can be stored on a digital storage. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MemorySize"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:MemorySize" class_name: ClassVar[str] = "MemorySize" class_model_uri: ClassVar[URIRef] = GX.MemorySize value: float = None +<<<<<<< HEAD unit: str = None +======= + unit: Union[str, URI] = None +>>>>>>> Update vm image generations @dataclass class Power(Quantity): """ Definition of 'Power', according to http://qudt.org/quantitykind/Power. """ +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] @@ -935,17 +1252,27 @@ class Power(Quantity): class_model_uri: ClassVar[URIRef] = GX.Power value: float = None +<<<<<<< HEAD unit: str = None +======= + unit: Union[str, URI] = None +>>>>>>> Update vm image generations class Participant(GaiaXEntity): """ An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Participant"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Participant" class_name: ClassVar[str] = "Participant" class_model_uri: ClassVar[URIRef] = GX.Participant @@ -956,14 +1283,21 @@ class LegalPerson(Participant): """ A legal person, who is uniquely identified by its registration number. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:LegalPerson" class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson +<<<<<<< HEAD registrationNumber: Union[ Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]], @@ -982,11 +1316,19 @@ class LegalPerson(Participant): List[Union[str, LegalPersonRegistrationNumber]], ] ] = empty_list() +======= + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() +>>>>>>> Update vm image generations def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.registrationNumber): self.MissingRequiredField("registrationNumber") if not isinstance(self.registrationNumber, list): +<<<<<<< HEAD self.registrationNumber = ( [self.registrationNumber] if self.registrationNumber is not None else [] ) @@ -996,6 +1338,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): else LegalPersonRegistrationNumber(v) for v in self.registrationNumber ] +======= + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] +>>>>>>> Update vm image generations if self._is_empty(self.legalAddress): self.MissingRequiredField("legalAddress") @@ -1008,6 +1354,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) if not isinstance(self.parentOrganizationOf, list): +<<<<<<< HEAD self.parentOrganizationOf = ( [self.parentOrganizationOf] if self.parentOrganizationOf is not None @@ -1030,6 +1377,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf ] +======= + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -1040,10 +1395,16 @@ class Resource(GaiaXEntity): Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Resource"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Resource" class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource @@ -1052,6 +1413,7 @@ class Resource(GaiaXEntity): def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): +<<<<<<< HEAD self.aggregationOfResources = ( [self.aggregationOfResources] if self.aggregationOfResources is not None @@ -1060,6 +1422,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.aggregationOfResources = [ v if isinstance(v, str) else str(v) for v in self.aggregationOfResources ] +======= + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -1070,10 +1436,16 @@ class VirtualResource(Resource): It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:VirtualResource" class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource @@ -1086,12 +1458,17 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.copyrightOwnedBy): self.MissingRequiredField("copyrightOwnedBy") if not isinstance(self.copyrightOwnedBy, list): +<<<<<<< HEAD self.copyrightOwnedBy = ( [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] ) self.copyrightOwnedBy = [ v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy ] +======= + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] +>>>>>>> Update vm image generations if self._is_empty(self.license): self.MissingRequiredField("license") @@ -1102,12 +1479,17 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.resourcePolicy): self.MissingRequiredField("resourcePolicy") if not isinstance(self.resourcePolicy, list): +<<<<<<< HEAD self.resourcePolicy = ( [self.resourcePolicy] if self.resourcePolicy is not None else [] ) self.resourcePolicy = [ v if isinstance(v, str) else str(v) for v in self.resourcePolicy ] +======= + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -1118,14 +1500,21 @@ class PhysicalResource(Resource): A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:PhysicalResource" class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource +<<<<<<< HEAD maintainedBy: Union[ Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]], @@ -1143,11 +1532,18 @@ class PhysicalResource(Resource): List[Union[str, LegalPersonRegistrationNumber]], ] ] = empty_list() +======= + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() +>>>>>>> Update vm image generations def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.maintainedBy): self.MissingRequiredField("maintainedBy") if not isinstance(self.maintainedBy, list): +<<<<<<< HEAD self.maintainedBy = ( [self.maintainedBy] if self.maintainedBy is not None else [] ) @@ -1183,6 +1579,22 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy ] +======= + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -1192,10 +1604,16 @@ class SoftwareResource(VirtualResource): """ A Gaia-X Virtual Resource describing an executable program. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:SoftwareResource" class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource @@ -1233,10 +1651,16 @@ class CodeArtifact(SoftwareResource): """ A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:CodeArtifact" class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact @@ -1245,17 +1669,26 @@ class CodeArtifact(SoftwareResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations @dataclass class Image(CodeArtifact): """ A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Image"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Image" class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image @@ -1271,7 +1704,10 @@ class Image(CodeArtifact): videoRamSize: Optional[Union[dict, "MemorySize"]] = None rootDiskReq: Optional[Union[dict, Disk]] = None encryption: Optional[Union[dict, Encryption]] = None +<<<<<<< HEAD checkSum: Optional[Union[dict, CheckSum]] = None +======= +>>>>>>> Update vm image generations secureBoot: Optional[Union[bool, Bool]] = False vPMU: Optional[Union[bool, Bool]] = False multiQueues: Optional[Union[bool, Bool]] = False @@ -1283,9 +1719,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): self.fileSize = MemorySize(**as_dict(self.fileSize)) +<<<<<<< HEAD if self.operatingSystem is not None and not isinstance( self.operatingSystem, OperatingSystem ): +======= + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): +>>>>>>> Update vm image generations self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): @@ -1297,9 +1737,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.ramReq is not None and not isinstance(self.ramReq, Memory): self.ramReq = Memory(**as_dict(self.ramReq)) +<<<<<<< HEAD if self.videoRamSize is not None and not isinstance( self.videoRamSize, MemorySize ): +======= + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): +>>>>>>> Update vm image generations self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): @@ -1308,9 +1752,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.encryption is not None and not isinstance(self.encryption, Encryption): self.encryption = Encryption(**as_dict(self.encryption)) +<<<<<<< HEAD if self.checkSum is not None and not isinstance(self.checkSum, CheckSum): self.checkSum = CheckSum(**as_dict(self.checkSum)) +======= +>>>>>>> Update vm image generations if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): self.secureBoot = Bool(self.secureBoot) @@ -1320,6 +1767,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): self.multiQueues = Bool(self.multiQueues) +<<<<<<< HEAD if self.updateStrategy is not None and not isinstance( self.updateStrategy, UpdateStrategy ): @@ -1333,6 +1781,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.maintenance is not None and not isinstance( self.maintenance, MaintenanceSubscription ): +======= + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): +>>>>>>> Update vm image generations self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) super().__post_init__(**kwargs) @@ -1343,10 +1800,16 @@ class PXEImage(Image): """ PXE image for physical machines. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PXEImage"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:PXEImage" class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage @@ -1354,12 +1817,19 @@ class PXEImage(Image): copyrightOwnedBy: Union[str, List[str]] = None license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None +<<<<<<< HEAD pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.pxeImageDiskFormat is not None and not isinstance( self.pxeImageDiskFormat, PXEDiskType ): +======= + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): +>>>>>>> Update vm image generations self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) super().__post_init__(**kwargs) @@ -1370,10 +1840,16 @@ class OperatingSystem(SoftwareResource): """ A special Gaia-X Software Resource describing an operating system. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:OperatingSystem" class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem @@ -1397,10 +1873,16 @@ class Hypervisor(SoftwareResource): """ A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:Hypervisor" class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor @@ -1424,15 +1906,22 @@ class ServiceOffering(GaiaXEntity): """ A digital service available for order. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:ServiceOffering" class_name: ClassVar[str] = "ServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None +<<<<<<< HEAD serviceOfferingTermsAndConditions: Union[ Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] ] = None @@ -1448,6 +1937,14 @@ class ServiceOffering(GaiaXEntity): List[Union[str, "PersonalDataProtectionRegime"]], ] ] = empty_list() +======= + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() +>>>>>>> Update vm image generations keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None @@ -1461,16 +1958,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.serviceOfferingTermsAndConditions): self.MissingRequiredField("serviceOfferingTermsAndConditions") +<<<<<<< HEAD self._normalize_inlined_as_dict( slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False, ) +======= + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) +>>>>>>> Update vm image generations if self._is_empty(self.servicePolicy): self.MissingRequiredField("servicePolicy") if not isinstance(self.servicePolicy, list): +<<<<<<< HEAD self.servicePolicy = ( [self.servicePolicy] if self.servicePolicy is not None else [] ) @@ -1486,12 +1988,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): key_name="requestType", keyed=False, ) +======= + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) +>>>>>>> Update vm image generations if not isinstance(self.dependsOn, list): self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] if not isinstance(self.aggregationOfResources, list): +<<<<<<< HEAD self.aggregationOfResources = ( [self.aggregationOfResources] if self.aggregationOfResources is not None @@ -1513,14 +2024,26 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime ] +======= + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] +>>>>>>> Update vm image generations if not isinstance(self.keyword, list): self.keyword = [self.keyword] if self.keyword is not None else [] self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] +<<<<<<< HEAD if self.provisionType is not None and not isinstance( self.provisionType, ProvisionTypes ): +======= + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): +>>>>>>> Update vm image generations self.provisionType = ProvisionTypes(self.provisionType) if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): @@ -1538,15 +2061,22 @@ class InfrastructureServiceOffering(ServiceOffering): """ A digital service available for order and offering computational, storage and/pr network capabilities. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" class_name: ClassVar[str] = "InfrastructureServiceOffering" class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None +<<<<<<< HEAD serviceOfferingTermsAndConditions: Union[ Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] ] = None @@ -1555,21 +2085,33 @@ class InfrastructureServiceOffering(ServiceOffering): ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" +======= + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" +>>>>>>> Update vm image generations @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): """ A digital service available for order and offering computational capabilities. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" class_name: ClassVar[str] = "ComputeServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None +<<<<<<< HEAD serviceOfferingTermsAndConditions: Union[ Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] ] = None @@ -1583,6 +2125,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.tenantSeparation is not None and not isinstance( self.tenantSeparation, TenantSeparation ): +======= + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): +>>>>>>> Update vm image generations self.tenantSeparation = TenantSeparation(self.tenantSeparation) super().__post_init__(**kwargs) @@ -1593,15 +2144,22 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ A digital service available for order and offering computational capabilities. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" class_name: ClassVar[str] = "VirtualMachineServiceOffering" class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None +<<<<<<< HEAD serviceOfferingTermsAndConditions: Union[ Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] ] = None @@ -1613,10 +2171,18 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]] ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" +======= + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" +>>>>>>> Update vm image generations def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): self.MissingRequiredField("codeArtifact") +<<<<<<< HEAD self._normalize_inlined_as_dict( slot_name="codeArtifact", slot_type=VMImage, @@ -1632,6 +2198,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): key_name="cpu", keyed=False, ) +======= + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) +>>>>>>> Update vm image generations super().__post_init__(**kwargs) @@ -1641,10 +2214,16 @@ class TermsAndConditions(YAMLRoot): """ Terms and Conditions applying to a service offering. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:TermsAndConditions" class_name: ClassVar[str] = "TermsAndConditions" class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions @@ -1671,10 +2250,16 @@ class DataAccountExport(YAMLRoot): """ List of methods to export data from your account out of the service. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:DataAccountExport" class_name: ClassVar[str] = "DataAccountExport" class_model_uri: ClassVar[URIRef] = GX.DataAccountExport @@ -1707,10 +2292,16 @@ class StandardConformity(YAMLRoot): """ Details about standard applied to Gaia-X entities. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:StandardConformity" class_name: ClassVar[str] = "StandardConformity" class_model_uri: ClassVar[URIRef] = GX.StandardConformity @@ -1737,6 +2328,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass +<<<<<<< HEAD class DataResource(VirtualResource): """ A dataset exposed through a service instance. @@ -1888,14 +2480,22 @@ class DataExchangeComponent(YAMLRoot): @dataclass +======= +>>>>>>> Update vm image generations class VMImage(Image): """ Image for virtual machines. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VMImage"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:VMImage" class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage @@ -1910,6 +2510,7 @@ class VMImage(Image): watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): +<<<<<<< HEAD if self.vmImageDiskFormat is not None and not isinstance( self.vmImageDiskFormat, VMDiskType ): @@ -1933,6 +2534,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.watchDogAction is not None and not isinstance( self.watchDogAction, WatchDogActions ): +======= + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): +>>>>>>> Update vm image generations self.watchDogAction = WatchDogActions(self.watchDogAction) super().__post_init__(**kwargs) @@ -1944,10 +2560,16 @@ class ServerFlavor(YAMLRoot): Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched. """ +<<<<<<< HEAD _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] +======= + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:ServerFlavor" class_name: ClassVar[str] = "ServerFlavor" class_model_uri: ClassVar[URIRef] = GX.ServerFlavor @@ -1957,9 +2579,13 @@ class ServerFlavor(YAMLRoot): bootVolume: Union[dict, Disk] = None gpu: Optional[Union[dict, GPU]] = None network: Optional[str] = None +<<<<<<< HEAD additionalVolume: Optional[ Union[Union[dict, Disk], List[Union[dict, Disk]]] ] = empty_list() +======= + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() +>>>>>>> Update vm image generations confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None hypervisor: Optional[Union[dict, SoftwareResource]] = None hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False @@ -1987,6 +2613,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.network is not None and not isinstance(self.network, str): self.network = str(self.network) +<<<<<<< HEAD self._normalize_inlined_as_dict( slot_name="additionalVolume", slot_type=Disk, @@ -2016,6 +2643,20 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.hwRngTypeOfFlavor is not None and not isinstance( self.hwRngTypeOfFlavor, RNGTypes ): +======= + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): +>>>>>>> Update vm image generations self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) super().__post_init__(**kwargs) @@ -2025,7 +2666,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class ConfidentialComputing(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] +<<<<<<< HEAD class_class_uri: ClassVar[URIRef] = GX["ConfidentialComputing"] +======= + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing +>>>>>>> Update vm image generations class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" class_name: ClassVar[str] = "ConfidentialComputing" class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing @@ -2039,9 +2684,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.technology, str): self.technology = str(self.technology) +<<<<<<< HEAD if self.attestationServiceURI is not None and not isinstance( self.attestationServiceURI, URI ): +======= + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): +>>>>>>> Update vm image generations self.attestationServiceURI = URI(self.attestationServiceURI) super().__post_init__(**kwargs) @@ -2049,6 +2698,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): # Enumerations class CountryNameAlpha2(EnumDefinitionImpl): +<<<<<<< HEAD AF = PermissibleValue(text="AF", description="Alpha2 code for Afghanistan.") EG = PermissibleValue(text="EG", description="Alpha2 code for Egypt.") AX = PermissibleValue(text="AX", description="Alpha2 code for Aland Islands.") @@ -2386,6 +3036,753 @@ class CountryNameAlpha2(EnumDefinitionImpl): text="CF", description="Alpha2 code for Central African Republic (the)." ) CY = PermissibleValue(text="CY", description="Alpha2 code for Cyprus.") +======= + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="CountryNameAlpha2", @@ -2393,6 +3790,7 @@ class CountryNameAlpha2(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr( cls, "False", @@ -2754,19 +4152,787 @@ class CountryNameAlpha3(EnumDefinitionImpl): ZMB = PermissibleValue(text="ZMB", description="Alpha3 code for Zambia.") ZWE = PermissibleValue(text="ZWE", description="Alpha3 code for Zimbabwe.") XKX = PermissibleValue(text="XKX", description="Alpha3 code for Kosovo.") +======= + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="CountryNameAlpha3", ) +<<<<<<< HEAD class CountryNameNumeric(EnumDefinitionImpl): +======= +class CountryNameNumeric(EnumDefinitionImpl): + +>>>>>>> Update vm image generations _defn = EnumDefinition( name="CountryNameNumeric", ) @classmethod def _addvals(cls): +<<<<<<< HEAD setattr( cls, "4", @@ -4160,21 +6326,1047 @@ def _addvals(cls): class EncryptionAlgorithm(EnumDefinitionImpl): - RSA = PermissibleValue(text="RSA", description="TBD") - AES = PermissibleValue(text="AES", description="TBD") - Blowfish = PermissibleValue(text="Blowfish", description="TBD") - Twofish = PermissibleValue(text="Twofish", description="TBD") - SDA = PermissibleValue(text="SDA", description="TBD") + RSA = PermissibleValue(text="RSA", description="TBD") + AES = PermissibleValue(text="AES", description="TBD") + Blowfish = PermissibleValue(text="Blowfish", description="TBD") + Twofish = PermissibleValue(text="Twofish", description="TBD") + SDA = PermissibleValue(text="SDA", description="TBD") + other = PermissibleValue( + text="other", description="Algorithm for encryption not further described." + ) + +======= + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + other = PermissibleValue( + text="other", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") other = PermissibleValue( - text="other", description="Algorithm for encryption not further described." - ) + text="other", + description="Algorithm for enchryption not further described.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="EncryptionAlgorithm", ) @classmethod def _addvals(cls): +<<<<<<< HEAD setattr(cls, "3DES", PermissibleValue(text="3DES", description="TBD")) @@ -4186,6 +7378,27 @@ class ChecksumAlgorithm(EnumDefinitionImpl): text="other", description="Algorithm to calcualte checksum not further described.", ) +======= + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="ChecksumAlgorithm", @@ -4193,6 +7406,7 @@ class ChecksumAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr(cls, "sha-1", PermissibleValue(text="sha-1", description="TBD")) setattr(cls, "sha-224", PermissibleValue(text="sha-224", description="TBD")) setattr(cls, "sha-256", PermissibleValue(text="sha-256", description="TBD")) @@ -4217,11 +7431,38 @@ class KeyManagement(EnumDefinitionImpl): text="managed", description="managed: Keys are created by and stored in key manager of cloud.", ) +======= + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="KeyManagement", ) +<<<<<<< HEAD class SignatureAlgorithm(EnumDefinitionImpl): ECDSA = PermissibleValue(text="ECDSA", description="TBD") @@ -4230,6 +7471,19 @@ class SignatureAlgorithm(EnumDefinitionImpl): text="other", description="Algorithm for digital signatures not further described.", ) +======= +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="SignatureAlgorithm", @@ -4237,6 +7491,7 @@ class SignatureAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr( cls, "RSA-Signature", @@ -4271,18 +7526,43 @@ class GPUInterconnetionTypes(EnumDefinitionImpl): _defn = EnumDefinition( name="GPUInterconnetionTypes", +======= + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", +>>>>>>> Update vm image generations ) @classmethod def _addvals(cls): +<<<<<<< HEAD setattr(cls, "Xe Link", PermissibleValue(text="Xe Link")) setattr(cls, "Infinity Fabric", PermissibleValue(text="Infinity Fabric")) +======= + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) +>>>>>>> Update vm image generations class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. """ +<<<<<<< HEAD yearly = PermissibleValue( text="yearly", description="Image will be updated at least once per year." @@ -4300,51 +7580,98 @@ class UpdateFrequency(EnumDefinitionImpl): text="critical_bug", description="Image will be updated for critical bugs only." ) never = PermissibleValue(text="never", description="Image will never be updated.") +======= + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="UpdateFrequency", description="Possible values for image's update frequency.", ) +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations class Validity1(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ +<<<<<<< HEAD none = PermissibleValue(text="none", description="No information are given.") notice = PermissibleValue( text="notice", description="Outdated version of the image will remain valid until a deprecation notice will be published.", ) +======= + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="Validity1", description="Possible values for definition of image's validity after upgrading to a new version.", ) +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations class Validity2(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ +<<<<<<< HEAD forever = PermissibleValue( text="forever", description="Outdated version of the image will remain valid for as long as the cloud operates.", ) +======= + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="Validity2", description="Possible values for definition of image's validity after upgrading to a new version.", ) +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations class GaiaXTermsAndConditions(EnumDefinitionImpl): """ SHA256 check sum of Gaia-X Terms and Conditions. """ +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations _defn = EnumDefinition( name="GaiaXTermsAndConditions", description="SHA256 check sum of Gaia-X Terms and Conditions.", @@ -4352,6 +7679,7 @@ class GaiaXTermsAndConditions(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr( cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", @@ -4362,6 +7690,13 @@ def _addvals(cls): class MemoryClasses(EnumDefinitionImpl): +======= + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + +>>>>>>> Update vm image generations DDR4 = PermissibleValue(text="DDR4") DDR5 = PermissibleValue(text="DDR5") GDDR5 = PermissibleValue(text="GDDR5") @@ -4372,8 +7707,13 @@ class MemoryClasses(EnumDefinitionImpl): name="MemoryClasses", ) +<<<<<<< HEAD class MemoryRanks(EnumDefinitionImpl): +======= +class MemoryRanks(EnumDefinitionImpl): + +>>>>>>> Update vm image generations other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4382,6 +7722,7 @@ class MemoryRanks(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr(cls, "1R RDIMM", PermissibleValue(text="1R RDIMM")) setattr(cls, "2R RDIMM", PermissibleValue(text="2R RDIMM")) setattr(cls, "4R LRDIMM", PermissibleValue(text="4R LRDIMM")) @@ -4389,6 +7730,19 @@ def _addvals(cls): class PXEDiskType(EnumDefinitionImpl): +======= + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + +>>>>>>> Update vm image generations WINPE = PermissibleValue(text="WINPE") ISO = PermissibleValue(text="ISO") @@ -4396,8 +7750,13 @@ class PXEDiskType(EnumDefinitionImpl): name="PXEDiskType", ) +<<<<<<< HEAD class SPDX(EnumDefinitionImpl): +======= +class SPDX(EnumDefinitionImpl): + +>>>>>>> Update vm image generations AAL = PermissibleValue(text="AAL") Abstyles = PermissibleValue(text="Abstyles") ADSL = PermissibleValue(text="ADSL") @@ -4549,6 +7908,7 @@ class SPDX(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr(cls, "0BSD", PermissibleValue(text="0BSD")) setattr(cls, "AdaCore-doc", PermissibleValue(text="AdaCore-doc")) setattr(cls, "Adobe-2006", PermissibleValue(text="Adobe-2006")) @@ -5110,6 +8470,777 @@ class OSDistribution(EnumDefinitionImpl): Possible values for operating system distribution. """ +======= + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operationg system distribution. + """ +>>>>>>> Update vm image generations Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") FreeBSD = PermissibleValue(text="FreeBSD") @@ -5119,6 +9250,7 @@ class OSDistribution(EnumDefinitionImpl): OpenSolaris = PermissibleValue(text="OpenSolaris") openSUSE = PermissibleValue(text="openSUSE") Ubuntu = PermissibleValue(text="Ubuntu") +<<<<<<< HEAD CirrOS = PermissibleValue(text="CirrOS") AlmaLinux = PermissibleValue(text="AlmaLinux") others = PermissibleValue(text="others") @@ -5126,10 +9258,17 @@ class OSDistribution(EnumDefinitionImpl): _defn = EnumDefinition( name="OSDistribution", description="Possible values for operating system distribution.", +======= + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operationg system distribution.", +>>>>>>> Update vm image generations ) @classmethod def _addvals(cls): +<<<<<<< HEAD setattr(cls, "Alpine Linux", PermissibleValue(text="Alpine Linux")) setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) setattr(cls, "CentOS Linux", PermissibleValue(text="CentOS Linux")) @@ -5155,12 +9294,41 @@ def _addvals(cls): ) setattr(cls, "Microsoft Windows", PermissibleValue(text="Microsoft Windows")) +======= + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) +>>>>>>> Update vm image generations class HypervisorType(EnumDefinitionImpl): """ Possible values for hypervisor types. """ +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations quemu = PermissibleValue(text="quemu") KVM = PermissibleValue(text="KVM") Xen = PermissibleValue(text="Xen") @@ -5174,6 +9342,7 @@ class HypervisorType(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr(cls, "Hyper-V", PermissibleValue(text="Hyper-V")) setattr(cls, "Cloud Hypervisor", PermissibleValue(text="Cloud Hypervisor")) @@ -5195,13 +9364,42 @@ class PersonalDataProtectionRegime(EnumDefinitionImpl): VCDPA2021 = PermissibleValue( text="VCDPA2021", description="Virginia Consumer Data Protection Act / US-VA." ) +======= + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="PersonalDataProtectionRegime", ) +<<<<<<< HEAD class RequestTypes(EnumDefinitionImpl): +======= +class RequestTypes(EnumDefinitionImpl): + +>>>>>>> Update vm image generations API = PermissibleValue(text="API") email = PermissibleValue(text="email") webform = PermissibleValue(text="webform") @@ -5213,6 +9411,7 @@ class RequestTypes(EnumDefinitionImpl): name="RequestTypes", ) +<<<<<<< HEAD class AccessTypes(EnumDefinitionImpl): digital = PermissibleValue( @@ -5223,13 +9422,28 @@ class AccessTypes(EnumDefinitionImpl): text="physical", description="Access via physical medium, such as letter or physical appointment.", ) +======= +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="AccessTypes", ) +<<<<<<< HEAD class MIMETypes(EnumDefinitionImpl): +======= +class MIMETypes(EnumDefinitionImpl): + +>>>>>>> Update vm image generations calendar = PermissibleValue(text="calendar") cql = PermissibleValue(text="cql") css = PermissibleValue(text="css") @@ -5381,6 +9595,7 @@ class MIMETypes(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr( cls, "1d-interleaved-parityfec", @@ -9518,14 +13733,3020 @@ class ProvisionTypes(EnumDefinitionImpl): text="hybrid", description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""", ) +======= + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="ProvisionTypes", ) +<<<<<<< HEAD class TenantSeparation(EnumDefinitionImpl): physical = PermissibleValue(text="physical", description="TBD") +======= +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="TenantSeparation", @@ -9533,6 +16754,7 @@ class TenantSeparation(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr( cls, "hw-virtualized", @@ -9559,12 +16781,37 @@ def _addvals(cls): PermissibleValue(text="hw-partitioned", description="TBD"), ) +======= + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) +>>>>>>> Update vm image generations class FirmType(EnumDefinitionImpl): """ Possible values for VM image's firmerequired hypervisor. """ +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") other = PermissibleValue(text="other") @@ -9574,11 +16821,15 @@ class FirmType(EnumDefinitionImpl): description="Possible values for VM image's firmerequired hypervisor.", ) +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations class WatchDogActions(EnumDefinitionImpl): """ Possible values for VM image's watchdog actions. """ +<<<<<<< HEAD disabled = PermissibleValue( text="disabled", @@ -9597,18 +16848,43 @@ class WatchDogActions(EnumDefinitionImpl): text="none", description="Watchdog is enabled, but not action is defined and performed if server hangs.", ) +======= + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="WatchDogActions", description="Possible values for VM image's watchdog actions.", ) +<<<<<<< HEAD class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", description="Hardware random generator is based in electronic quantum effects.", ) +======= +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") +>>>>>>> Update vm image generations _defn = EnumDefinition( name="RNGTypes", @@ -9616,6 +16892,7 @@ class RNGTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): +<<<<<<< HEAD setattr( cls, "Electrical noise", @@ -9651,6 +16928,27 @@ def _addvals(cls): class VMDiskType(EnumDefinitionImpl): +======= + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + +>>>>>>> Update vm image generations RAW = PermissibleValue(text="RAW") QCOW2 = PermissibleValue(text="QCOW2") VHD = PermissibleValue(text="VHD") @@ -9663,11 +16961,15 @@ class VMDiskType(EnumDefinitionImpl): name="VMDiskType", ) +<<<<<<< HEAD +======= +>>>>>>> Update vm image generations # Slots class slots: pass +<<<<<<< HEAD slots.value = Slot( uri=QUDT.value, @@ -11067,3 +18369,397 @@ class slots: domain=None, range=Optional[Union[str, URI]], ) +======= +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), + model_uri=GX.unit, domain=None, range=Union[str, URI]) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[str]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) +>>>>>>> Update vm image generations diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py new file mode 100644 index 0000000..2bec6ca --- /dev/null +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -0,0 +1,87 @@ +from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import VMImage as GX_Image + +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +from typing import List + +import generator.common.const as const + + +class VmDiscovery(): + + def __init__(self, conn: Connection) -> None: + self.conn = conn + + + #def collect_vm_images(self, conn: Connection) -> List[str]: + def discover_vm_images(self) -> List[GX_Image]: + """ + Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. + + @param conn: Connection to openstack cloud VM images are to be collected + @return: list of VM images + """ + + images = list() + for image in self.conn.list_images(): + self._convert_to_gx_image(image) + + return images + + def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: + """ + Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + @param os_image: Openstack image properties + @return: Gaia-X compliant virtual machine image + """ + + # collect all properties + cpu_req = self._get_cpu_req(os_image.architecture) + ram_req = self._get_min_ram_req(os_image.min_ram) + root_disk_req = self._get_min_disk_req(os_image.min_disk) + + return GX_Image(copyrightOwnedBy='TBA', + license="TBA", + resourcePolicy=const.DEFAULT_RESOURCE_POLICY, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + version=os_image.os_version) + + @staticmethod + def _get_cpu_req(arch: str) -> CPU: + if arch == "i686": + return CPU(cpuArchitecture="x86-32") + if arch in ["x86_64", "ia64"]: + return CPU(cpuArchitecture="x86-64") + if arch == "aarch6": + return CPU(cpuArchitecture="AArch-32") + if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return CPU(cpuArchitecture="RISC-V") + return CPU(cpuArchitecture=cpu_arch_types.other) + + @staticmethod + def _get_min_ram_req(min_ram_size: str) -> Memory: + # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. + # But OpenStack uses MiB. + size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize = size) + + @staticmethod + def _get_min_disk_req(disk_size: str) -> Disk: + size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize = size) + + + def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + if os_distro == "arch": + return OperatingSystem(version=os_version, os_distro="Arch Linux") + if os_distro == "centos": + return OperatingSystem(version=os_version, os_distro="CentOS Linux") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 93c0ef4..9533e2e 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -38,4 +38,4 @@ def discover_properties(self) -> List[JsonLdObject]: vm_dis = VmDiscovery(self.conn, self.config) creds.extend(vm_dis.discover_vm_images()) - return creds + return creds \ No newline at end of file diff --git a/src/test.py b/generator/test.py similarity index 100% rename from src/test.py rename to generator/test.py diff --git a/src/wallet/file_wallet.py b/generator/wallet/file_wallet.py similarity index 100% rename from src/wallet/file_wallet.py rename to generator/wallet/file_wallet.py diff --git a/src/wallet/wallet.py b/generator/wallet/wallet.py similarity index 100% rename from src/wallet/wallet.py rename to generator/wallet/wallet.py diff --git a/src/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py similarity index 100% rename from src/wallet/xfsc_wallet.py rename to generator/wallet/xfsc_wallet.py diff --git a/src/cli.py b/src/cli.py deleted file mode 100644 index 0941e59..0000000 --- a/src/cli.py +++ /dev/null @@ -1,30 +0,0 @@ -import click -from iaas.opentack_connector import OpenstackConnector - -@click.group() -def cli(): - pass - - -@click.command() -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') -def openstack(cloud, timeout): - """Generates Gaia-X Credentials for openstack cloud CLOUD. - CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - - conn = OpenstackConnector(cloud, timeout=timeout) - - - -@click.command() -def kubernetes(): - """Generates Gaia-X Credentials for kubernetes.""" - pass - - -cli.add_command(openstack) -cli.add_command(kubernetes) - -if __name__ == '__main__': - cli() diff --git a/src/common/gx_schema.py b/src/common/gx_schema.py deleted file mode 100644 index ccefae2..0000000 --- a/src/common/gx_schema.py +++ /dev/null @@ -1,8957 +0,0 @@ -# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-11-16T13:40:58 -# Schema: gaia-x -# -# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x -# description: -# license: https://creativecommons.org/publicdomain/zero/1.0/ - -import dataclasses -import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any -from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime - -metamodel_version = "1.7.0" -version = None - -# Overwrite dataclasses _init_fn to add **kwargs in __init__ -dataclasses._init_fn = dataclasses_init_fn_with_kwargs - -# Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') -DEFAULT_ = GX - - -# Types - -# Class references -class LocalRegistrationNumberLocal(extended_str): - pass - - -class VatIDVatID(extended_str): - pass - - -class LeiCodeLeiCode(extended_str): - pass - - -class EORIEori(extended_str): - pass - - -class EUIDEuid(extended_str): - pass - - -class LegalPersonRegistrationNumber(extended_str): - pass - - -class GaiaX(YAMLRoot): - """ - Top level element of Gaia-X ecosystem. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaX - class_class_curie: ClassVar[str] = "gx:GaiaX" - class_name: ClassVar[str] = "GaiaX" - class_model_uri: ClassVar[URIRef] = GX.GaiaX - - -@dataclass -class Address(YAMLRoot): - """ - Full address of the entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = VCARD.Address - class_class_curie: ClassVar[str] = "vcard:Address" - class_name: ClassVar[str] = "Address" - class_model_uri: ClassVar[URIRef] = GX.Address - - countryCode: str = None - gps: Optional[str] = None - streetAddress: Optional[str] = None - postalCode: Optional[str] = None - locality: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.countryCode): - self.MissingRequiredField("countryCode") - if not isinstance(self.countryCode, str): - self.countryCode = str(self.countryCode) - - if self.gps is not None and not isinstance(self.gps, str): - self.gps = str(self.gps) - - if self.streetAddress is not None and not isinstance(self.streetAddress, str): - self.streetAddress = str(self.streetAddress) - - if self.postalCode is not None and not isinstance(self.postalCode, str): - self.postalCode = str(self.postalCode) - - if self.locality is not None and not isinstance(self.locality, str): - self.locality = str(self.locality) - - super().__post_init__(**kwargs) - - -@dataclass -class GaiaXEntity(YAMLRoot): - """ - Root class for Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity - class_class_curie: ClassVar[str] = "gx:GaiaXEntity" - class_name: ClassVar[str] = "GaiaXEntity" - class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity - - name: Optional[str] = None - description: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.name is not None and not isinstance(self.name, str): - self.name = str(self.name) - - if self.description is not None and not isinstance(self.description, str): - self.description = str(self.description) - - super().__post_init__(**kwargs) - - -@dataclass -class Encryption(YAMLRoot): - """ - Encryption capabilities of a Gaia-X entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Encryption - class_class_curie: ClassVar[str] = "gx:Encryption" - class_name: ClassVar[str] = "Encryption" - class_model_uri: ClassVar[URIRef] = GX.Encryption - - cipher: Union[str, "EncryptionAlgorithm"] = None - keyManagement: Union[str, "KeyManagement"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cipher): - self.MissingRequiredField("cipher") - if not isinstance(self.cipher, EncryptionAlgorithm): - self.cipher = EncryptionAlgorithm(self.cipher) - - if self._is_empty(self.keyManagement): - self.MissingRequiredField("keyManagement") - if not isinstance(self.keyManagement, KeyManagement): - self.keyManagement = KeyManagement(self.keyManagement) - - super().__post_init__(**kwargs) - - -@dataclass -class CheckSum(YAMLRoot): - """ - Detail on how to calculate or verify a checksum. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CheckSum - class_class_curie: ClassVar[str] = "gx:CheckSum" - class_name: ClassVar[str] = "CheckSum" - class_model_uri: ClassVar[URIRef] = GX.CheckSum - - checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.checkSumCalculation): - self.MissingRequiredField("checkSumCalculation") - if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): - self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) - - super().__post_init__(**kwargs) - - -@dataclass -class Signature(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Signature - class_class_curie: ClassVar[str] = "gx:Signature" - class_name: ClassVar[str] = "Signature" - class_model_uri: ClassVar[URIRef] = GX.Signature - - signature: str = None - signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) - - if self._is_empty(self.signatureAlgorithm): - self.MissingRequiredField("signatureAlgorithm") - if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): - self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) - - super().__post_init__(**kwargs) - - -@dataclass -class Device(YAMLRoot): - """ - Details with respect to properties and capabilities of a hardware or virtualized device. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Device - class_class_curie: ClassVar[str] = "gx:Device" - class_name: ClassVar[str] = "Device" - class_model_uri: ClassVar[URIRef] = GX.Device - - vendor: Optional[str] = None - generation: Optional[str] = None - defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vendor is not None and not isinstance(self.vendor, str): - self.vendor = str(self.vendor) - - if self.generation is not None and not isinstance(self.generation, str): - self.generation = str(self.generation) - - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): - self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - - if not isinstance(self.supportedOversubscriptionRatio, list): - self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] - self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] - - super().__post_init__(**kwargs) - - -@dataclass -class CPU(Device): - """ - Computational processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CPU - class_class_curie: ClassVar[str] = "gx:CPU" - class_name: ClassVar[str] = "CPU" - class_model_uri: ClassVar[URIRef] = GX.CPU - - cpuArchitecture: Optional[Union[str, "Architectures"]] = "\"others\"" - cpuFlag: Optional[Union[str, List[str]]] = empty_list() - smtEnabled: Optional[Union[bool, Bool]] = False - numberOfCores: Optional[int] = None - numberOfThreads: Optional[int] = None - baseFrequency: Optional[Union[dict, "Frequency"]] = None - boostFrequency: Optional[Union[dict, "Frequency"]] = None - lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None - thermalDesignPower: Optional[Union[dict, "Power"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): - self.cpuArchitecture = Architectures(self.cpuArchitecture) - - if not isinstance(self.cpuFlag, list): - self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] - self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] - - if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): - self.smtEnabled = Bool(self.smtEnabled) - - if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): - self.numberOfCores = int(self.numberOfCores) - - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): - self.numberOfThreads = int(self.numberOfThreads) - - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): - self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): - self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): - self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): - self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) - - super().__post_init__(**kwargs) - - -@dataclass -class Disk(Device): - """ - Capabilities of a physical or virtual hard drive. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Disk - class_class_curie: ClassVar[str] = "gx:Disk" - class_name: ClassVar[str] = "Disk" - class_model_uri: ClassVar[URIRef] = GX.Disk - - diskSize: Union[dict, "MemorySize"] = None - diskType: Optional[Union[str, "DiskTypes"]] = "other" - diskBusType: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.diskSize): - self.MissingRequiredField("diskSize") - if not isinstance(self.diskSize, MemorySize): - self.diskSize = MemorySize(**as_dict(self.diskSize)) - - if self.diskType is not None and not isinstance(self.diskType, DiskTypes): - self.diskType = DiskTypes(self.diskType) - - if self.diskBusType is not None and not isinstance(self.diskBusType, str): - self.diskBusType = str(self.diskBusType) - - super().__post_init__(**kwargs) - - -@dataclass -class Endpoint(YAMLRoot): - """ - An endpoint is a mean to access and interact with a service or a resource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Endpoint - class_class_curie: ClassVar[str] = "gx:Endpoint" - class_name: ClassVar[str] = "Endpoint" - class_model_uri: ClassVar[URIRef] = GX.Endpoint - - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None - endpointURL: Optional[Union[str, URI]] = None - formalDescription: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.standardConformity): - self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) - - if self.endpointURL is not None and not isinstance(self.endpointURL, URI): - self.endpointURL = URI(self.endpointURL) - - if self.formalDescription is not None and not isinstance(self.formalDescription, str): - self.formalDescription = str(self.formalDescription) - - super().__post_init__(**kwargs) - - -@dataclass -class GPU(Device): - """ - Graphical processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPU - class_class_curie: ClassVar[str] = "gx:GPU" - class_name: ClassVar[str] = "GPU" - class_model_uri: ClassVar[URIRef] = GX.GPU - - gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[str] = "\"none\"" - gpuProcessingUnits: Optional[int] = None - gpuPassthrough: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): - self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): - self.gpuInterconnection = str(self.gpuInterconnection) - - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): - self.gpuProcessingUnits = int(self.gpuProcessingUnits) - - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): - self.gpuPassthrough = Bool(self.gpuPassthrough) - - super().__post_init__(**kwargs) - - -@dataclass -class MaintenanceSubscription(YAMLRoot): - """ - A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" - class_name: ClassVar[str] = "MaintenanceSubscription" - class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - - subscriptionIncluded: Optional[Union[bool, Bool]] = False - subscriptionRequired: Optional[Union[bool, Bool]] = False - maintainedUntil: Optional[Union[str, XSDDate]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): - self.subscriptionIncluded = Bool(self.subscriptionIncluded) - - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): - self.subscriptionRequired = Bool(self.subscriptionRequired) - - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): - self.maintainedUntil = XSDDate(self.maintainedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class UpdateStrategy(YAMLRoot): - """ - Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the - lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own - unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them - referencable by its ID for a transition period for customers' convenience. This class defines important aspects of - providers image update policy. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy - class_class_curie: ClassVar[str] = "gx:UpdateStrategy" - class_name: ClassVar[str] = "UpdateStrategy" - class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy - - replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None - hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): - self.replaceFrequency = UpdateFrequency(self.replaceFrequency) - - if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): - self.hotfixHours = int(self.hotfixHours) - - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): - self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) - - if self.providedUntil is not None and not isinstance(self.providedUntil, str): - self.providedUntil = str(self.providedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class LatestN(YAMLRoot): - """ - Number of latest N outdated image versions, which will be valid. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LatestN - class_class_curie: ClassVar[str] = "gx:LatestN" - class_name: ClassVar[str] = "Latest_N" - class_model_uri: ClassVar[URIRef] = GX.LatestN - - value: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.value is not None and not isinstance(self.value, int): - self.value = int(self.value) - - super().__post_init__(**kwargs) - - -class InstantiationRequirement(YAMLRoot): - """ - A container class to gather all requirements for compute service offering instantiations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement - class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" - class_name: ClassVar[str] = "InstantiationRequirement" - class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement - - -@dataclass -class Issuer(YAMLRoot): - """ - An issuer of W3C Verifiable Credentials and Verifiable Presentations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Issuer - class_class_curie: ClassVar[str] = "gx:Issuer" - class_name: ClassVar[str] = "Issuer" - class_model_uri: ClassVar[URIRef] = GX.Issuer - - issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.issuerTermsAndConditions): - self.MissingRequiredField("issuerTermsAndConditions") - if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) - - super().__post_init__(**kwargs) - - -class RegistrationNumber(YAMLRoot): - """ - Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, - EODI, and EUID. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber - class_class_curie: ClassVar[str] = "gx:RegistrationNumber" - class_name: ClassVar[str] = "RegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber - - -@dataclass -class LocalRegistrationNumber(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" - class_name: ClassVar[str] = "LocalRegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - - local: Union[str, LocalRegistrationNumberLocal] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.local): - self.MissingRequiredField("local") - if not isinstance(self.local, LocalRegistrationNumberLocal): - self.local = LocalRegistrationNumberLocal(self.local) - - super().__post_init__(**kwargs) - - -@dataclass -class VatID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VatID - class_class_curie: ClassVar[str] = "gx:VatID" - class_name: ClassVar[str] = "VatID" - class_model_uri: ClassVar[URIRef] = GX.VatID - - vatID: Union[str, VatIDVatID] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.vatID): - self.MissingRequiredField("vatID") - if not isinstance(self.vatID, VatIDVatID): - self.vatID = VatIDVatID(self.vatID) - - super().__post_init__(**kwargs) - - -@dataclass -class LeiCode(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LeiCode - class_class_curie: ClassVar[str] = "gx:LeiCode" - class_name: ClassVar[str] = "LeiCode" - class_model_uri: ClassVar[URIRef] = GX.LeiCode - - leiCode: Union[str, LeiCodeLeiCode] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.leiCode): - self.MissingRequiredField("leiCode") - if not isinstance(self.leiCode, LeiCodeLeiCode): - self.leiCode = LeiCodeLeiCode(self.leiCode) - - super().__post_init__(**kwargs) - - -@dataclass -class EORI(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EORI - class_class_curie: ClassVar[str] = "gx:EORI" - class_name: ClassVar[str] = "EORI" - class_model_uri: ClassVar[URIRef] = GX.EORI - - eori: Union[str, EORIEori] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.eori): - self.MissingRequiredField("eori") - if not isinstance(self.eori, EORIEori): - self.eori = EORIEori(self.eori) - - super().__post_init__(**kwargs) - - -@dataclass -class EUID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EUID - class_class_curie: ClassVar[str] = "gx:EUID" - class_name: ClassVar[str] = "EUID" - class_model_uri: ClassVar[URIRef] = GX.EUID - - euid: Union[str, EUIDEuid] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.euid): - self.MissingRequiredField("euid") - if not isinstance(self.euid, EUIDEuid): - self.euid = EUIDEuid(self.euid) - - super().__post_init__(**kwargs) - - -@dataclass -class Memory(Device): - """ - Details with respect to properties and capabilities of RAM. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Memory - class_class_curie: ClassVar[str] = "gx:Memory" - class_name: ClassVar[str] = "Memory" - class_model_uri: ClassVar[URIRef] = GX.Memory - - memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "\"other\"" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "\"other\"" - eccEnabled: Optional[Union[bool, Bool]] = False - hardwareEncryption: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.memorySize): - self.MissingRequiredField("memorySize") - if not isinstance(self.memorySize, MemorySize): - self.memorySize = MemorySize(**as_dict(self.memorySize)) - - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): - self.memoryClass = MemoryClasses(self.memoryClass) - - if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): - self.memoryRank = MemoryRanks(self.memoryRank) - - if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): - self.eccEnabled = Bool(self.eccEnabled) - - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): - self.hardwareEncryption = Bool(self.hardwareEncryption) - - super().__post_init__(**kwargs) - - -@dataclass -class Quantity(YAMLRoot): - """ - Abstract parent class for all physical quantities, such as frequency, power or length. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT.Quantity - class_class_curie: ClassVar[str] = "qudt:Quantity" - class_name: ClassVar[str] = "Quantity" - class_model_uri: ClassVar[URIRef] = GX.Quantity - - value: float = None - unit: Union[str, URI] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.value): - self.MissingRequiredField("value") - if not isinstance(self.value, float): - self.value = float(self.value) - - if self._is_empty(self.unit): - self.MissingRequiredField("unit") - if not isinstance(self.unit, URI): - self.unit = URI(self.unit) - - super().__post_init__(**kwargs) - - -@dataclass -class Frequency(Quantity): - """ - Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" - class_name: ClassVar[str] = "Frequency" - class_model_uri: ClassVar[URIRef] = GX.Frequency - - value: float = None - unit: Union[str, URI] = None - -@dataclass -class MemorySize(Quantity): - """ - The number of bits, that can be stored on a digital storage. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MemorySize - class_class_curie: ClassVar[str] = "gx:MemorySize" - class_name: ClassVar[str] = "MemorySize" - class_model_uri: ClassVar[URIRef] = GX.MemorySize - - value: float = None - unit: Union[str, URI] = None - -@dataclass -class Power(Quantity): - """ - Definition of 'Power', according to http://qudt.org/quantitykind/Power. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" - class_name: ClassVar[str] = "Power" - class_model_uri: ClassVar[URIRef] = GX.Power - - value: float = None - unit: Union[str, URI] = None - -class Participant(GaiaXEntity): - """ - An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Participant - class_class_curie: ClassVar[str] = "gx:Participant" - class_name: ClassVar[str] = "Participant" - class_model_uri: ClassVar[URIRef] = GX.Participant - - -@dataclass -class LegalPerson(Participant): - """ - A legal person, who is uniquely identified by its registration number. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LegalPerson - class_class_curie: ClassVar[str] = "gx:LegalPerson" - class_name: ClassVar[str] = "LegalPerson" - class_model_uri: ClassVar[URIRef] = GX.LegalPerson - - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - legalAddress: Union[dict, Address] = None - headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.registrationNumber): - self.MissingRequiredField("registrationNumber") - if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] - - if self._is_empty(self.legalAddress): - self.MissingRequiredField("legalAddress") - if not isinstance(self.legalAddress, Address): - self.legalAddress = Address(**as_dict(self.legalAddress)) - - if self._is_empty(self.headquartersAddress): - self.MissingRequiredField("headquartersAddress") - if not isinstance(self.headquartersAddress, Address): - self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) - - if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] - - if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] - - super().__post_init__(**kwargs) - - -@dataclass -class Resource(GaiaXEntity): - """ - Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist - independently of it. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Resource - class_class_curie: ClassVar[str] = "gx:Resource" - class_name: ClassVar[str] = "Resource" - class_model_uri: ClassVar[URIRef] = GX.Resource - - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualResource(Resource): - """ - It represents static data in any form and necessary information such as dataset, configuration file, license, - keypair, an AI model, neural network weights, etc. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualResource - class_class_curie: ClassVar[str] = "gx:VirtualResource" - class_name: ClassVar[str] = "VirtualResource" - class_model_uri: ClassVar[URIRef] = GX.VirtualResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.copyrightOwnedBy): - self.MissingRequiredField("copyrightOwnedBy") - if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] - - if self._is_empty(self.license): - self.MissingRequiredField("license") - if not isinstance(self.license, list): - self.license = [self.license] if self.license is not None else [] - self.license = [v if isinstance(v, str) else str(v) for v in self.license] - - if self._is_empty(self.resourcePolicy): - self.MissingRequiredField("resourcePolicy") - if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] - - super().__post_init__(**kwargs) - - -@dataclass -class PhysicalResource(Resource): - """ - A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are - entities that have a weight and position in physical space. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource - class_class_curie: ClassVar[str] = "gx:PhysicalResource" - class_name: ClassVar[str] = "PhysicalResource" - class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.maintainedBy): - self.MissingRequiredField("maintainedBy") - if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] - - if self._is_empty(self.location): - self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) - - if not isinstance(self.ownedBy, list): - self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] - - if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] - - super().__post_init__(**kwargs) - - -@dataclass -class SoftwareResource(VirtualResource): - """ - A Gaia-X Virtual Resource describing an executable program. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource - class_class_curie: ClassVar[str] = "gx:SoftwareResource" - class_name: ClassVar[str] = "SoftwareResource" - class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - checksum: Optional[Union[dict, CheckSum]] = None - signature: Optional[Union[dict, Signature]] = None - version: Optional[str] = None - patchLevel: Optional[str] = None - buildDate: Optional[Union[str, XSDDateTime]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.checksum is not None and not isinstance(self.checksum, CheckSum): - self.checksum = CheckSum(**as_dict(self.checksum)) - - if self.signature is not None and not isinstance(self.signature, Signature): - self.signature = Signature(**as_dict(self.signature)) - - if self.version is not None and not isinstance(self.version, str): - self.version = str(self.version) - - if self.patchLevel is not None and not isinstance(self.patchLevel, str): - self.patchLevel = str(self.patchLevel) - - if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): - self.buildDate = XSDDateTime(self.buildDate) - - super().__post_init__(**kwargs) - - -@dataclass -class CodeArtifact(SoftwareResource): - """ - A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact - class_class_curie: ClassVar[str] = "gx:CodeArtifact" - class_name: ClassVar[str] = "CodeArtifact" - class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - -@dataclass -class Image(CodeArtifact): - """ - A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of - OperatingSystem and CodeArtifact. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Image - class_class_curie: ClassVar[str] = "gx:Image" - class_name: ClassVar[str] = "Image" - class_model_uri: ClassVar[URIRef] = GX.Image - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - fileSize: Optional[Union[dict, "MemorySize"]] = None - operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None - cpuReq: Optional[Union[dict, CPU]] = None - gpuReq: Optional[Union[dict, GPU]] = None - ramReq: Optional[Union[dict, "Memory"]] = None - videoRamSize: Optional[Union[dict, "MemorySize"]] = None - rootDiskReq: Optional[Union[dict, Disk]] = None - encryption: Optional[Union[dict, Encryption]] = None - secureBoot: Optional[Union[bool, Bool]] = False - vPMU: Optional[Union[bool, Bool]] = False - multiQueues: Optional[Union[bool, Bool]] = False - updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None - licenseIncluded: Optional[Union[bool, Bool]] = False - maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): - self.fileSize = MemorySize(**as_dict(self.fileSize)) - - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): - self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) - - if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): - self.cpuReq = CPU(**as_dict(self.cpuReq)) - - if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): - self.gpuReq = GPU(**as_dict(self.gpuReq)) - - if self.ramReq is not None and not isinstance(self.ramReq, Memory): - self.ramReq = Memory(**as_dict(self.ramReq)) - - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): - self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) - - if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): - self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) - - if self.encryption is not None and not isinstance(self.encryption, Encryption): - self.encryption = Encryption(**as_dict(self.encryption)) - - if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): - self.secureBoot = Bool(self.secureBoot) - - if self.vPMU is not None and not isinstance(self.vPMU, Bool): - self.vPMU = Bool(self.vPMU) - - if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): - self.multiQueues = Bool(self.multiQueues) - - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): - self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): - self.licenseIncluded = Bool(self.licenseIncluded) - - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): - self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) - - super().__post_init__(**kwargs) - - -@dataclass -class PXEImage(Image): - """ - PXE image for physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PXEImage - class_class_curie: ClassVar[str] = "gx:PXEImage" - class_name: ClassVar[str] = "PXE_Image" - class_model_uri: ClassVar[URIRef] = GX.PXEImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): - self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) - - super().__post_init__(**kwargs) - - -@dataclass -class OperatingSystem(SoftwareResource): - """ - A special Gaia-X Software Resource describing an operating system. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem - class_class_curie: ClassVar[str] = "gx:OperatingSystem" - class_name: ClassVar[str] = "OperatingSystem" - class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - osDistribution: Union[str, "OSDistribution"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.osDistribution): - self.MissingRequiredField("osDistribution") - if not isinstance(self.osDistribution, OSDistribution): - self.osDistribution = OSDistribution(self.osDistribution) - - super().__post_init__(**kwargs) - - -@dataclass -class Hypervisor(SoftwareResource): - """ - A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Hypervisor - class_class_curie: ClassVar[str] = "gx:Hypervisor" - class_name: ClassVar[str] = "Hypervisor" - class_model_uri: ClassVar[URIRef] = GX.Hypervisor - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - hypervisorType: Union[str, "HypervisorType"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.hypervisorType): - self.MissingRequiredField("hypervisorType") - if not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - super().__post_init__(**kwargs) - - -@dataclass -class ServiceOffering(GaiaXEntity): - """ - A digital service available for order. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering - class_class_curie: ClassVar[str] = "gx:ServiceOffering" - class_name: ClassVar[str] = "ServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() - keyword: Optional[Union[str, List[str]]] = empty_list() - provisionType: Optional[Union[str, "ProvisionTypes"]] = None - endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.providedBy): - self.MissingRequiredField("providedBy") - if not isinstance(self.providedBy, LegalPersonRegistrationNumber): - self.providedBy = LegalPersonRegistrationNumber(self.providedBy) - - if self._is_empty(self.serviceOfferingTermsAndConditions): - self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) - - if self._is_empty(self.servicePolicy): - self.MissingRequiredField("servicePolicy") - if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] - - if self._is_empty(self.dataAccountExport): - self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) - - if not isinstance(self.dependsOn, list): - self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] - self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] - - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] - - if not isinstance(self.keyword, list): - self.keyword = [self.keyword] if self.keyword is not None else [] - self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): - self.provisionType = ProvisionTypes(self.provisionType) - - if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): - self.endpoint = Endpoint(**as_dict(self.endpoint)) - - if not isinstance(self.hostedOn, list): - self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] - self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] - - super().__post_init__(**kwargs) - - -@dataclass -class InfrastructureServiceOffering(ServiceOffering): - """ - A digital service available for order and offering computational, storage and/pr network capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" - class_name: ClassVar[str] = "InfrastructureServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" - -@dataclass -class ComputeServiceOffering(InfrastructureServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" - class_name: ClassVar[str] = "ComputeServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" - tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): - self.tenantSeparation = TenantSeparation(self.tenantSeparation) - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualMachineServiceOffering(ComputeServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" - class_name: ClassVar[str] = "VirtualMachineServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.codeArtifact): - self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) - - if self._is_empty(self.instantiationReq): - self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class TermsAndConditions(YAMLRoot): - """ - Terms and Conditions applying to a service offering. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions - class_class_curie: ClassVar[str] = "gx:TermsAndConditions" - class_name: ClassVar[str] = "TermsAndConditions" - class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions - - url: Union[str, URI] = None - hash: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.url): - self.MissingRequiredField("url") - if not isinstance(self.url, URI): - self.url = URI(self.url) - - if self._is_empty(self.hash): - self.MissingRequiredField("hash") - if not isinstance(self.hash, str): - self.hash = str(self.hash) - - super().__post_init__(**kwargs) - - -@dataclass -class DataAccountExport(YAMLRoot): - """ - List of methods to export data from your account out of the service. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport - class_class_curie: ClassVar[str] = "gx:DataAccountExport" - class_name: ClassVar[str] = "DataAccountExport" - class_model_uri: ClassVar[URIRef] = GX.DataAccountExport - - requestType: Union[str, "RequestTypes"] = None - accessType: Union[str, "AccessTypes"] = None - formatType: Union[str, "MIMETypes"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.requestType): - self.MissingRequiredField("requestType") - if not isinstance(self.requestType, RequestTypes): - self.requestType = RequestTypes(self.requestType) - - if self._is_empty(self.accessType): - self.MissingRequiredField("accessType") - if not isinstance(self.accessType, AccessTypes): - self.accessType = AccessTypes(self.accessType) - - if self._is_empty(self.formatType): - self.MissingRequiredField("formatType") - if not isinstance(self.formatType, MIMETypes): - self.formatType = MIMETypes(self.formatType) - - super().__post_init__(**kwargs) - - -@dataclass -class StandardConformity(YAMLRoot): - """ - Details about standard applied to Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.StandardConformity - class_class_curie: ClassVar[str] = "gx:StandardConformity" - class_name: ClassVar[str] = "StandardConformity" - class_model_uri: ClassVar[URIRef] = GX.StandardConformity - - title: str = None - standardReference: Union[str, URI] = None - publisher: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.title): - self.MissingRequiredField("title") - if not isinstance(self.title, str): - self.title = str(self.title) - - if self._is_empty(self.standardReference): - self.MissingRequiredField("standardReference") - if not isinstance(self.standardReference, URI): - self.standardReference = URI(self.standardReference) - - if self.publisher is not None and not isinstance(self.publisher, str): - self.publisher = str(self.publisher) - - super().__post_init__(**kwargs) - - -@dataclass -class VMImage(Image): - """ - Image for virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VMImage - class_class_curie: ClassVar[str] = "gx:VMImage" - class_name: ClassVar[str] = "VM_Image" - class_model_uri: ClassVar[URIRef] = GX.VMImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "\"RAW\"" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "\"other\"" - firmwareType: Optional[Union[str, "FirmType"]] = "\"other\"" - hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" - watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): - self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): - self.firmwareType = FirmType(self.firmwareType) - - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): - self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): - self.watchDogAction = WatchDogActions(self.watchDogAction) - - super().__post_init__(**kwargs) - - -@dataclass -class ServerFlavor(YAMLRoot): - """ - Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or - virtual servers that can be launched. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor - class_class_curie: ClassVar[str] = "gx:ServerFlavor" - class_name: ClassVar[str] = "ServerFlavor" - class_model_uri: ClassVar[URIRef] = GX.ServerFlavor - - cpu: Union[dict, CPU] = None - ram: Union[dict, Memory] = None - bootVolume: Union[dict, Disk] = None - gpu: Optional[Union[dict, GPU]] = None - network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() - confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None - hypervisor: Optional[Union[dict, SoftwareResource]] = None - hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False - hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cpu): - self.MissingRequiredField("cpu") - if not isinstance(self.cpu, CPU): - self.cpu = CPU(**as_dict(self.cpu)) - - if self._is_empty(self.ram): - self.MissingRequiredField("ram") - if not isinstance(self.ram, Memory): - self.ram = Memory(**as_dict(self.ram)) - - if self._is_empty(self.bootVolume): - self.MissingRequiredField("bootVolume") - if not isinstance(self.bootVolume, Disk): - self.bootVolume = Disk(**as_dict(self.bootVolume)) - - if self.gpu is not None and not isinstance(self.gpu, GPU): - self.gpu = GPU(**as_dict(self.gpu)) - - if self.network is not None and not isinstance(self.network, str): - self.network = str(self.network) - - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): - self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) - - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): - self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) - - super().__post_init__(**kwargs) - - -@dataclass -class ConfidentialComputing(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing - class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" - class_name: ClassVar[str] = "ConfidentialComputing" - class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing - - technology: str = None - attestationServiceURI: Optional[Union[str, URI]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.technology): - self.MissingRequiredField("technology") - if not isinstance(self.technology, str): - self.technology = str(self.technology) - - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): - self.attestationServiceURI = URI(self.attestationServiceURI) - - super().__post_init__(**kwargs) - - -# Enumerations -class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") - VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") - UM = PermissibleValue( - text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") - SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") - VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") - BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") - BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") - VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") - IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") - CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") - KP = PermissibleValue( - text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") - LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") - DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") - MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") - FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") - FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") - TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") - HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") - IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") - KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") - CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") - MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") - MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") - BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") - KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") - MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") - RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") - ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") - SH = PermissibleValue( - text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") - KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") - MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") - SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") - PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") - VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") - GS = PermissibleValue( - text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") - SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") - TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") - TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") - AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") - TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") - US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") - GB = PermissibleValue( - text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") - CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") - - _defn = EnumDefinition( - name="CountryNameAlpha2", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) - -class CountryNameAlpha3(EnumDefinitionImpl): - - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") - ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") - BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") - BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") - BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") - IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") - CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") - CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") - CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") - COD = PermissibleValue( - text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") - COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") - DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") - FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") - FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") - ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") - HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") - IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") - PRK = PermissibleValue( - text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") - KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") - LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") - MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") - MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") - FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") - MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") - MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") - PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") - RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") - SHN = PermissibleValue( - text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") - KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") - MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") - SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") - VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") - STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") - SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") - SGS = PermissibleValue( - text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") - SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") - SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") - TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") - TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") - TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") - XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") - TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") - ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") - GBR = PermissibleValue( - text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") - USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") - UMI = PermissibleValue( - text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") - VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") - VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") - VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") - - _defn = EnumDefinition( - name="CountryNameAlpha3", - ) - -class CountryNameNumeric(EnumDefinitionImpl): - - _defn = EnumDefinition( - name="CountryNameNumeric", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", - PermissibleValue( - text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", - PermissibleValue( - text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", - PermissibleValue( - text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", - PermissibleValue( - text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", - PermissibleValue( - text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", - PermissibleValue( - text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", - PermissibleValue( - text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", - PermissibleValue( - text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", - PermissibleValue( - text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", - PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", - PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", - PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", - PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", - PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", - PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", - PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", - PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", - PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", - PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - Others = PermissibleValue( - text="Others", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", - PermissibleValue( - text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) - -class EncryptionAlgorithm(EnumDefinitionImpl): - - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for enchryption not further described.") - - _defn = EnumDefinition( - name="EncryptionAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) - -class ChecksumAlgorithm(EnumDefinitionImpl): - - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm to calcualte checksum not further described.") - - _defn = EnumDefinition( - name="ChecksumAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - -class KeyManagement(EnumDefinitionImpl): - - BYOK = PermissibleValue( - text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") - HYOK = PermissibleValue( - text="HYOK", - description="hold-your-own-key Key created by user and kept by user") - managed = PermissibleValue( - text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") - - _defn = EnumDefinition( - name="KeyManagement", - ) - -class SignatureAlgorithm(EnumDefinitionImpl): - - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for digital signatures not further described.") - - _defn = EnumDefinition( - name="SignatureAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) - -class DiskTypes(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="DiskTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) - -class UpdateFrequency(EnumDefinitionImpl): - """ - Possible values for image's update frequency. - """ - yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") - quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") - weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") - daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") - critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") - - _defn = EnumDefinition( - name="UpdateFrequency", - description="Possible values for image's update frequency.", - ) - -class Validity1(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - none = PermissibleValue( - text="none", - description="No information are given.") - notice = PermissibleValue( - text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") - - _defn = EnumDefinition( - name="Validity1", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class Validity2(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - forever = PermissibleValue( - text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") - - _defn = EnumDefinition( - name="Validity2", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class GaiaXTermsAndConditions(EnumDefinitionImpl): - """ - SHA256 check sum of Gaia-X Terms and Conditions. - """ - _defn = EnumDefinition( - name="GaiaXTermsAndConditions", - description="SHA256 check sum of Gaia-X Terms and Conditions.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) - -class MemoryClasses(EnumDefinitionImpl): - - DDR4 = PermissibleValue(text="DDR4") - DDR5 = PermissibleValue(text="DDR5") - GDDR5 = PermissibleValue(text="GDDR5") - GDDR6 = PermissibleValue(text="GDDR6") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryClasses", - ) - -class MemoryRanks(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryRanks", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) - -class PXEDiskType(EnumDefinitionImpl): - - WINPE = PermissibleValue(text="WINPE") - ISO = PermissibleValue(text="ISO") - - _defn = EnumDefinition( - name="PXEDiskType", - ) - -class SPDX(EnumDefinitionImpl): - - AAL = PermissibleValue(text="AAL") - Abstyles = PermissibleValue(text="Abstyles") - ADSL = PermissibleValue(text="ADSL") - Afmparse = PermissibleValue(text="Afmparse") - Aladdin = PermissibleValue(text="Aladdin") - AMDPLPA = PermissibleValue(text="AMDPLPA") - AML = PermissibleValue(text="AML") - AMPAS = PermissibleValue(text="AMPAS") - APAFML = PermissibleValue(text="APAFML") - Baekmuk = PermissibleValue(text="Baekmuk") - Bahyph = PermissibleValue(text="Bahyph") - Barr = PermissibleValue(text="Barr") - Beerware = PermissibleValue(text="Beerware") - blessing = PermissibleValue(text="blessing") - Borceux = PermissibleValue(text="Borceux") - Caldera = PermissibleValue(text="Caldera") - CFITSIO = PermissibleValue(text="CFITSIO") - checkmk = PermissibleValue(text="checkmk") - ClArtistic = PermissibleValue(text="ClArtistic") - Clips = PermissibleValue(text="Clips") - Crossword = PermissibleValue(text="Crossword") - CrystalStacker = PermissibleValue(text="CrystalStacker") - Cube = PermissibleValue(text="Cube") - curl = PermissibleValue(text="curl") - diffmark = PermissibleValue(text="diffmark") - DOC = PermissibleValue(text="DOC") - Dotseqn = PermissibleValue(text="Dotseqn") - DSDP = PermissibleValue(text="DSDP") - dtoa = PermissibleValue(text="dtoa") - dvipdfm = PermissibleValue(text="dvipdfm") - eGenix = PermissibleValue(text="eGenix") - Entessa = PermissibleValue(text="Entessa") - EPICS = PermissibleValue(text="EPICS") - EUDatagrid = PermissibleValue(text="EUDatagrid") - Eurosym = PermissibleValue(text="Eurosym") - Fair = PermissibleValue(text="Fair") - FreeImage = PermissibleValue(text="FreeImage") - FSFAP = PermissibleValue(text="FSFAP") - FSFUL = PermissibleValue(text="FSFUL") - FSFULLR = PermissibleValue(text="FSFULLR") - FSFULLRWD = PermissibleValue(text="FSFULLRWD") - FTL = PermissibleValue(text="FTL") - GD = PermissibleValue(text="GD") - Giftware = PermissibleValue(text="Giftware") - GL2PS = PermissibleValue(text="GL2PS") - Glide = PermissibleValue(text="Glide") - Glulxe = PermissibleValue(text="Glulxe") - GLWTPL = PermissibleValue(text="GLWTPL") - gnuplot = PermissibleValue(text="gnuplot") - HaskellReport = PermissibleValue(text="HaskellReport") - HPND = PermissibleValue(text="HPND") - HTMLTIDY = PermissibleValue(text="HTMLTIDY") - ICU = PermissibleValue(text="ICU") - IJG = PermissibleValue(text="IJG") - ImageMagick = PermissibleValue(text="ImageMagick") - iMatix = PermissibleValue(text="iMatix") - Imlib2 = PermissibleValue(text="Imlib2") - Intel = PermissibleValue(text="Intel") - IPA = PermissibleValue(text="IPA") - ISC = PermissibleValue(text="ISC") - Jam = PermissibleValue(text="Jam") - JPNIC = PermissibleValue(text="JPNIC") - JSON = PermissibleValue(text="JSON") - Kazlib = PermissibleValue(text="Kazlib") - Latex2e = PermissibleValue(text="Latex2e") - Leptonica = PermissibleValue(text="Leptonica") - LGPLLR = PermissibleValue(text="LGPLLR") - Libpng = PermissibleValue(text="Libpng") - libtiff = PermissibleValue(text="libtiff") - LOOP = PermissibleValue(text="LOOP") - MakeIndex = PermissibleValue(text="MakeIndex") - metamail = PermissibleValue(text="metamail") - Minpack = PermissibleValue(text="Minpack") - MirOS = PermissibleValue(text="MirOS") - MIT = PermissibleValue(text="MIT") - MITNFA = PermissibleValue(text="MITNFA") - Motosoto = PermissibleValue(text="Motosoto") - mpich2 = PermissibleValue(text="mpich2") - mplus = PermissibleValue(text="mplus") - MTLL = PermissibleValue(text="MTLL") - Multics = PermissibleValue(text="Multics") - Mup = PermissibleValue(text="Mup") - Naumen = PermissibleValue(text="Naumen") - NCSA = PermissibleValue(text="NCSA") - NetCDF = PermissibleValue(text="NetCDF") - Newsletr = PermissibleValue(text="Newsletr") - NGPL = PermissibleValue(text="NGPL") - NLPL = PermissibleValue(text="NLPL") - Nokia = PermissibleValue(text="Nokia") - NOSL = PermissibleValue(text="NOSL") - Noweb = PermissibleValue(text="Noweb") - NRL = PermissibleValue(text="NRL") - NTP = PermissibleValue(text="NTP") - OFFIS = PermissibleValue(text="OFFIS") - OGTSL = PermissibleValue(text="OGTSL") - OML = PermissibleValue(text="OML") - OpenSSL = PermissibleValue(text="OpenSSL") - Plexus = PermissibleValue(text="Plexus") - PostgreSQL = PermissibleValue(text="PostgreSQL") - psfrag = PermissibleValue(text="psfrag") - psutils = PermissibleValue(text="psutils") - Qhull = PermissibleValue(text="Qhull") - Rdisc = PermissibleValue(text="Rdisc") - RSCPL = PermissibleValue(text="RSCPL") - Ruby = PermissibleValue(text="Ruby") - Saxpath = PermissibleValue(text="Saxpath") - SCEA = PermissibleValue(text="SCEA") - SchemeReport = PermissibleValue(text="SchemeReport") - Sendmail = PermissibleValue(text="Sendmail") - SGP4 = PermissibleValue(text="SGP4") - SISSL = PermissibleValue(text="SISSL") - Sleepycat = PermissibleValue(text="Sleepycat") - SMLNJ = PermissibleValue(text="SMLNJ") - SMPPL = PermissibleValue(text="SMPPL") - SNIA = PermissibleValue(text="SNIA") - snprintf = PermissibleValue(text="snprintf") - SunPro = PermissibleValue(text="SunPro") - SWL = PermissibleValue(text="SWL") - Symlinks = PermissibleValue(text="Symlinks") - TCL = PermissibleValue(text="TCL") - TermReadKey = PermissibleValue(text="TermReadKey") - TMate = PermissibleValue(text="TMate") - TOSL = PermissibleValue(text="TOSL") - TPDL = PermissibleValue(text="TPDL") - TTWL = PermissibleValue(text="TTWL") - UCAR = PermissibleValue(text="UCAR") - UnixCrypt = PermissibleValue(text="UnixCrypt") - Unlicense = PermissibleValue(text="Unlicense") - Vim = PermissibleValue(text="Vim") - VOSTROM = PermissibleValue(text="VOSTROM") - W3C = PermissibleValue(text="W3C") - w3m = PermissibleValue(text="w3m") - Wsuipa = PermissibleValue(text="Wsuipa") - WTFPL = PermissibleValue(text="WTFPL") - X11 = PermissibleValue(text="X11") - Xerox = PermissibleValue(text="Xerox") - Xfig = PermissibleValue(text="Xfig") - xinetd = PermissibleValue(text="xinetd") - xlock = PermissibleValue(text="xlock") - Xnet = PermissibleValue(text="Xnet") - xpp = PermissibleValue(text="xpp") - XSkat = PermissibleValue(text="XSkat") - Zed = PermissibleValue(text="Zed") - Zlib = PermissibleValue(text="Zlib") - - _defn = EnumDefinition( - name="SPDX", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) - -class OSDistribution(EnumDefinitionImpl): - """ - Possible values for operationg system distribution. - """ - Debian = PermissibleValue(text="Debian") - Fedora = PermissibleValue(text="Fedora") - FreeBSD = PermissibleValue(text="FreeBSD") - Mandrakelinux = PermissibleValue(text="Mandrakelinux") - NetBSD = PermissibleValue(text="NetBSD") - OpenBSD = PermissibleValue(text="OpenBSD") - OpenSolaris = PermissibleValue(text="OpenSolaris") - openSUSE = PermissibleValue(text="openSUSE") - Ubuntu = PermissibleValue(text="Ubuntu") - - _defn = EnumDefinition( - name="OSDistribution", - description="Possible values for operationg system distribution.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) - -class HypervisorType(EnumDefinitionImpl): - """ - Possible values for hypervisor types. - """ - quemu = PermissibleValue(text="quemu") - KVM = PermissibleValue(text="KVM") - Xen = PermissibleValue(text="Xen") - ESXi = PermissibleValue(text="ESXi") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="HypervisorType", - description="Possible values for hypervisor types.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) - -class PersonalDataProtectionRegime(EnumDefinitionImpl): - - GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") - LGPD2019 = PermissibleValue( - text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") - PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") - CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") - VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") - - _defn = EnumDefinition( - name="PersonalDataProtectionRegime", - ) - -class RequestTypes(EnumDefinitionImpl): - - API = PermissibleValue(text="API") - email = PermissibleValue(text="email") - webform = PermissibleValue(text="webform") - unregisteredLetter = PermissibleValue(text="unregisteredLetter") - registeredLetter = PermissibleValue(text="registeredLetter") - supportCenter = PermissibleValue(text="supportCenter") - - _defn = EnumDefinition( - name="RequestTypes", - ) - -class AccessTypes(EnumDefinitionImpl): - - digital = PermissibleValue( - text="digital", - description="Access via digital service, such as e-mail or web form.") - physical = PermissibleValue( - text="physical", - description="Access via physical medium, such as letter or physical appointment.") - - _defn = EnumDefinition( - name="AccessTypes", - ) - -class MIMETypes(EnumDefinitionImpl): - - calendar = PermissibleValue(text="calendar") - cql = PermissibleValue(text="cql") - css = PermissibleValue(text="css") - csv = PermissibleValue(text="csv") - dns = PermissibleValue(text="dns") - encaprtp = PermissibleValue(text="encaprtp") - enriched = PermissibleValue(text="enriched") - example = PermissibleValue(text="example") - fhirpath = PermissibleValue(text="fhirpath") - flexfec = PermissibleValue(text="flexfec") - fwdred = PermissibleValue(text="fwdred") - gff3 = PermissibleValue(text="gff3") - hl7v2 = PermissibleValue(text="hl7v2") - html = PermissibleValue(text="html") - javascript = PermissibleValue(text="javascript") - markdown = PermissibleValue(text="markdown") - mizar = PermissibleValue(text="mizar") - n3 = PermissibleValue(text="n3") - parameters = PermissibleValue(text="parameters") - parityfec = PermissibleValue(text="parityfec") - plain = PermissibleValue(text="plain") - RED = PermissibleValue(text="RED") - richtext = PermissibleValue(text="richtext") - rtf = PermissibleValue(text="rtf") - rtploopback = PermissibleValue(text="rtploopback") - rtx = PermissibleValue(text="rtx") - SGML = PermissibleValue(text="SGML") - shacl = PermissibleValue(text="shacl") - shex = PermissibleValue(text="shex") - spdx = PermissibleValue(text="spdx") - strings = PermissibleValue(text="strings") - t140 = PermissibleValue(text="t140") - troff = PermissibleValue(text="troff") - turtle = PermissibleValue(text="turtle") - ulpfec = PermissibleValue(text="ulpfec") - vcard = PermissibleValue(text="vcard") - vtt = PermissibleValue(text="vtt") - wgsl = PermissibleValue(text="wgsl") - xml = PermissibleValue(text="xml") - A2L = PermissibleValue(text="A2L") - activemessage = PermissibleValue(text="activemessage") - AML = PermissibleValue(text="AML") - applefile = PermissibleValue(text="applefile") - ATF = PermissibleValue(text="ATF") - ATFX = PermissibleValue(text="ATFX") - atomicmail = PermissibleValue(text="atomicmail") - ATXML = PermissibleValue(text="ATXML") - cbor = PermissibleValue(text="cbor") - cccex = PermissibleValue(text="cccex") - cdni = PermissibleValue(text="cdni") - CEA = PermissibleValue(text="CEA") - cfw = PermissibleValue(text="cfw") - clr = PermissibleValue(text="clr") - cms = PermissibleValue(text="cms") - commonground = PermissibleValue(text="commonground") - cose = PermissibleValue(text="cose") - csrattrs = PermissibleValue(text="csrattrs") - cwl = PermissibleValue(text="cwl") - cwt = PermissibleValue(text="cwt") - cybercash = PermissibleValue(text="cybercash") - dashdelta = PermissibleValue(text="dashdelta") - DCD = PermissibleValue(text="DCD") - dicom = PermissibleValue(text="dicom") - DII = PermissibleValue(text="DII") - DIT = PermissibleValue(text="DIT") - dvcs = PermissibleValue(text="dvcs") - EDIFACT = PermissibleValue(text="EDIFACT") - efi = PermissibleValue(text="efi") - eshop = PermissibleValue(text="eshop") - exi = PermissibleValue(text="exi") - express = PermissibleValue(text="express") - fastinfoset = PermissibleValue(text="fastinfoset") - fastsoap = PermissibleValue(text="fastsoap") - fdf = PermissibleValue(text="fdf") - fits = PermissibleValue(text="fits") - gzip = PermissibleValue(text="gzip") - H224 = PermissibleValue(text="H224") - http = PermissibleValue(text="http") - hyperstudio = PermissibleValue(text="hyperstudio") - iges = PermissibleValue(text="iges") - index = PermissibleValue(text="index") - IOTP = PermissibleValue(text="IOTP") - ipfix = PermissibleValue(text="ipfix") - ipp = PermissibleValue(text="ipp") - ISUP = PermissibleValue(text="ISUP") - jose = PermissibleValue(text="jose") - json = PermissibleValue(text="json") - jwt = PermissibleValue(text="jwt") - linkset = PermissibleValue(text="linkset") - LXF = PermissibleValue(text="LXF") - macwriteii = PermissibleValue(text="macwriteii") - marc = PermissibleValue(text="marc") - mathematica = PermissibleValue(text="mathematica") - mbox = PermissibleValue(text="mbox") - MF4 = PermissibleValue(text="MF4") - mikey = PermissibleValue(text="mikey") - mipc = PermissibleValue(text="mipc") - mp21 = PermissibleValue(text="mp21") - mp4 = PermissibleValue(text="mp4") - msword = PermissibleValue(text="msword") - mxf = PermissibleValue(text="mxf") - nasdata = PermissibleValue(text="nasdata") - node = PermissibleValue(text="node") - nss = PermissibleValue(text="nss") - ODA = PermissibleValue(text="ODA") - ODX = PermissibleValue(text="ODX") - ogg = PermissibleValue(text="ogg") - oscore = PermissibleValue(text="oscore") - oxps = PermissibleValue(text="oxps") - p21 = PermissibleValue(text="p21") - passport = PermissibleValue(text="passport") - pdf = PermissibleValue(text="pdf") - PDX = PermissibleValue(text="PDX") - pkcs10 = PermissibleValue(text="pkcs10") - pkcs8 = PermissibleValue(text="pkcs8") - pkcs12 = PermissibleValue(text="pkcs12") - pkixcmp = PermissibleValue(text="pkixcmp") - postscript = PermissibleValue(text="postscript") - QSIG = PermissibleValue(text="QSIG") - raptorfec = PermissibleValue(text="raptorfec") - riscos = PermissibleValue(text="riscos") - sbe = PermissibleValue(text="sbe") - sdp = PermissibleValue(text="sdp") - sieve = PermissibleValue(text="sieve") - simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") - sipc = PermissibleValue(text="sipc") - slate = PermissibleValue(text="slate") - smpte336m = PermissibleValue(text="smpte336m") - sql = PermissibleValue(text="sql") - srgs = PermissibleValue(text="srgs") - TETRA_ISI = PermissibleValue(text="TETRA_ISI") - tnauthlist = PermissibleValue(text="tnauthlist") - trig = PermissibleValue(text="trig") - tzif = PermissibleValue(text="tzif") - vemmi = PermissibleValue(text="vemmi") - wasm = PermissibleValue(text="wasm") - widget = PermissibleValue(text="widget") - wita = PermissibleValue(text="wita") - xfdf = PermissibleValue(text="xfdf") - yaml = PermissibleValue(text="yaml") - yang = PermissibleValue(text="yang") - zip = PermissibleValue(text="zip") - zlib = PermissibleValue(text="zlib") - zstd = PermissibleValue(text="zstd") - - _defn = EnumDefinition( - name="MIMETypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) - -class ProvisionTypes(EnumDefinitionImpl): - - private = PermissibleValue( - text="private", - description="A service, which is provided for one customer exclusively.") - public = PermissibleValue( - text="public", - description="A service, which is used by several customers, simultaneously.") - hybrid = PermissibleValue( - text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") - - _defn = EnumDefinition( - name="ProvisionTypes", - ) - -class TenantSeparation(EnumDefinitionImpl): - - physical = PermissibleValue( - text="physical", - description="TBD") - - _defn = EnumDefinition( - name="TenantSeparation", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) - -class FirmType(EnumDefinitionImpl): - """ - Possible values for VM image's firmerequired hypervisor. - """ - BIOS = PermissibleValue(text="BIOS") - UEFI = PermissibleValue(text="UEFI") - others = PermissibleValue(text="others") - - _defn = EnumDefinition( - name="FirmType", - description="Possible values for VM image's firmerequired hypervisor.", - ) - -class WatchDogActions(EnumDefinitionImpl): - """ - Possible values for VM image's watchdog actions. - """ - disabled = PermissibleValue( - text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") - reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") - poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") - pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") - none = PermissibleValue( - text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") - - _defn = EnumDefinition( - name="WatchDogActions", - description="Possible values for VM image's watchdog actions.", - ) - -class RNGTypes(EnumDefinitionImpl): - - Quantum = PermissibleValue( - text="Quantum", - description="Hardware random src is based in electronic quantum effects.") - - _defn = EnumDefinition( - name="RNGTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Electrical noise", - PermissibleValue( - text="Electrical noise", - description="Hardware random src is based on electronic noise.")) - setattr(cls, "Chaos-based", - PermissibleValue( - text="Chaos-based", - description="Hardware random src is based on chaos.")) - setattr(cls, "Free-running oscillators", - PermissibleValue( - text="Free-running oscillators", - description="Hardware random src is based in electronic free-running oscillators.")) - setattr(cls, "None", - PermissibleValue( - text="None", - description="No hardware random src (RNG) is used. Entropy is taken from /dev/urandom.")) - -class VMDiskType(EnumDefinitionImpl): - - RAW = PermissibleValue(text="RAW") - QCOW2 = PermissibleValue(text="QCOW2") - VHD = PermissibleValue(text="VHD") - VMDK = PermissibleValue(text="VMDK") - ISO = PermissibleValue(text="ISO") - CVF = PermissibleValue(text="CVF") - CVA = PermissibleValue(text="CVA") - - _defn = EnumDefinition( - name="VMDiskType", - ) - -# Slots -class slots: - pass - -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), - model_uri=GX.unit, domain=None, range=Union[str, URI]) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[str]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) - -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/src/iaas/gen_vm_image.py b/src/iaas/gen_vm_image.py deleted file mode 100644 index e69de29..0000000 diff --git a/src/iaas/opentack_connector.py b/src/iaas/opentack_connector.py deleted file mode 100644 index 76c99d7..0000000 --- a/src/iaas/opentack_connector.py +++ /dev/null @@ -1,15 +0,0 @@ -import openstack -impirt sys - - -class OpenstackConnector(): - """Abstraction for Openstack API calls.""" - def __init__(self, cloud, timeout): - self.conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) - try: - self.conn.authorize() - except Exception: - print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = openstack.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') - self.conn.authorize() From ab8512ce12d14bf8c7ed08ead1030a580e236f99 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 18 Dec 2023 13:00:10 +0100 Subject: [PATCH 149/175] Add default values for operating system Signed-off-by: Anja Strunk --- config/config.yaml | 2 +- generator/common/gx_schema.py | 18765 -------------------------------- 2 files changed, 1 insertion(+), 18766 deletions(-) delete mode 100644 generator/common/gx_schema.py diff --git a/config/config.yaml b/config/config.yaml index ea47ae1..694c926 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -134,4 +134,4 @@ default: # - https://www.abc.org #wallets: # filesystem: -# path: /etc/wallet/gx-credentials/ \ No newline at end of file +# path: /etc/wallet/gx-credentials/ diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py deleted file mode 100644 index ed65f19..0000000 --- a/generator/common/gx_schema.py +++ /dev/null @@ -1,18765 +0,0 @@ -# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -<<<<<<< HEAD -# Generation date: 2024-01-05T13:21:25 -======= -# Generation date: 2023-11-17T10:12:38 ->>>>>>> Update vm image generations -# Schema: gaia-x -# -# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x -# description: -# license: https://creativecommons.org/publicdomain/zero/1.0/ - -import dataclasses -import re -<<<<<<< HEAD -from dataclasses import dataclass -from typing import Any, ClassVar, Dict, List, Optional, Union - -from jsonasobj2 import JsonObj, as_dict -from linkml_runtime.linkml_model.meta import ( - EnumDefinition, - PermissibleValue, - PvFormulaOptions, -) -from linkml_runtime.linkml_model.types import ( - Boolean, - Date, - Datetime, - Float, - Integer, - String, - Uri, -) -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.utils.dataclass_extensions_376 import ( - dataclasses_init_fn_with_kwargs, -) -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from linkml_runtime.utils.formatutils import camelcase, sfx, underscore -from linkml_runtime.utils.metamodelcore import ( - URI, - Bool, - XSDDate, - XSDDateTime, - bnode, - empty_dict, - empty_list, -) -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.yamlutils import ( - YAMLRoot, - extended_float, - extended_int, - extended_str, -) -from rdflib import Namespace, URIRef -======= -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any -from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime ->>>>>>> Update vm image generations - -metamodel_version = "1.7.0" -version = None - -# Overwrite dataclasses _init_fn to add **kwargs in __init__ -dataclasses._init_fn = dataclasses_init_fn_with_kwargs - -# Namespaces -<<<<<<< HEAD -GX = CurieNamespace("gx", "http://w3id.org/gaia-x/gx-trust-framework/") -LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/") -QUDT = CurieNamespace("qudt", "http://qudt.org/vocab/") -SCHEMA = CurieNamespace("schema", "http://schema.org/") -VCARD = CurieNamespace("vcard", "http://www.w3.org/2006/vcard/ns#") -======= -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') ->>>>>>> Update vm image generations -DEFAULT_ = GX - - -# Types - -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations -# Class references -class LocalRegistrationNumberLocal(extended_str): - pass - - -class VatIDVatID(extended_str): - pass - - -class LeiCodeLeiCode(extended_str): - pass - - -class EORIEori(extended_str): - pass - - -class EUIDEuid(extended_str): - pass - - -class LegalPersonRegistrationNumber(extended_str): - pass - - -class GaiaX(YAMLRoot): - """ - Top level element of Gaia-X ecosystem. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["GaiaX"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaX ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:GaiaX" - class_name: ClassVar[str] = "GaiaX" - class_model_uri: ClassVar[URIRef] = GX.GaiaX - - -@dataclass -class Address(YAMLRoot): - """ - Full address of the entity. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = VCARD["Address"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = VCARD.Address ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "vcard:Address" - class_name: ClassVar[str] = "Address" - class_model_uri: ClassVar[URIRef] = GX.Address - - countryCode: str = None -<<<<<<< HEAD - gps: Optional[ - Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]] - ] = empty_list() -======= - gps: Optional[str] = None ->>>>>>> Update vm image generations - streetAddress: Optional[str] = None - postalCode: Optional[str] = None - locality: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.countryCode): - self.MissingRequiredField("countryCode") - if not isinstance(self.countryCode, str): - self.countryCode = str(self.countryCode) - -<<<<<<< HEAD - self._normalize_inlined_as_dict( - slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False - ) -======= - if self.gps is not None and not isinstance(self.gps, str): - self.gps = str(self.gps) ->>>>>>> Update vm image generations - - if self.streetAddress is not None and not isinstance(self.streetAddress, str): - self.streetAddress = str(self.streetAddress) - - if self.postalCode is not None and not isinstance(self.postalCode, str): - self.postalCode = str(self.postalCode) - - if self.locality is not None and not isinstance(self.locality, str): - self.locality = str(self.locality) - - super().__post_init__(**kwargs) - - -@dataclass -<<<<<<< HEAD -class GPSLocation(YAMLRoot): - """ - Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. - """ - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] - class_class_curie: ClassVar[str] = "gx:GPSLocation" - class_name: ClassVar[str] = "GPSLocation" - class_model_uri: ClassVar[URIRef] = GX.GPSLocation - - latitude: str = None - longitude: str = None - altitude: Optional[str] = None - crs: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.latitude): - self.MissingRequiredField("latitude") - if not isinstance(self.latitude, str): - self.latitude = str(self.latitude) - - if self._is_empty(self.longitude): - self.MissingRequiredField("longitude") - if not isinstance(self.longitude, str): - self.longitude = str(self.longitude) - - if self.altitude is not None and not isinstance(self.altitude, str): - self.altitude = str(self.altitude) - - if self.crs is not None and not isinstance(self.crs, str): - self.crs = str(self.crs) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSUnit(YAMLRoot): - """ - Definition of a geographical point. - """ - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] - class_class_curie: ClassVar[str] = "gx:GPSUnit" - class_name: ClassVar[str] = "GPSUnit" - class_model_uri: ClassVar[URIRef] = GX.GPSUnit - - degrees: int = None - minutes: Optional[int] = None - seconds: Optional[int] = None - decimals: Optional[float] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.degrees): - self.MissingRequiredField("degrees") - if not isinstance(self.degrees, int): - self.degrees = int(self.degrees) - - if self.minutes is not None and not isinstance(self.minutes, int): - self.minutes = int(self.minutes) - - if self.seconds is not None and not isinstance(self.seconds, int): - self.seconds = int(self.seconds) - - if self.decimals is not None and not isinstance(self.decimals, float): - self.decimals = float(self.decimals) - - super().__post_init__(**kwargs) - - -@dataclass -======= ->>>>>>> Update vm image generations -class GaiaXEntity(YAMLRoot): - """ - Root class for Gaia-X entities. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:GaiaXEntity" - class_name: ClassVar[str] = "GaiaXEntity" - class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity - - name: Optional[str] = None - description: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.name is not None and not isinstance(self.name, str): - self.name = str(self.name) - - if self.description is not None and not isinstance(self.description, str): - self.description = str(self.description) - - super().__post_init__(**kwargs) - - -@dataclass -class Encryption(YAMLRoot): - """ - Encryption capabilities of a Gaia-X entity. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Encryption"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Encryption ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Encryption" - class_name: ClassVar[str] = "Encryption" - class_model_uri: ClassVar[URIRef] = GX.Encryption - - cipher: Union[str, "EncryptionAlgorithm"] = None - keyManagement: Union[str, "KeyManagement"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cipher): - self.MissingRequiredField("cipher") - if not isinstance(self.cipher, EncryptionAlgorithm): - self.cipher = EncryptionAlgorithm(self.cipher) - - if self._is_empty(self.keyManagement): - self.MissingRequiredField("keyManagement") - if not isinstance(self.keyManagement, KeyManagement): - self.keyManagement = KeyManagement(self.keyManagement) - - super().__post_init__(**kwargs) - - -@dataclass -class CheckSum(YAMLRoot): - """ - Detail on how to calculate or verify a checksum. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["CheckSum"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CheckSum ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:CheckSum" - class_name: ClassVar[str] = "CheckSum" - class_model_uri: ClassVar[URIRef] = GX.CheckSum - - checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None -<<<<<<< HEAD - checkSumValue: str = None -======= - checkSum: str = None ->>>>>>> Update vm image generations - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.checkSumCalculation): - self.MissingRequiredField("checkSumCalculation") - if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): - self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - -<<<<<<< HEAD - if self._is_empty(self.checkSumValue): - self.MissingRequiredField("checkSumValue") - if not isinstance(self.checkSumValue, str): - self.checkSumValue = str(self.checkSumValue) -======= - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class Signature(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - -<<<<<<< HEAD - class_class_uri: ClassVar[URIRef] = GX["Signature"] -======= - class_class_uri: ClassVar[URIRef] = GX.Signature ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Signature" - class_name: ClassVar[str] = "Signature" - class_model_uri: ClassVar[URIRef] = GX.Signature - -<<<<<<< HEAD - signatureValue: str = None - hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None - signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signatureValue): - self.MissingRequiredField("signatureValue") - if not isinstance(self.signatureValue, str): - self.signatureValue = str(self.signatureValue) - - if self._is_empty(self.hashAlgorithm): - self.MissingRequiredField("hashAlgorithm") - if not isinstance(self.hashAlgorithm, ChecksumAlgorithm): - self.hashAlgorithm = ChecksumAlgorithm(self.hashAlgorithm) -======= - signature: str = None - signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) ->>>>>>> Update vm image generations - - if self._is_empty(self.signatureAlgorithm): - self.MissingRequiredField("signatureAlgorithm") - if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): - self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) - - super().__post_init__(**kwargs) - - -@dataclass -class Device(YAMLRoot): - """ - Details with respect to properties and capabilities of a hardware or virtualized device. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Device"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Device ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Device" - class_name: ClassVar[str] = "Device" - class_model_uri: ClassVar[URIRef] = GX.Device - - vendor: Optional[str] = None - generation: Optional[str] = None - defaultOversubscriptionRatio: Optional[int] = None -<<<<<<< HEAD - supportedOversubscriptionRatio: Optional[int] = None -======= - supportedOversubscriptionRatio: Optional[Union[int, List[int]]] = empty_list() ->>>>>>> Update vm image generations - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vendor is not None and not isinstance(self.vendor, str): - self.vendor = str(self.vendor) - - if self.generation is not None and not isinstance(self.generation, str): - self.generation = str(self.generation) - -<<<<<<< HEAD - if self.defaultOversubscriptionRatio is not None and not isinstance( - self.defaultOversubscriptionRatio, int - ): - self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - - if self.supportedOversubscriptionRatio is not None and not isinstance( - self.supportedOversubscriptionRatio, int - ): - self.supportedOversubscriptionRatio = int( - self.supportedOversubscriptionRatio - ) -======= - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): - self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - - if not isinstance(self.supportedOversubscriptionRatio, list): - self.supportedOversubscriptionRatio = [self.supportedOversubscriptionRatio] if self.supportedOversubscriptionRatio is not None else [] - self.supportedOversubscriptionRatio = [v if isinstance(v, int) else int(v) for v in self.supportedOversubscriptionRatio] ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class CPU(Device): - """ - Computational processing unit of virtual and physical machines. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["CPU"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CPU ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:CPU" - class_name: ClassVar[str] = "CPU" - class_model_uri: ClassVar[URIRef] = GX.CPU - - cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" - cpuFlag: Optional[Union[str, List[str]]] = empty_list() - smtEnabled: Optional[Union[bool, Bool]] = False - numberOfCores: Optional[int] = None - numberOfThreads: Optional[int] = None - baseFrequency: Optional[Union[dict, "Frequency"]] = None - boostFrequency: Optional[Union[dict, "Frequency"]] = None - lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None - thermalDesignPower: Optional[Union[dict, "Power"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): -<<<<<<< HEAD - if self.cpuArchitecture is not None and not isinstance( - self.cpuArchitecture, Architectures - ): -======= - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): ->>>>>>> Update vm image generations - self.cpuArchitecture = Architectures(self.cpuArchitecture) - - if not isinstance(self.cpuFlag, list): - self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] - self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] - - if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): - self.smtEnabled = Bool(self.smtEnabled) - - if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): - self.numberOfCores = int(self.numberOfCores) - -<<<<<<< HEAD - if self.numberOfThreads is not None and not isinstance( - self.numberOfThreads, int - ): - self.numberOfThreads = int(self.numberOfThreads) - - if self.baseFrequency is not None and not isinstance( - self.baseFrequency, Frequency - ): - self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - - if self.boostFrequency is not None and not isinstance( - self.boostFrequency, Frequency - ): - self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - - if self.lastLevelCacheSize is not None and not isinstance( - self.lastLevelCacheSize, MemorySize - ): - self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - - if self.thermalDesignPower is not None and not isinstance( - self.thermalDesignPower, Power - ): -======= - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): - self.numberOfThreads = int(self.numberOfThreads) - - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): - self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): - self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): - self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): ->>>>>>> Update vm image generations - self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) - - super().__post_init__(**kwargs) - - -@dataclass -class Disk(Device): - """ - Capabilities of a physical or virtual hard drive. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Disk"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Disk ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Disk" - class_name: ClassVar[str] = "Disk" - class_model_uri: ClassVar[URIRef] = GX.Disk - - diskSize: Union[dict, "MemorySize"] = None - diskType: Optional[Union[str, "DiskTypes"]] = "other" - diskBusType: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.diskSize): - self.MissingRequiredField("diskSize") - if not isinstance(self.diskSize, MemorySize): - self.diskSize = MemorySize(**as_dict(self.diskSize)) - - if self.diskType is not None and not isinstance(self.diskType, DiskTypes): - self.diskType = DiskTypes(self.diskType) - - if self.diskBusType is not None and not isinstance(self.diskBusType, str): - self.diskBusType = str(self.diskBusType) - - super().__post_init__(**kwargs) - - -@dataclass -class Endpoint(YAMLRoot): - """ - An endpoint is a mean to access and interact with a service or a resource. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Endpoint"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Endpoint ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Endpoint" - class_name: ClassVar[str] = "Endpoint" - class_model_uri: ClassVar[URIRef] = GX.Endpoint - -<<<<<<< HEAD - standardConformity: Union[ - Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]] - ] = None -======= - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None ->>>>>>> Update vm image generations - endpointURL: Optional[Union[str, URI]] = None - formalDescription: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.standardConformity): - self.MissingRequiredField("standardConformity") -<<<<<<< HEAD - self._normalize_inlined_as_dict( - slot_name="standardConformity", - slot_type=StandardConformity, - key_name="title", - keyed=False, - ) -======= - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) ->>>>>>> Update vm image generations - - if self.endpointURL is not None and not isinstance(self.endpointURL, URI): - self.endpointURL = URI(self.endpointURL) - -<<<<<<< HEAD - if self.formalDescription is not None and not isinstance( - self.formalDescription, str - ): -======= - if self.formalDescription is not None and not isinstance(self.formalDescription, str): ->>>>>>> Update vm image generations - self.formalDescription = str(self.formalDescription) - - super().__post_init__(**kwargs) - - -@dataclass -class GPU(Device): - """ - Graphical processing unit of virtual and physical machines. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["GPU"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPU ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:GPU" - class_name: ClassVar[str] = "GPU" - class_model_uri: ClassVar[URIRef] = GX.GPU - - gpuMemory: Optional[Union[dict, "MemorySize"]] = None -<<<<<<< HEAD - gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" -======= - gpuInterconnection: Optional[str] = "\"none\"" ->>>>>>> Update vm image generations - gpuProcessingUnits: Optional[int] = None - gpuPassthrough: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): - self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - -<<<<<<< HEAD - if self.gpuInterconnection is not None and not isinstance( - self.gpuInterconnection, GPUInterconnetionTypes - ): - self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - - if self.gpuProcessingUnits is not None and not isinstance( - self.gpuProcessingUnits, int - ): - self.gpuProcessingUnits = int(self.gpuProcessingUnits) - - if self.gpuPassthrough is not None and not isinstance( - self.gpuPassthrough, Bool - ): -======= - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, str): - self.gpuInterconnection = str(self.gpuInterconnection) - - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): - self.gpuProcessingUnits = int(self.gpuProcessingUnits) - - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): ->>>>>>> Update vm image generations - self.gpuPassthrough = Bool(self.gpuPassthrough) - - super().__post_init__(**kwargs) - - -@dataclass -class MaintenanceSubscription(YAMLRoot): - """ - A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" - class_name: ClassVar[str] = "MaintenanceSubscription" - class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - - subscriptionIncluded: Optional[Union[bool, Bool]] = False - subscriptionRequired: Optional[Union[bool, Bool]] = False - maintainedUntil: Optional[Union[str, XSDDate]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): -<<<<<<< HEAD - if self.subscriptionIncluded is not None and not isinstance( - self.subscriptionIncluded, Bool - ): - self.subscriptionIncluded = Bool(self.subscriptionIncluded) - - if self.subscriptionRequired is not None and not isinstance( - self.subscriptionRequired, Bool - ): - self.subscriptionRequired = Bool(self.subscriptionRequired) - - if self.maintainedUntil is not None and not isinstance( - self.maintainedUntil, XSDDate - ): -======= - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): - self.subscriptionIncluded = Bool(self.subscriptionIncluded) - - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): - self.subscriptionRequired = Bool(self.subscriptionRequired) - - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): ->>>>>>> Update vm image generations - self.maintainedUntil = XSDDate(self.maintainedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class UpdateStrategy(YAMLRoot): - """ - Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the - lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own - unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them - referencable by its ID for a transition period for customers' convenience. This class defines important aspects of - providers image update policy. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:UpdateStrategy" - class_name: ClassVar[str] = "UpdateStrategy" - class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy - - replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None - hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): -<<<<<<< HEAD - if self.replaceFrequency is not None and not isinstance( - self.replaceFrequency, UpdateFrequency - ): -======= - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): ->>>>>>> Update vm image generations - self.replaceFrequency = UpdateFrequency(self.replaceFrequency) - - if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): - self.hotfixHours = int(self.hotfixHours) - -<<<<<<< HEAD - if self.oldVersionsValidUntil is not None and not isinstance( - self.oldVersionsValidUntil, str - ): -======= - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): ->>>>>>> Update vm image generations - self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) - - if self.providedUntil is not None and not isinstance(self.providedUntil, str): - self.providedUntil = str(self.providedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class LatestN(YAMLRoot): - """ - Number of latest N outdated image versions, which will be valid. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["LatestN"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LatestN ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:LatestN" - class_name: ClassVar[str] = "Latest_N" - class_model_uri: ClassVar[URIRef] = GX.LatestN - - value: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.value is not None and not isinstance(self.value, int): - self.value = int(self.value) - - super().__post_init__(**kwargs) - - -class InstantiationRequirement(YAMLRoot): - """ - A container class to gather all requirements for compute service offering instantiations. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" - class_name: ClassVar[str] = "InstantiationRequirement" - class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement - - -@dataclass -class Issuer(YAMLRoot): - """ - An issuer of W3C Verifiable Credentials and Verifiable Presentations. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Issuer"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Issuer ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Issuer" - class_name: ClassVar[str] = "Issuer" - class_model_uri: ClassVar[URIRef] = GX.Issuer - - issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.issuerTermsAndConditions): - self.MissingRequiredField("issuerTermsAndConditions") - if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): -<<<<<<< HEAD - self.issuerTermsAndConditions = GaiaXTermsAndConditions( - self.issuerTermsAndConditions - ) -======= - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -class RegistrationNumber(YAMLRoot): - """ - Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, - EODI, and EUID. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:RegistrationNumber" - class_name: ClassVar[str] = "RegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber - - -@dataclass -class LocalRegistrationNumber(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - -<<<<<<< HEAD - class_class_uri: ClassVar[URIRef] = GX["LocalRegistrationNumber"] -======= - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" - class_name: ClassVar[str] = "LocalRegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - - local: Union[str, LocalRegistrationNumberLocal] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.local): - self.MissingRequiredField("local") - if not isinstance(self.local, LocalRegistrationNumberLocal): - self.local = LocalRegistrationNumberLocal(self.local) - - super().__post_init__(**kwargs) - - -@dataclass -class VatID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - -<<<<<<< HEAD - class_class_uri: ClassVar[URIRef] = GX["VatID"] -======= - class_class_uri: ClassVar[URIRef] = GX.VatID ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:VatID" - class_name: ClassVar[str] = "VatID" - class_model_uri: ClassVar[URIRef] = GX.VatID - - vatID: Union[str, VatIDVatID] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.vatID): - self.MissingRequiredField("vatID") - if not isinstance(self.vatID, VatIDVatID): - self.vatID = VatIDVatID(self.vatID) - - super().__post_init__(**kwargs) - - -@dataclass -class LeiCode(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - -<<<<<<< HEAD - class_class_uri: ClassVar[URIRef] = GX["LeiCode"] -======= - class_class_uri: ClassVar[URIRef] = GX.LeiCode ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:LeiCode" - class_name: ClassVar[str] = "LeiCode" - class_model_uri: ClassVar[URIRef] = GX.LeiCode - - leiCode: Union[str, LeiCodeLeiCode] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.leiCode): - self.MissingRequiredField("leiCode") - if not isinstance(self.leiCode, LeiCodeLeiCode): - self.leiCode = LeiCodeLeiCode(self.leiCode) - - super().__post_init__(**kwargs) - - -@dataclass -class EORI(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - -<<<<<<< HEAD - class_class_uri: ClassVar[URIRef] = GX["EORI"] -======= - class_class_uri: ClassVar[URIRef] = GX.EORI ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:EORI" - class_name: ClassVar[str] = "EORI" - class_model_uri: ClassVar[URIRef] = GX.EORI - - eori: Union[str, EORIEori] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.eori): - self.MissingRequiredField("eori") - if not isinstance(self.eori, EORIEori): - self.eori = EORIEori(self.eori) - - super().__post_init__(**kwargs) - - -@dataclass -class EUID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - -<<<<<<< HEAD - class_class_uri: ClassVar[URIRef] = GX["EUID"] -======= - class_class_uri: ClassVar[URIRef] = GX.EUID ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:EUID" - class_name: ClassVar[str] = "EUID" - class_model_uri: ClassVar[URIRef] = GX.EUID - - euid: Union[str, EUIDEuid] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.euid): - self.MissingRequiredField("euid") - if not isinstance(self.euid, EUIDEuid): - self.euid = EUIDEuid(self.euid) - - super().__post_init__(**kwargs) - - -@dataclass -class Memory(Device): - """ - Details with respect to properties and capabilities of RAM. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Memory"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Memory ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Memory" - class_name: ClassVar[str] = "Memory" - class_model_uri: ClassVar[URIRef] = GX.Memory - - memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" - eccEnabled: Optional[Union[bool, Bool]] = False - hardwareEncryption: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.memorySize): - self.MissingRequiredField("memorySize") - if not isinstance(self.memorySize, MemorySize): - self.memorySize = MemorySize(**as_dict(self.memorySize)) - -<<<<<<< HEAD - if self.memoryClass is not None and not isinstance( - self.memoryClass, MemoryClasses - ): -======= - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): ->>>>>>> Update vm image generations - self.memoryClass = MemoryClasses(self.memoryClass) - - if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): - self.memoryRank = MemoryRanks(self.memoryRank) - - if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): - self.eccEnabled = Bool(self.eccEnabled) - -<<<<<<< HEAD - if self.hardwareEncryption is not None and not isinstance( - self.hardwareEncryption, Bool - ): -======= - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): ->>>>>>> Update vm image generations - self.hardwareEncryption = Bool(self.hardwareEncryption) - - super().__post_init__(**kwargs) - - -@dataclass -class Quantity(YAMLRoot): - """ - Abstract parent class for all physical quantities, such as frequency, power or length. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT.Quantity ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "qudt:Quantity" - class_name: ClassVar[str] = "Quantity" - class_model_uri: ClassVar[URIRef] = GX.Quantity - - value: float = None -<<<<<<< HEAD - unit: str = None -======= - unit: Union[str, URI] = None ->>>>>>> Update vm image generations - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.value): - self.MissingRequiredField("value") - if not isinstance(self.value, float): - self.value = float(self.value) - - if self._is_empty(self.unit): - self.MissingRequiredField("unit") -<<<<<<< HEAD - if not isinstance(self.unit, str): - self.unit = str(self.unit) -======= - if not isinstance(self.unit, URI): - self.unit = URI(self.unit) ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class Frequency(Quantity): - """ - Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. - """ -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" - class_name: ClassVar[str] = "Frequency" - class_model_uri: ClassVar[URIRef] = GX.Frequency - - value: float = None -<<<<<<< HEAD - unit: str = None - -======= - unit: Union[str, URI] = None ->>>>>>> Update vm image generations - -@dataclass -class MemorySize(Quantity): - """ - The number of bits, that can be stored on a digital storage. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["MemorySize"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MemorySize ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:MemorySize" - class_name: ClassVar[str] = "MemorySize" - class_model_uri: ClassVar[URIRef] = GX.MemorySize - - value: float = None -<<<<<<< HEAD - unit: str = None - -======= - unit: Union[str, URI] = None ->>>>>>> Update vm image generations - -@dataclass -class Power(Quantity): - """ - Definition of 'Power', according to http://qudt.org/quantitykind/Power. - """ -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" - class_name: ClassVar[str] = "Power" - class_model_uri: ClassVar[URIRef] = GX.Power - - value: float = None -<<<<<<< HEAD - unit: str = None - -======= - unit: Union[str, URI] = None ->>>>>>> Update vm image generations - -class Participant(GaiaXEntity): - """ - An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Participant"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Participant ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Participant" - class_name: ClassVar[str] = "Participant" - class_model_uri: ClassVar[URIRef] = GX.Participant - - -@dataclass -class LegalPerson(Participant): - """ - A legal person, who is uniquely identified by its registration number. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LegalPerson ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:LegalPerson" - class_name: ClassVar[str] = "LegalPerson" - class_model_uri: ClassVar[URIRef] = GX.LegalPerson - -<<<<<<< HEAD - registrationNumber: Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] = None - legalAddress: Union[dict, Address] = None - headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ] = empty_list() - subOrganisationOf: Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ] = empty_list() -======= - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - legalAddress: Union[dict, Address] = None - headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() ->>>>>>> Update vm image generations - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.registrationNumber): - self.MissingRequiredField("registrationNumber") - if not isinstance(self.registrationNumber, list): -<<<<<<< HEAD - self.registrationNumber = ( - [self.registrationNumber] if self.registrationNumber is not None else [] - ) - self.registrationNumber = [ - v - if isinstance(v, LegalPersonRegistrationNumber) - else LegalPersonRegistrationNumber(v) - for v in self.registrationNumber - ] -======= - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] ->>>>>>> Update vm image generations - - if self._is_empty(self.legalAddress): - self.MissingRequiredField("legalAddress") - if not isinstance(self.legalAddress, Address): - self.legalAddress = Address(**as_dict(self.legalAddress)) - - if self._is_empty(self.headquartersAddress): - self.MissingRequiredField("headquartersAddress") - if not isinstance(self.headquartersAddress, Address): - self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) - - if not isinstance(self.parentOrganizationOf, list): -<<<<<<< HEAD - self.parentOrganizationOf = ( - [self.parentOrganizationOf] - if self.parentOrganizationOf is not None - else [] - ) - self.parentOrganizationOf = [ - v - if isinstance(v, LegalPersonRegistrationNumber) - else LegalPersonRegistrationNumber(v) - for v in self.parentOrganizationOf - ] - - if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = ( - [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - ) - self.subOrganisationOf = [ - v - if isinstance(v, LegalPersonRegistrationNumber) - else LegalPersonRegistrationNumber(v) - for v in self.subOrganisationOf - ] -======= - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] - - if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class Resource(GaiaXEntity): - """ - Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist - independently of it. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Resource"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Resource ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Resource" - class_name: ClassVar[str] = "Resource" - class_model_uri: ClassVar[URIRef] = GX.Resource - - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if not isinstance(self.aggregationOfResources, list): -<<<<<<< HEAD - self.aggregationOfResources = ( - [self.aggregationOfResources] - if self.aggregationOfResources is not None - else [] - ) - self.aggregationOfResources = [ - v if isinstance(v, str) else str(v) for v in self.aggregationOfResources - ] -======= - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualResource(Resource): - """ - It represents static data in any form and necessary information such as dataset, configuration file, license, - keypair, an AI model, neural network weights, etc. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualResource ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:VirtualResource" - class_name: ClassVar[str] = "VirtualResource" - class_model_uri: ClassVar[URIRef] = GX.VirtualResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.copyrightOwnedBy): - self.MissingRequiredField("copyrightOwnedBy") - if not isinstance(self.copyrightOwnedBy, list): -<<<<<<< HEAD - self.copyrightOwnedBy = ( - [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - ) - self.copyrightOwnedBy = [ - v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy - ] -======= - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] ->>>>>>> Update vm image generations - - if self._is_empty(self.license): - self.MissingRequiredField("license") - if not isinstance(self.license, list): - self.license = [self.license] if self.license is not None else [] - self.license = [v if isinstance(v, str) else str(v) for v in self.license] - - if self._is_empty(self.resourcePolicy): - self.MissingRequiredField("resourcePolicy") - if not isinstance(self.resourcePolicy, list): -<<<<<<< HEAD - self.resourcePolicy = ( - [self.resourcePolicy] if self.resourcePolicy is not None else [] - ) - self.resourcePolicy = [ - v if isinstance(v, str) else str(v) for v in self.resourcePolicy - ] -======= - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class PhysicalResource(Resource): - """ - A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are - entities that have a weight and position in physical space. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:PhysicalResource" - class_name: ClassVar[str] = "PhysicalResource" - class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - -<<<<<<< HEAD - maintainedBy: Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] = None - location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ] = empty_list() - manufacturedBy: Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ] = empty_list() -======= - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() ->>>>>>> Update vm image generations - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.maintainedBy): - self.MissingRequiredField("maintainedBy") - if not isinstance(self.maintainedBy, list): -<<<<<<< HEAD - self.maintainedBy = ( - [self.maintainedBy] if self.maintainedBy is not None else [] - ) - self.maintainedBy = [ - v - if isinstance(v, LegalPersonRegistrationNumber) - else LegalPersonRegistrationNumber(v) - for v in self.maintainedBy - ] - - if self._is_empty(self.location): - self.MissingRequiredField("location") - self._normalize_inlined_as_dict( - slot_name="location", slot_type=Address, key_name="countryCode", keyed=False - ) - - if not isinstance(self.ownedBy, list): - self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [ - v - if isinstance(v, LegalPersonRegistrationNumber) - else LegalPersonRegistrationNumber(v) - for v in self.ownedBy - ] - - if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = ( - [self.manufacturedBy] if self.manufacturedBy is not None else [] - ) - self.manufacturedBy = [ - v - if isinstance(v, LegalPersonRegistrationNumber) - else LegalPersonRegistrationNumber(v) - for v in self.manufacturedBy - ] -======= - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] - - if self._is_empty(self.location): - self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) - - if not isinstance(self.ownedBy, list): - self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] - - if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class SoftwareResource(VirtualResource): - """ - A Gaia-X Virtual Resource describing an executable program. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:SoftwareResource" - class_name: ClassVar[str] = "SoftwareResource" - class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - checksum: Optional[Union[dict, CheckSum]] = None - signature: Optional[Union[dict, Signature]] = None - version: Optional[str] = None - patchLevel: Optional[str] = None - buildDate: Optional[Union[str, XSDDateTime]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.checksum is not None and not isinstance(self.checksum, CheckSum): - self.checksum = CheckSum(**as_dict(self.checksum)) - - if self.signature is not None and not isinstance(self.signature, Signature): - self.signature = Signature(**as_dict(self.signature)) - - if self.version is not None and not isinstance(self.version, str): - self.version = str(self.version) - - if self.patchLevel is not None and not isinstance(self.patchLevel, str): - self.patchLevel = str(self.patchLevel) - - if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): - self.buildDate = XSDDateTime(self.buildDate) - - super().__post_init__(**kwargs) - - -@dataclass -class CodeArtifact(SoftwareResource): - """ - A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:CodeArtifact" - class_name: ClassVar[str] = "CodeArtifact" - class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations -@dataclass -class Image(CodeArtifact): - """ - A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of - OperatingSystem and CodeArtifact. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Image"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Image ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Image" - class_name: ClassVar[str] = "Image" - class_model_uri: ClassVar[URIRef] = GX.Image - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - fileSize: Optional[Union[dict, "MemorySize"]] = None - operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None - cpuReq: Optional[Union[dict, CPU]] = None - gpuReq: Optional[Union[dict, GPU]] = None - ramReq: Optional[Union[dict, "Memory"]] = None - videoRamSize: Optional[Union[dict, "MemorySize"]] = None - rootDiskReq: Optional[Union[dict, Disk]] = None - encryption: Optional[Union[dict, Encryption]] = None -<<<<<<< HEAD - checkSum: Optional[Union[dict, CheckSum]] = None -======= ->>>>>>> Update vm image generations - secureBoot: Optional[Union[bool, Bool]] = False - vPMU: Optional[Union[bool, Bool]] = False - multiQueues: Optional[Union[bool, Bool]] = False - updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None - licenseIncluded: Optional[Union[bool, Bool]] = False - maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): - self.fileSize = MemorySize(**as_dict(self.fileSize)) - -<<<<<<< HEAD - if self.operatingSystem is not None and not isinstance( - self.operatingSystem, OperatingSystem - ): -======= - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): ->>>>>>> Update vm image generations - self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) - - if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): - self.cpuReq = CPU(**as_dict(self.cpuReq)) - - if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): - self.gpuReq = GPU(**as_dict(self.gpuReq)) - - if self.ramReq is not None and not isinstance(self.ramReq, Memory): - self.ramReq = Memory(**as_dict(self.ramReq)) - -<<<<<<< HEAD - if self.videoRamSize is not None and not isinstance( - self.videoRamSize, MemorySize - ): -======= - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): ->>>>>>> Update vm image generations - self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) - - if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): - self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) - - if self.encryption is not None and not isinstance(self.encryption, Encryption): - self.encryption = Encryption(**as_dict(self.encryption)) - -<<<<<<< HEAD - if self.checkSum is not None and not isinstance(self.checkSum, CheckSum): - self.checkSum = CheckSum(**as_dict(self.checkSum)) - -======= ->>>>>>> Update vm image generations - if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): - self.secureBoot = Bool(self.secureBoot) - - if self.vPMU is not None and not isinstance(self.vPMU, Bool): - self.vPMU = Bool(self.vPMU) - - if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): - self.multiQueues = Bool(self.multiQueues) - -<<<<<<< HEAD - if self.updateStrategy is not None and not isinstance( - self.updateStrategy, UpdateStrategy - ): - self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - - if self.licenseIncluded is not None and not isinstance( - self.licenseIncluded, Bool - ): - self.licenseIncluded = Bool(self.licenseIncluded) - - if self.maintenance is not None and not isinstance( - self.maintenance, MaintenanceSubscription - ): -======= - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): - self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): - self.licenseIncluded = Bool(self.licenseIncluded) - - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): ->>>>>>> Update vm image generations - self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) - - super().__post_init__(**kwargs) - - -@dataclass -class PXEImage(Image): - """ - PXE image for physical machines. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["PXEImage"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PXEImage ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:PXEImage" - class_name: ClassVar[str] = "PXE_Image" - class_model_uri: ClassVar[URIRef] = GX.PXEImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None -<<<<<<< HEAD - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance( - self.pxeImageDiskFormat, PXEDiskType - ): -======= - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "\"ISO\"" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): ->>>>>>> Update vm image generations - self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) - - super().__post_init__(**kwargs) - - -@dataclass -class OperatingSystem(SoftwareResource): - """ - A special Gaia-X Software Resource describing an operating system. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:OperatingSystem" - class_name: ClassVar[str] = "OperatingSystem" - class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - osDistribution: Union[str, "OSDistribution"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.osDistribution): - self.MissingRequiredField("osDistribution") - if not isinstance(self.osDistribution, OSDistribution): - self.osDistribution = OSDistribution(self.osDistribution) - - super().__post_init__(**kwargs) - - -@dataclass -class Hypervisor(SoftwareResource): - """ - A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Hypervisor ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:Hypervisor" - class_name: ClassVar[str] = "Hypervisor" - class_model_uri: ClassVar[URIRef] = GX.Hypervisor - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - hypervisorType: Union[str, "HypervisorType"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.hypervisorType): - self.MissingRequiredField("hypervisorType") - if not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - super().__post_init__(**kwargs) - - -@dataclass -class ServiceOffering(GaiaXEntity): - """ - A digital service available for order. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:ServiceOffering" - class_name: ClassVar[str] = "ServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None -<<<<<<< HEAD - serviceOfferingTermsAndConditions: Union[ - Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] - ] = None - dataAccountExport: Union[ - Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] - ] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[ - Union[ - Union[str, "PersonalDataProtectionRegime"], - List[Union[str, "PersonalDataProtectionRegime"]], - ] - ] = empty_list() -======= - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() ->>>>>>> Update vm image generations - keyword: Optional[Union[str, List[str]]] = empty_list() - provisionType: Optional[Union[str, "ProvisionTypes"]] = None - endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.providedBy): - self.MissingRequiredField("providedBy") - if not isinstance(self.providedBy, LegalPersonRegistrationNumber): - self.providedBy = LegalPersonRegistrationNumber(self.providedBy) - - if self._is_empty(self.serviceOfferingTermsAndConditions): - self.MissingRequiredField("serviceOfferingTermsAndConditions") -<<<<<<< HEAD - self._normalize_inlined_as_dict( - slot_name="serviceOfferingTermsAndConditions", - slot_type=TermsAndConditions, - key_name="url", - keyed=False, - ) -======= - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) ->>>>>>> Update vm image generations - - if self._is_empty(self.servicePolicy): - self.MissingRequiredField("servicePolicy") - if not isinstance(self.servicePolicy, list): -<<<<<<< HEAD - self.servicePolicy = ( - [self.servicePolicy] if self.servicePolicy is not None else [] - ) - self.servicePolicy = [ - v if isinstance(v, str) else str(v) for v in self.servicePolicy - ] - - if self._is_empty(self.dataAccountExport): - self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict( - slot_name="dataAccountExport", - slot_type=DataAccountExport, - key_name="requestType", - keyed=False, - ) -======= - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] - - if self._is_empty(self.dataAccountExport): - self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) ->>>>>>> Update vm image generations - - if not isinstance(self.dependsOn, list): - self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] - self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] - - if not isinstance(self.aggregationOfResources, list): -<<<<<<< HEAD - self.aggregationOfResources = ( - [self.aggregationOfResources] - if self.aggregationOfResources is not None - else [] - ) - self.aggregationOfResources = [ - v if isinstance(v, str) else str(v) for v in self.aggregationOfResources - ] - - if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = ( - [self.dataProtectionRegime] - if self.dataProtectionRegime is not None - else [] - ) - self.dataProtectionRegime = [ - v - if isinstance(v, PersonalDataProtectionRegime) - else PersonalDataProtectionRegime(v) - for v in self.dataProtectionRegime - ] -======= - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] ->>>>>>> Update vm image generations - - if not isinstance(self.keyword, list): - self.keyword = [self.keyword] if self.keyword is not None else [] - self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - -<<<<<<< HEAD - if self.provisionType is not None and not isinstance( - self.provisionType, ProvisionTypes - ): -======= - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): ->>>>>>> Update vm image generations - self.provisionType = ProvisionTypes(self.provisionType) - - if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): - self.endpoint = Endpoint(**as_dict(self.endpoint)) - - if not isinstance(self.hostedOn, list): - self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] - self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] - - super().__post_init__(**kwargs) - - -@dataclass -class InfrastructureServiceOffering(ServiceOffering): - """ - A digital service available for order and offering computational, storage and/pr network capabilities. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" - class_name: ClassVar[str] = "InfrastructureServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None -<<<<<<< HEAD - serviceOfferingTermsAndConditions: Union[ - Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] - ] = None - dataAccountExport: Union[ - Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] - ] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - -======= - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" ->>>>>>> Update vm image generations - -@dataclass -class ComputeServiceOffering(InfrastructureServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" - class_name: ClassVar[str] = "ComputeServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None -<<<<<<< HEAD - serviceOfferingTermsAndConditions: Union[ - Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] - ] = None - dataAccountExport: Union[ - Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] - ] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance( - self.tenantSeparation, TenantSeparation - ): -======= - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" - tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): ->>>>>>> Update vm image generations - self.tenantSeparation = TenantSeparation(self.tenantSeparation) - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualMachineServiceOffering(ComputeServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" - class_name: ClassVar[str] = "VirtualMachineServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None -<<<<<<< HEAD - serviceOfferingTermsAndConditions: Union[ - Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] - ] = None - dataAccountExport: Union[ - Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] - ] = None - codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[ - Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]] - ] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" -======= - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "\"default:allow intent.\"" ->>>>>>> Update vm image generations - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.codeArtifact): - self.MissingRequiredField("codeArtifact") -<<<<<<< HEAD - self._normalize_inlined_as_dict( - slot_name="codeArtifact", - slot_type=VMImage, - key_name="copyrightOwnedBy", - keyed=False, - ) - - if self._is_empty(self.instantiationReq): - self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict( - slot_name="instantiationReq", - slot_type=ServerFlavor, - key_name="cpu", - keyed=False, - ) -======= - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) - - if self._is_empty(self.instantiationReq): - self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) ->>>>>>> Update vm image generations - - super().__post_init__(**kwargs) - - -@dataclass -class TermsAndConditions(YAMLRoot): - """ - Terms and Conditions applying to a service offering. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:TermsAndConditions" - class_name: ClassVar[str] = "TermsAndConditions" - class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions - - url: Union[str, URI] = None - hash: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.url): - self.MissingRequiredField("url") - if not isinstance(self.url, URI): - self.url = URI(self.url) - - if self._is_empty(self.hash): - self.MissingRequiredField("hash") - if not isinstance(self.hash, str): - self.hash = str(self.hash) - - super().__post_init__(**kwargs) - - -@dataclass -class DataAccountExport(YAMLRoot): - """ - List of methods to export data from your account out of the service. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:DataAccountExport" - class_name: ClassVar[str] = "DataAccountExport" - class_model_uri: ClassVar[URIRef] = GX.DataAccountExport - - requestType: Union[str, "RequestTypes"] = None - accessType: Union[str, "AccessTypes"] = None - formatType: Union[str, "MIMETypes"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.requestType): - self.MissingRequiredField("requestType") - if not isinstance(self.requestType, RequestTypes): - self.requestType = RequestTypes(self.requestType) - - if self._is_empty(self.accessType): - self.MissingRequiredField("accessType") - if not isinstance(self.accessType, AccessTypes): - self.accessType = AccessTypes(self.accessType) - - if self._is_empty(self.formatType): - self.MissingRequiredField("formatType") - if not isinstance(self.formatType, MIMETypes): - self.formatType = MIMETypes(self.formatType) - - super().__post_init__(**kwargs) - - -@dataclass -class StandardConformity(YAMLRoot): - """ - Details about standard applied to Gaia-X entities. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.StandardConformity ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:StandardConformity" - class_name: ClassVar[str] = "StandardConformity" - class_model_uri: ClassVar[URIRef] = GX.StandardConformity - - title: str = None - standardReference: Union[str, URI] = None - publisher: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.title): - self.MissingRequiredField("title") - if not isinstance(self.title, str): - self.title = str(self.title) - - if self._is_empty(self.standardReference): - self.MissingRequiredField("standardReference") - if not isinstance(self.standardReference, URI): - self.standardReference = URI(self.standardReference) - - if self.publisher is not None and not isinstance(self.publisher, str): - self.publisher = str(self.publisher) - - super().__post_init__(**kwargs) - - -@dataclass -<<<<<<< HEAD -class DataResource(VirtualResource): - """ - A dataset exposed through a service instance. - """ - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["DataResource"] - class_class_curie: ClassVar[str] = "gx:DataResource" - class_name: ClassVar[str] = "DataResource" - class_model_uri: ClassVar[URIRef] = GX.DataResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[ - Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]] - ] = None - containsPII: Union[bool, Bool] = None - obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None - expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[ - Union[Union[dict, Participant], List[Union[dict, Participant]]] - ] = empty_list() - consent: Optional[ - Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]] - ] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.producedBy): - self.MissingRequiredField("producedBy") - if not isinstance(self.producedBy, LegalPersonRegistrationNumber): - self.producedBy = LegalPersonRegistrationNumber(self.producedBy) - - if self._is_empty(self.exposedThrough): - self.MissingRequiredField("exposedThrough") - if not isinstance(self.exposedThrough, list): - self.exposedThrough = ( - [self.exposedThrough] if self.exposedThrough is not None else [] - ) - self.exposedThrough = [ - v - if isinstance(v, DataExchangeComponent) - else DataExchangeComponent(**as_dict(v)) - for v in self.exposedThrough - ] - - if self._is_empty(self.containsPII): - self.MissingRequiredField("containsPII") - if not isinstance(self.containsPII, Bool): - self.containsPII = Bool(self.containsPII) - - if self.obsoleteDateTime is not None and not isinstance( - self.obsoleteDateTime, XSDDateTime - ): - self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - - if self.expirationDateTime is not None and not isinstance( - self.expirationDateTime, XSDDateTime - ): - self.expirationDateTime = XSDDateTime(self.expirationDateTime) - - if not isinstance(self.dataController, list): - self.dataController = ( - [self.dataController] if self.dataController is not None else [] - ) - self.dataController = [ - v if isinstance(v, Participant) else Participant(**as_dict(v)) - for v in self.dataController - ] - - self._normalize_inlined_as_dict( - slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False - ) - - super().__post_init__(**kwargs) - - -@dataclass -class Consent(YAMLRoot): - """ - Information on the legitimate processing of information related to PII. - """ - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["Consent"] - class_class_curie: ClassVar[str] = "gx:Consent" - class_name: ClassVar[str] = "Consent" - class_model_uri: ClassVar[URIRef] = GX.Consent - - legalBasis: str = None - dataProtectionContactPoint: Union[str, List[str]] = None - purpose: Union[str, List[str]] = None - consentWithdrawalContactPoint: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.legalBasis): - self.MissingRequiredField("legalBasis") - if not isinstance(self.legalBasis, str): - self.legalBasis = str(self.legalBasis) - - if self._is_empty(self.dataProtectionContactPoint): - self.MissingRequiredField("dataProtectionContactPoint") - if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = ( - [self.dataProtectionContactPoint] - if self.dataProtectionContactPoint is not None - else [] - ) - self.dataProtectionContactPoint = [ - v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint - ] - - if self._is_empty(self.purpose): - self.MissingRequiredField("purpose") - if not isinstance(self.purpose, list): - self.purpose = [self.purpose] if self.purpose is not None else [] - self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] - - if self._is_empty(self.consentWithdrawalContactPoint): - self.MissingRequiredField("consentWithdrawalContactPoint") - if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = ( - [self.consentWithdrawalContactPoint] - if self.consentWithdrawalContactPoint is not None - else [] - ) - self.consentWithdrawalContactPoint = [ - v if isinstance(v, str) else str(v) - for v in self.consentWithdrawalContactPoint - ] - - super().__post_init__(**kwargs) - - -class DataExchangeComponent(YAMLRoot): - """ - A service/resource used to make a data resource available. - """ - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] - class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" - class_name: ClassVar[str] = "DataExchangeComponent" - class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent - - -@dataclass -======= ->>>>>>> Update vm image generations -class VMImage(Image): - """ - Image for virtual machines. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["VMImage"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VMImage ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:VMImage" - class_name: ClassVar[str] = "VM_Image" - class_model_uri: ClassVar[URIRef] = GX.VMImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" - firmwareType: Optional[Union[str, "FirmType"]] = "other" - hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" - watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): -<<<<<<< HEAD - if self.vmImageDiskFormat is not None and not isinstance( - self.vmImageDiskFormat, VMDiskType - ): - self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - - if self.hypervisorType is not None and not isinstance( - self.hypervisorType, HypervisorType - ): - self.hypervisorType = HypervisorType(self.hypervisorType) - - if self.firmwareType is not None and not isinstance( - self.firmwareType, FirmType - ): - self.firmwareType = FirmType(self.firmwareType) - - if self.hwRngTypeOfImage is not None and not isinstance( - self.hwRngTypeOfImage, RNGTypes - ): - self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - - if self.watchDogAction is not None and not isinstance( - self.watchDogAction, WatchDogActions - ): -======= - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): - self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): - self.firmwareType = FirmType(self.firmwareType) - - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): - self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): ->>>>>>> Update vm image generations - self.watchDogAction = WatchDogActions(self.watchDogAction) - - super().__post_init__(**kwargs) - - -@dataclass -class ServerFlavor(YAMLRoot): - """ - Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or - virtual servers that can be launched. - """ -<<<<<<< HEAD - - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] -======= - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:ServerFlavor" - class_name: ClassVar[str] = "ServerFlavor" - class_model_uri: ClassVar[URIRef] = GX.ServerFlavor - - cpu: Union[dict, CPU] = None - ram: Union[dict, Memory] = None - bootVolume: Union[dict, Disk] = None - gpu: Optional[Union[dict, GPU]] = None - network: Optional[str] = None -<<<<<<< HEAD - additionalVolume: Optional[ - Union[Union[dict, Disk], List[Union[dict, Disk]]] - ] = empty_list() -======= - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() ->>>>>>> Update vm image generations - confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None - hypervisor: Optional[Union[dict, SoftwareResource]] = None - hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False - hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cpu): - self.MissingRequiredField("cpu") - if not isinstance(self.cpu, CPU): - self.cpu = CPU(**as_dict(self.cpu)) - - if self._is_empty(self.ram): - self.MissingRequiredField("ram") - if not isinstance(self.ram, Memory): - self.ram = Memory(**as_dict(self.ram)) - - if self._is_empty(self.bootVolume): - self.MissingRequiredField("bootVolume") - if not isinstance(self.bootVolume, Disk): - self.bootVolume = Disk(**as_dict(self.bootVolume)) - - if self.gpu is not None and not isinstance(self.gpu, GPU): - self.gpu = GPU(**as_dict(self.gpu)) - - if self.network is not None and not isinstance(self.network, str): - self.network = str(self.network) - -<<<<<<< HEAD - self._normalize_inlined_as_dict( - slot_name="additionalVolume", - slot_type=Disk, - key_name="diskSize", - keyed=False, - ) - - if self.confidentialComputing is not None and not isinstance( - self.confidentialComputing, ConfidentialComputing - ): - self.confidentialComputing = ConfidentialComputing( - **as_dict(self.confidentialComputing) - ) - - if self.hypervisor is not None and not isinstance( - self.hypervisor, SoftwareResource - ): - self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - - if self.hardwareAssistedVirtualization is not None and not isinstance( - self.hardwareAssistedVirtualization, Bool - ): - self.hardwareAssistedVirtualization = Bool( - self.hardwareAssistedVirtualization - ) - - if self.hwRngTypeOfFlavor is not None and not isinstance( - self.hwRngTypeOfFlavor, RNGTypes - ): -======= - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): - self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) - - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): ->>>>>>> Update vm image generations - self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) - - super().__post_init__(**kwargs) - - -@dataclass -class ConfidentialComputing(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - -<<<<<<< HEAD - class_class_uri: ClassVar[URIRef] = GX["ConfidentialComputing"] -======= - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing ->>>>>>> Update vm image generations - class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" - class_name: ClassVar[str] = "ConfidentialComputing" - class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing - - technology: str = None - attestationServiceURI: Optional[Union[str, URI]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.technology): - self.MissingRequiredField("technology") - if not isinstance(self.technology, str): - self.technology = str(self.technology) - -<<<<<<< HEAD - if self.attestationServiceURI is not None and not isinstance( - self.attestationServiceURI, URI - ): -======= - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): ->>>>>>> Update vm image generations - self.attestationServiceURI = URI(self.attestationServiceURI) - - super().__post_init__(**kwargs) - - -# Enumerations -class CountryNameAlpha2(EnumDefinitionImpl): -<<<<<<< HEAD - AF = PermissibleValue(text="AF", description="Alpha2 code for Afghanistan.") - EG = PermissibleValue(text="EG", description="Alpha2 code for Egypt.") - AX = PermissibleValue(text="AX", description="Alpha2 code for Aland Islands.") - AL = PermissibleValue(text="AL", description="Alpha2 code for Albania.") - DZ = PermissibleValue(text="DZ", description="Alpha2 code for Algeria.") - VI = PermissibleValue( - text="VI", description="Alpha2 code for Virgin Islands (U.S.)." - ) - UM = PermissibleValue( - text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).", - ) - AS = PermissibleValue(text="AS", description="Alpha2 code for American Samoa.") - AD = PermissibleValue(text="AD", description="Alpha2 code for Andorra.") - AO = PermissibleValue(text="AO", description="Alpha2 code for Angola.") - AI = PermissibleValue(text="AI", description="Alpha2 code for Anguilla.") - AQ = PermissibleValue(text="AQ", description="Alpha2 code for Antarctica.") - AG = PermissibleValue(text="AG", description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue(text="GQ", description="Alpha2 code for Equatorial Guinea.") - SY = PermissibleValue( - text="SY", description="Alpha2 code for Syrian Arab Republic." - ) - AR = PermissibleValue(text="AR", description="Alpha2 code for Argentina.") - AM = PermissibleValue(text="AM", description="Alpha2 code for Armenia.") - AW = PermissibleValue(text="AW", description="Alpha2 code for Aruba.") - AZ = PermissibleValue(text="AZ", description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue(text="ET", description="Alpha2 code for Ethiopia.") - AU = PermissibleValue(text="AU", description="Alpha2 code for Australia.") - BS = PermissibleValue(text="BS", description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue(text="BH", description="Alpha2 code for Bahrain.") - BD = PermissibleValue(text="BD", description="Alpha2 code for Bangladesh.") - BB = PermissibleValue(text="BB", description="Alpha2 code for Barbados.") - BE = PermissibleValue(text="BE", description="Alpha2 code for Belgium.") - BZ = PermissibleValue(text="BZ", description="Alpha2 code for Belize.") - BJ = PermissibleValue(text="BJ", description="Alpha2 code for Benin.") - BM = PermissibleValue(text="BM", description="Alpha2 code for Bermuda.") - BT = PermissibleValue(text="BT", description="Alpha2 code for Bhutan.") - VE = PermissibleValue( - text="VE", description="Alpha2 code for Venezuela (Bolivarian Republic of)." - ) - BQ = PermissibleValue( - text="BQ", description="Alpha2 code for Bonaire, Sint Eustatius and Saba." - ) - BA = PermissibleValue( - text="BA", description="Alpha2 code for Bosnia and Herzegovina." - ) - BW = PermissibleValue(text="BW", description="Alpha2 code for Botswana.") - BV = PermissibleValue(text="BV", description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue(text="BR", description="Alpha2 code for Brazil.") - VG = PermissibleValue( - text="VG", description="Alpha2 code for Virgin Islands (British)." - ) - IO = PermissibleValue( - text="IO", description="Alpha2 code for British Indian Ocean Territory (the)." - ) - BN = PermissibleValue(text="BN", description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue(text="BG", description="Alpha2 code for Bulgaria.") - BF = PermissibleValue(text="BF", description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue(text="BI", description="Alpha2 code for Burundi.") - CV = PermissibleValue(text="CV", description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue(text="CL", description="Alpha2 code for Chile.") - CN = PermissibleValue(text="CN", description="Alpha2 code for China.") - CK = PermissibleValue(text="CK", description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue(text="CR", description="Alpha2 code for Costa Rica.") - CI = PermissibleValue(text="CI", description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue(text="CW", description="Alpha2 code for Curacao.") - DK = PermissibleValue(text="DK", description="Alpha2 code for Denmark.") - CD = PermissibleValue( - text="CD", description="Alpha2 code for Congo (the Democratic Republic of the)." - ) - KP = PermissibleValue( - text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).", - ) - LA = PermissibleValue( - text="LA", description="Alpha2 code for Lao Peoples Democratic Republic (the)." - ) - DE = PermissibleValue(text="DE", description="Alpha2 code for Germany.") - DM = PermissibleValue(text="DM", description="Alpha2 code for Dominica.") - DO = PermissibleValue( - text="DO", description="Alpha2 code for Dominican Republic (the)." - ) - DJ = PermissibleValue(text="DJ", description="Alpha2 code for Djibouti.") - EC = PermissibleValue(text="EC", description="Alpha2 code for Ecuador.") - MK = PermissibleValue( - text="MK", description="Alpha2 code for Republic of North Macedonia." - ) - SV = PermissibleValue(text="SV", description="Alpha2 code for El Salvador.") - ER = PermissibleValue(text="ER", description="Alpha2 code for Eritrea.") - EE = PermissibleValue(text="EE", description="Alpha2 code for Estonia.") - FK = PermissibleValue( - text="FK", description="Alpha2 code for Falkland Islands (the) [Malvinas]." - ) - FO = PermissibleValue(text="FO", description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue(text="FJ", description="Alpha2 code for Fiji.") - FI = PermissibleValue(text="FI", description="Alpha2 code for Finland.") - FM = PermissibleValue( - text="FM", description="Alpha2 code for Micronesia (Federated States of)." - ) - FR = PermissibleValue(text="FR", description="Alpha2 code for France.") - TF = PermissibleValue( - text="TF", description="Alpha2 code for French Southern Territories (the)." - ) - GF = PermissibleValue(text="GF", description="Alpha2 code for French Guiana.") - PF = PermissibleValue(text="PF", description="Alpha2 code for French Polynesia.") - GA = PermissibleValue(text="GA", description="Alpha2 code for Gabon.") - GM = PermissibleValue(text="GM", description="Alpha2 code for Gambia (the).") - GE = PermissibleValue(text="GE", description="Alpha2 code for Georgia.") - GH = PermissibleValue(text="GH", description="Alpha2 code for Ghana.") - GI = PermissibleValue(text="GI", description="Alpha2 code for Gibraltar.") - GD = PermissibleValue(text="GD", description="Alpha2 code for Grenada.") - GR = PermissibleValue(text="GR", description="Alpha2 code for Greece.") - GL = PermissibleValue(text="GL", description="Alpha2 code for Greenland.") - GP = PermissibleValue(text="GP", description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue(text="GU", description="Alpha2 code for Guam.") - GT = PermissibleValue(text="GT", description="Alpha2 code for Guatemala.") - GG = PermissibleValue(text="GG", description="Alpha2 code for Guernsey.") - GN = PermissibleValue(text="GN", description="Alpha2 code for Guinea.") - GW = PermissibleValue(text="GW", description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue(text="GY", description="Alpha2 code for Guyana.") - HT = PermissibleValue(text="HT", description="Alpha2 code for Haiti.") - HM = PermissibleValue( - text="HM", description="Alpha2 code for Heard Island and McDonald Islands." - ) - HN = PermissibleValue(text="HN", description="Alpha2 code for Honduras.") - HK = PermissibleValue(text="HK", description="Alpha2 code for Hong Kong.") - IN = PermissibleValue(text="IN", description="Alpha2 code for India.") - ID = PermissibleValue(text="ID", description="Alpha2 code for Indonesia.") - IM = PermissibleValue(text="IM", description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue(text="IQ", description="Alpha2 code for Iraq.") - IE = PermissibleValue(text="IE", description="Alpha2 code for Ireland.") - IR = PermissibleValue( - text="IR", description="Alpha2 code for Iran (Islamic Republic of)." - ) - IS = PermissibleValue(text="IS", description="Alpha2 code for Iceland.") - IL = PermissibleValue(text="IL", description="Alpha2 code for Israel.") - IT = PermissibleValue(text="IT", description="Alpha2 code for Italy.") - JM = PermissibleValue(text="JM", description="Alpha2 code for Jamaica.") - JP = PermissibleValue(text="JP", description="Alpha2 code for Japan.") - YE = PermissibleValue(text="YE", description="Alpha2 code for Yemen.") - JE = PermissibleValue(text="JE", description="Alpha2 code for Jersey.") - JO = PermissibleValue(text="JO", description="Alpha2 code for Jordan.") - KY = PermissibleValue( - text="KY", description="Alpha2 code for Cayman Islands (the)." - ) - KH = PermissibleValue(text="KH", description="Alpha2 code for Cambodia.") - CM = PermissibleValue(text="CM", description="Alpha2 code for Cameroon.") - CA = PermissibleValue(text="CA", description="Alpha2 code for Canada.") - KZ = PermissibleValue(text="KZ", description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue(text="QA", description="Alpha2 code for Qatar.") - KE = PermissibleValue(text="KE", description="Alpha2 code for Kenya.") - KG = PermissibleValue(text="KG", description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue(text="KI", description="Alpha2 code for Kiribati.") - CC = PermissibleValue( - text="CC", description="Alpha2 code for Cocos (Keeling) Islands (the)." - ) - CO = PermissibleValue(text="CO", description="Alpha2 code for Colombia.") - KM = PermissibleValue(text="KM", description="Alpha2 code for Comoros (the).") - CG = PermissibleValue(text="CG", description="Alpha2 code for Congo (the).") - HR = PermissibleValue(text="HR", description="Alpha2 code for Croatia.") - CU = PermissibleValue(text="CU", description="Alpha2 code for Cuba.") - KW = PermissibleValue(text="KW", description="Alpha2 code for Kuwait.") - LS = PermissibleValue(text="LS", description="Alpha2 code for Lesotho.") - LV = PermissibleValue(text="LV", description="Alpha2 code for Latvia.") - LB = PermissibleValue(text="LB", description="Alpha2 code for Lebanon.") - LR = PermissibleValue(text="LR", description="Alpha2 code for Liberia.") - LY = PermissibleValue(text="LY", description="Alpha2 code for Libya.") - LI = PermissibleValue(text="LI", description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue(text="LT", description="Alpha2 code for Lithuania.") - LU = PermissibleValue(text="LU", description="Alpha2 code for Luxembourg.") - MO = PermissibleValue(text="MO", description="Alpha2 code for Macao.") - MG = PermissibleValue(text="MG", description="Alpha2 code for Madagascar.") - MW = PermissibleValue(text="MW", description="Alpha2 code for Malawi.") - MY = PermissibleValue(text="MY", description="Alpha2 code for Malaysia.") - MV = PermissibleValue(text="MV", description="Alpha2 code for Maldives.") - ML = PermissibleValue(text="ML", description="Alpha2 code for Mali.") - MT = PermissibleValue(text="MT", description="Alpha2 code for Malta.") - MP = PermissibleValue( - text="MP", description="Alpha2 code for Northern Mariana Islands (the)." - ) - MA = PermissibleValue(text="MA", description="Alpha2 code for Morocco.") - MH = PermissibleValue( - text="MH", description="Alpha2 code for Marshall Islands (the)." - ) - MQ = PermissibleValue(text="MQ", description="Alpha2 code for Martinique.") - MR = PermissibleValue(text="MR", description="Alpha2 code for Mauritania.") - MU = PermissibleValue(text="MU", description="Alpha2 code for Mauritius.") - YT = PermissibleValue(text="YT", description="Alpha2 code for Mayotte.") - MX = PermissibleValue(text="MX", description="Alpha2 code for Mexico.") - MC = PermissibleValue(text="MC", description="Alpha2 code for Monaco.") - MN = PermissibleValue(text="MN", description="Alpha2 code for Mongolia.") - MS = PermissibleValue(text="MS", description="Alpha2 code for Montserrat.") - ME = PermissibleValue(text="ME", description="Alpha2 code for Montenegro.") - MZ = PermissibleValue(text="MZ", description="Alpha2 code for Mozambique.") - MM = PermissibleValue(text="MM", description="Alpha2 code for Myanmar.") - NA = PermissibleValue(text="NA", description="Alpha2 code for Namibia.") - NR = PermissibleValue(text="NR", description="Alpha2 code for Nauru.") - NP = PermissibleValue(text="NP", description="Alpha2 code for Nepal.") - NC = PermissibleValue(text="NC", description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue(text="NZ", description="Alpha2 code for New Zealand.") - NI = PermissibleValue(text="NI", description="Alpha2 code for Nicaragua.") - NL = PermissibleValue(text="NL", description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue(text="NE", description="Alpha2 code for Niger (the).") - NG = PermissibleValue(text="NG", description="Alpha2 code for Nigeria.") - NU = PermissibleValue(text="NU", description="Alpha2 code for Niue.") - NF = PermissibleValue(text="NF", description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue(text="OM", description="Alpha2 code for Oman.") - AT = PermissibleValue(text="AT", description="Alpha2 code for Austria.") - PK = PermissibleValue(text="PK", description="Alpha2 code for Pakistan.") - PW = PermissibleValue(text="PW", description="Alpha2 code for Palau.") - PS = PermissibleValue(text="PS", description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue(text="PA", description="Alpha2 code for Panama.") - PG = PermissibleValue(text="PG", description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue(text="PY", description="Alpha2 code for Paraguay.") - PE = PermissibleValue(text="PE", description="Alpha2 code for Peru.") - PH = PermissibleValue(text="PH", description="Alpha2 code for Philippines (the).") - PN = PermissibleValue(text="PN", description="Alpha2 code for Pitcairn.") - BO = PermissibleValue( - text="BO", description="Alpha2 code for Bolivia (Plurinational State of)." - ) - PL = PermissibleValue(text="PL", description="Alpha2 code for Poland.") - PT = PermissibleValue(text="PT", description="Alpha2 code for Portugal.") - PR = PermissibleValue(text="PR", description="Alpha2 code for Puerto Rico.") - KR = PermissibleValue( - text="KR", description="Alpha2 code for Korea (the Republic of)." - ) - MD = PermissibleValue( - text="MD", description="Alpha2 code for Moldova (the Republic of)." - ) - RE = PermissibleValue(text="RE", description="Alpha2 code for Reunion.") - RW = PermissibleValue(text="RW", description="Alpha2 code for Rwanda.") - RO = PermissibleValue(text="RO", description="Alpha2 code for Romania.") - RU = PermissibleValue( - text="RU", description="Alpha2 code for Russian Federation (the)." - ) - SB = PermissibleValue(text="SB", description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue(text="ZM", description="Alpha2 code for Zambia.") - WS = PermissibleValue(text="WS", description="Alpha2 code for Samoa.") - SM = PermissibleValue(text="SM", description="Alpha2 code for San Marino.") - ST = PermissibleValue( - text="ST", description="Alpha2 code for Sao Tome and Principe." - ) - SA = PermissibleValue(text="SA", description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue(text="SE", description="Alpha2 code for Sweden.") - CH = PermissibleValue(text="CH", description="Alpha2 code for Switzerland.") - SN = PermissibleValue(text="SN", description="Alpha2 code for Senegal.") - RS = PermissibleValue(text="RS", description="Alpha2 code for Serbia.") - SC = PermissibleValue(text="SC", description="Alpha2 code for Seychelles.") - SL = PermissibleValue(text="SL", description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue(text="ZW", description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue(text="SG", description="Alpha2 code for Singapore.") - SK = PermissibleValue(text="SK", description="Alpha2 code for Slovakia.") - SI = PermissibleValue(text="SI", description="Alpha2 code for Slovenia.") - SO = PermissibleValue(text="SO", description="Alpha2 code for Somalia.") - ES = PermissibleValue(text="ES", description="Alpha2 code for Spain.") - LK = PermissibleValue(text="LK", description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue(text="BL", description="Alpha2 code for Saint Barthelemy.") - SH = PermissibleValue( - text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.", - ) - KN = PermissibleValue( - text="KN", description="Alpha2 code for Saint Kitts and Nevis." - ) - LC = PermissibleValue(text="LC", description="Alpha2 code for Saint Lucia.") - MF = PermissibleValue( - text="MF", description="Alpha2 code for Saint Martin (French part)." - ) - SX = PermissibleValue( - text="SX", description="Alpha2 code for Sint Maarten (Dutch part)." - ) - PM = PermissibleValue( - text="PM", description="Alpha2 code for Saint Pierre and Miquelon." - ) - VC = PermissibleValue( - text="VC", description="Alpha2 code for Saint Vincent and the Grenadines." - ) - ZA = PermissibleValue(text="ZA", description="Alpha2 code for South Africa.") - SD = PermissibleValue(text="SD", description="Alpha2 code for Sudan (the).") - GS = PermissibleValue( - text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.", - ) - SS = PermissibleValue(text="SS", description="Alpha2 code for South Sudan.") - SR = PermissibleValue(text="SR", description="Alpha2 code for Suriname.") - SJ = PermissibleValue( - text="SJ", description="Alpha2 code for Svalbard and Jan Mayen." - ) - SZ = PermissibleValue(text="SZ", description="Alpha2 code for Eswatini.") - TJ = PermissibleValue(text="TJ", description="Alpha2 code for Tajikistan.") - TW = PermissibleValue( - text="TW", description="Alpha2 code for Taiwan (Province of China)." - ) - TH = PermissibleValue(text="TH", description="Alpha2 code for Thailand.") - TL = PermissibleValue(text="TL", description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue(text="TG", description="Alpha2 code for Togo.") - TK = PermissibleValue(text="TK", description="Alpha2 code for Tokelau.") - TO = PermissibleValue(text="TO", description="Alpha2 code for Tonga.") - TT = PermissibleValue(text="TT", description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue(text="TD", description="Alpha2 code for Chad.") - CZ = PermissibleValue(text="CZ", description="Alpha2 code for Czechia.") - TN = PermissibleValue(text="TN", description="Alpha2 code for Tunisia.") - TR = PermissibleValue(text="TR", description="Alpha2 code for Turkey.") - TM = PermissibleValue(text="TM", description="Alpha2 code for Turkmenistan.") - TC = PermissibleValue( - text="TC", description="Alpha2 code for Turks and Caicos Islands (the)." - ) - TV = PermissibleValue(text="TV", description="Alpha2 code for Tuvalu.") - UG = PermissibleValue(text="UG", description="Alpha2 code for Uganda.") - UA = PermissibleValue(text="UA", description="Alpha2 code for Ukraine.") - HU = PermissibleValue(text="HU", description="Alpha2 code for Hungary.") - UY = PermissibleValue(text="UY", description="Alpha2 code for Uruguay.") - UZ = PermissibleValue(text="UZ", description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue(text="VU", description="Alpha2 code for Vanuatu.") - VA = PermissibleValue(text="VA", description="Alpha2 code for Holy See (the).") - AE = PermissibleValue( - text="AE", description="Alpha2 code for United Arab Emirates (the)." - ) - TZ = PermissibleValue( - text="TZ", description="Alpha2 code for Tanzania, United Republic of." - ) - US = PermissibleValue( - text="US", description="Alpha2 code for United States of America (the)." - ) - GB = PermissibleValue( - text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).", - ) - VN = PermissibleValue(text="VN", description="Alpha2 code for Viet Nam.") - WF = PermissibleValue(text="WF", description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue(text="CX", description="Alpha2 code for Christmas Island.") - BY = PermissibleValue(text="BY", description="Alpha2 code for Belarus.") - EH = PermissibleValue(text="EH", description="Alpha2 code for Western Sahara.") - CF = PermissibleValue( - text="CF", description="Alpha2 code for Central African Republic (the)." - ) - CY = PermissibleValue(text="CY", description="Alpha2 code for Cyprus.") -======= - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") - VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") - UM = PermissibleValue( - text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") - SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") - VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") - BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") - BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") - VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") - IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") - CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") - KP = PermissibleValue( - text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") - LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") - DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") - MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") - FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") - FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") - TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") - HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") - IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") - KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") - CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") - MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") - MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") - BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") - KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") - MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") - RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") - ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") - SH = PermissibleValue( - text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") - KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") - MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") - SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") - PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") - VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") - GS = PermissibleValue( - text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") - SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") - TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") - TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") - AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") - TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") - US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") - GB = PermissibleValue( - text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") - CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="CountryNameAlpha2", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr( - cls, - "False", - PermissibleValue(text="False", description="Alpha2 code for Norway."), - ) - - -class CountryNameAlpha3(EnumDefinitionImpl): - AFG = PermissibleValue(text="AFG", description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue(text="ALA", description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue(text="ALB", description="Alpha3 code for Albania.") - DZA = PermissibleValue(text="DZA", description="Alpha3 code for Algeria.") - ASM = PermissibleValue(text="ASM", description="Alpha3 code for American Samoa.") - AND = PermissibleValue(text="AND", description="Alpha3 code for Andorra.") - AGO = PermissibleValue(text="AGO", description="Alpha3 code for Angola.") - AIA = PermissibleValue(text="AIA", description="Alpha3 code for Anguilla.") - ATA = PermissibleValue(text="ATA", description="Alpha3 code for Antarctica.") - ATG = PermissibleValue( - text="ATG", description="Alpha3 code for Antigua and Barbuda." - ) - ARG = PermissibleValue(text="ARG", description="Alpha3 code for Argentina.") - ARM = PermissibleValue(text="ARM", description="Alpha3 code for Armenia.") - ABW = PermissibleValue(text="ABW", description="Alpha3 code for Aruba.") - AUS = PermissibleValue(text="AUS", description="Alpha3 code for Australia.") - AUT = PermissibleValue(text="AUT", description="Alpha3 code for Austria.") - AZE = PermissibleValue(text="AZE", description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue(text="BHS", description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue(text="BHR", description="Alpha3 code for Bahrain.") - BGD = PermissibleValue(text="BGD", description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue(text="BRB", description="Alpha3 code for Barbados.") - BLR = PermissibleValue(text="BLR", description="Alpha3 code for Belarus.") - BEL = PermissibleValue(text="BEL", description="Alpha3 code for Belgium.") - BLZ = PermissibleValue(text="BLZ", description="Alpha3 code for Belize.") - BEN = PermissibleValue(text="BEN", description="Alpha3 code for Benin.") - BMU = PermissibleValue(text="BMU", description="Alpha3 code for Bermuda.") - BTN = PermissibleValue(text="BTN", description="Alpha3 code for Bhutan.") - BOL = PermissibleValue( - text="BOL", description="Alpha3 code for Bolivia (Plurinational State of)." - ) - BES = PermissibleValue( - text="BES", description="Alpha3 code for Bonaire, Sint Eustatius and Saba." - ) - BIH = PermissibleValue( - text="BIH", description="Alpha3 code for Bosnia and Herzegovina." - ) - BWA = PermissibleValue(text="BWA", description="Alpha3 code for Botswana.") - BVT = PermissibleValue(text="BVT", description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue(text="BRA", description="Alpha3 code for Brazil.") - IOT = PermissibleValue( - text="IOT", description="Alpha3 code for British Indian Ocean Territory (the)." - ) - BRN = PermissibleValue(text="BRN", description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue(text="BGR", description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue(text="BFA", description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue(text="BDI", description="Alpha3 code for Burundi.") - KHM = PermissibleValue(text="KHM", description="Alpha3 code for Cambodia.") - CMR = PermissibleValue(text="CMR", description="Alpha3 code for Cameroon.") - CAN = PermissibleValue(text="CAN", description="Alpha3 code for Canada.") - CPV = PermissibleValue(text="CPV", description="Alpha3 code for Cabo Verde.") - CYM = PermissibleValue( - text="CYM", description="Alpha3 code for Cayman Islands (the)." - ) - CAF = PermissibleValue( - text="CAF", description="Alpha3 code for Central African Republic (the)." - ) - TCD = PermissibleValue(text="TCD", description="Alpha3 code for Chad.") - CHL = PermissibleValue(text="CHL", description="Alpha3 code for Chile.") - CHN = PermissibleValue(text="CHN", description="Alpha3 code for China.") - CXR = PermissibleValue(text="CXR", description="Alpha3 code for Christmas Island.") - CCK = PermissibleValue( - text="CCK", description="Alpha3 code for Cocos (Keeling) Islands (the)." - ) - COL = PermissibleValue(text="COL", description="Alpha3 code for Colombia.") - COM = PermissibleValue(text="COM", description="Alpha3 code for Comoros (the).") - COG = PermissibleValue(text="COG", description="Alpha3 code for Congo (the).") - COD = PermissibleValue( - text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).", - ) - COK = PermissibleValue( - text="COK", description="Alpha3 code for Cook Islands (the)." - ) - CRI = PermissibleValue(text="CRI", description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue(text="CIV", description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue(text="HRV", description="Alpha3 code for Croatia.") - CUB = PermissibleValue(text="CUB", description="Alpha3 code for Cuba.") - CUW = PermissibleValue(text="CUW", description="Alpha3 code for Curacao.") - CYP = PermissibleValue(text="CYP", description="Alpha3 code for Cyprus.") - CZE = PermissibleValue(text="CZE", description="Alpha3 code for Czechia.") - DNK = PermissibleValue(text="DNK", description="Alpha3 code for Denmark.") - DJI = PermissibleValue(text="DJI", description="Alpha3 code for Djibouti.") - DMA = PermissibleValue(text="DMA", description="Alpha3 code for Dominica.") - DOM = PermissibleValue( - text="DOM", description="Alpha3 code for Dominican Republic (the)." - ) - ECU = PermissibleValue(text="ECU", description="Alpha3 code for Ecuador.") - EGY = PermissibleValue(text="EGY", description="Alpha3 code for Egypt.") - SLV = PermissibleValue(text="SLV", description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue(text="GNQ", description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue(text="ERI", description="Alpha3 code for Eritrea.") - EST = PermissibleValue(text="EST", description="Alpha3 code for Estonia.") - ETH = PermissibleValue(text="ETH", description="Alpha3 code for Ethiopia.") - FLK = PermissibleValue( - text="FLK", description="Alpha3 code for Falkland Islands (the) [Malvinas]." - ) - FRO = PermissibleValue( - text="FRO", description="Alpha3 code for Faroe Islands (the)." - ) - FJI = PermissibleValue(text="FJI", description="Alpha3 code for Fiji.") - FIN = PermissibleValue(text="FIN", description="Alpha3 code for Finland.") - FRA = PermissibleValue(text="FRA", description="Alpha3 code for France.") - GUF = PermissibleValue(text="GUF", description="Alpha3 code for French Guiana.") - PYF = PermissibleValue(text="PYF", description="Alpha3 code for French Polynesia.") - ATF = PermissibleValue( - text="ATF", description="Alpha3 code for French Southern Territories (the)." - ) - GAB = PermissibleValue(text="GAB", description="Alpha3 code for Gabon.") - GMB = PermissibleValue(text="GMB", description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue(text="GEO", description="Alpha3 code for Georgia.") - DEU = PermissibleValue(text="DEU", description="Alpha3 code for Germany.") - GHA = PermissibleValue(text="GHA", description="Alpha3 code for Ghana.") - GIB = PermissibleValue(text="GIB", description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue(text="GRC", description="Alpha3 code for Greece.") - GRL = PermissibleValue(text="GRL", description="Alpha3 code for Greenland.") - GRD = PermissibleValue(text="GRD", description="Alpha3 code for Grenada.") - GLP = PermissibleValue(text="GLP", description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue(text="GUM", description="Alpha3 code for Guam.") - GTM = PermissibleValue(text="GTM", description="Alpha3 code for Guatemala.") - GGY = PermissibleValue(text="GGY", description="Alpha3 code for Guernsey.") - GIN = PermissibleValue(text="GIN", description="Alpha3 code for Guinea.") - GNB = PermissibleValue(text="GNB", description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue(text="GUY", description="Alpha3 code for Guyana.") - HTI = PermissibleValue(text="HTI", description="Alpha3 code for Haiti.") - HMD = PermissibleValue( - text="HMD", description="Alpha3 code for Heard Island and McDonald Islands." - ) - VAT = PermissibleValue(text="VAT", description="Alpha3 code for Holy See (the).") - HND = PermissibleValue(text="HND", description="Alpha3 code for Honduras.") - HKG = PermissibleValue(text="HKG", description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue(text="HUN", description="Alpha3 code for Hungary.") - ISL = PermissibleValue(text="ISL", description="Alpha3 code for Iceland.") - IND = PermissibleValue(text="IND", description="Alpha3 code for India.") - IDN = PermissibleValue(text="IDN", description="Alpha3 code for Indonesia.") - IRN = PermissibleValue( - text="IRN", description="Alpha3 code for Iran (Islamic Republic of)." - ) - IRQ = PermissibleValue(text="IRQ", description="Alpha3 code for Iraq.") - IRL = PermissibleValue(text="IRL", description="Alpha3 code for Ireland.") - IMN = PermissibleValue(text="IMN", description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue(text="ISR", description="Alpha3 code for Israel.") - ITA = PermissibleValue(text="ITA", description="Alpha3 code for Italy.") - JAM = PermissibleValue(text="JAM", description="Alpha3 code for Jamaica.") - JPN = PermissibleValue(text="JPN", description="Alpha3 code for Japan.") - JEY = PermissibleValue(text="JEY", description="Alpha3 code for Jersey.") - JOR = PermissibleValue(text="JOR", description="Alpha3 code for Jordan.") - KAZ = PermissibleValue(text="KAZ", description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue(text="KEN", description="Alpha3 code for Kenya.") - KIR = PermissibleValue(text="KIR", description="Alpha3 code for Kiribati.") - PRK = PermissibleValue( - text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).", - ) - KOR = PermissibleValue( - text="KOR", description="Alpha3 code for Korea (the Republic of)." - ) - KWT = PermissibleValue(text="KWT", description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue(text="KGZ", description="Alpha3 code for Kyrgyzstan.") - LAO = PermissibleValue( - text="LAO", description="Alpha3 code for Lao Peoples Democratic Republic (the)." - ) - LVA = PermissibleValue(text="LVA", description="Alpha3 code for Latvia.") - LBN = PermissibleValue(text="LBN", description="Alpha3 code for Lebanon.") - LSO = PermissibleValue(text="LSO", description="Alpha3 code for Lesotho.") - LBR = PermissibleValue(text="LBR", description="Alpha3 code for Liberia.") - LBY = PermissibleValue(text="LBY", description="Alpha3 code for Libya.") - LIE = PermissibleValue(text="LIE", description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue(text="LTU", description="Alpha3 code for Lithuania.") - LUX = PermissibleValue(text="LUX", description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue(text="MAC", description="Alpha3 code for Macao.") - MKD = PermissibleValue( - text="MKD", description="Alpha3 code for Republic of North Macedonia." - ) - MDG = PermissibleValue(text="MDG", description="Alpha3 code for Madagascar.") - MWI = PermissibleValue(text="MWI", description="Alpha3 code for Malawi.") - MYS = PermissibleValue(text="MYS", description="Alpha3 code for Malaysia.") - MDV = PermissibleValue(text="MDV", description="Alpha3 code for Maldives.") - MLI = PermissibleValue(text="MLI", description="Alpha3 code for Mali.") - MLT = PermissibleValue(text="MLT", description="Alpha3 code for Malta.") - MHL = PermissibleValue( - text="MHL", description="Alpha3 code for Marshall Islands (the)." - ) - MTQ = PermissibleValue(text="MTQ", description="Alpha3 code for Martinique.") - MRT = PermissibleValue(text="MRT", description="Alpha3 code for Mauritania.") - MUS = PermissibleValue(text="MUS", description="Alpha3 code for Mauritius.") - MYT = PermissibleValue(text="MYT", description="Alpha3 code for Mayotte.") - MEX = PermissibleValue(text="MEX", description="Alpha3 code for Mexico.") - FSM = PermissibleValue( - text="FSM", description="Alpha3 code for Micronesia (Federated States of)." - ) - MDA = PermissibleValue( - text="MDA", description="Alpha3 code for Moldova (the Republic of)." - ) - MCO = PermissibleValue(text="MCO", description="Alpha3 code for Monaco.") - MNG = PermissibleValue(text="MNG", description="Alpha3 code for Mongolia.") - MNE = PermissibleValue(text="MNE", description="Alpha3 code for Montenegro.") - MSR = PermissibleValue(text="MSR", description="Alpha3 code for Montserrat.") - MAR = PermissibleValue(text="MAR", description="Alpha3 code for Morocco.") - MOZ = PermissibleValue(text="MOZ", description="Alpha3 code for Mozambique.") - MMR = PermissibleValue(text="MMR", description="Alpha3 code for Myanmar.") - NAM = PermissibleValue(text="NAM", description="Alpha3 code for Namibia.") - NRU = PermissibleValue(text="NRU", description="Alpha3 code for Nauru.") - NPL = PermissibleValue(text="NPL", description="Alpha3 code for Nepal.") - NLD = PermissibleValue(text="NLD", description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue(text="NCL", description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue(text="NZL", description="Alpha3 code for New Zealand.") - NIC = PermissibleValue(text="NIC", description="Alpha3 code for Nicaragua.") - NER = PermissibleValue(text="NER", description="Alpha3 code for Niger (the).") - NGA = PermissibleValue(text="NGA", description="Alpha3 code for Nigeria.") - NIU = PermissibleValue(text="NIU", description="Alpha3 code for Niue.") - NFK = PermissibleValue(text="NFK", description="Alpha3 code for Norfolk Island.") - MNP = PermissibleValue( - text="MNP", description="Alpha3 code for Northern Mariana Islands (the)." - ) - NOR = PermissibleValue(text="NOR", description="Alpha3 code for Norway.") - OMN = PermissibleValue(text="OMN", description="Alpha3 code for Oman.") - PAK = PermissibleValue(text="PAK", description="Alpha3 code for Pakistan.") - PLW = PermissibleValue(text="PLW", description="Alpha3 code for Palau.") - PSE = PermissibleValue( - text="PSE", description="Alpha3 code for Palestine, State of." - ) - PAN = PermissibleValue(text="PAN", description="Alpha3 code for Panama.") - PNG = PermissibleValue(text="PNG", description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue(text="PRY", description="Alpha3 code for Paraguay.") - PER = PermissibleValue(text="PER", description="Alpha3 code for Peru.") - PHL = PermissibleValue(text="PHL", description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue(text="PCN", description="Alpha3 code forPitcairn.") - POL = PermissibleValue(text="POL", description="Alpha3 code for Poland.") - PRT = PermissibleValue(text="PRT", description="Alpha3 code for Portugal.") - PRI = PermissibleValue(text="PRI", description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue(text="QAT", description="Alpha3 code for Qatar.") - SRB = PermissibleValue(text="SRB", description="Alpha3 code for Serbia.") - REU = PermissibleValue(text="REU", description="Alpha3 code for Reunion.") - ROU = PermissibleValue(text="ROU", description="Alpha3 code for Romania.") - RUS = PermissibleValue( - text="RUS", description="Alpha3 code for Russian Federation (the)." - ) - RWA = PermissibleValue(text="RWA", description="Alpha3 code for Rwanda.") - BLM = PermissibleValue(text="BLM", description="Alpha3 code for Saint Barthelemy.") - SHN = PermissibleValue( - text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.", - ) - KNA = PermissibleValue( - text="KNA", description="Alpha3 code for Saint Kitts and Nevis." - ) - LCA = PermissibleValue(text="LCA", description="Alpha3 code for Saint Lucia.") - MAF = PermissibleValue( - text="MAF", description="Alpha3 code for Saint Martin (French part)." - ) - SPM = PermissibleValue( - text="SPM", description="Alpha3 code for Saint Pierre and Miquelon." - ) - VCT = PermissibleValue( - text="VCT", description="Alpha3 code for Saint Vincent and the Grenadines." - ) - WSM = PermissibleValue(text="WSM", description="Alpha3 code for Samoa.") - SMR = PermissibleValue(text="SMR", description="Alpha3 code for San Marino.") - STP = PermissibleValue( - text="STP", description="Alpha3 code for Sao Tome and Principe." - ) - SAU = PermissibleValue(text="SAU", description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue(text="SEN", description="Alpha3 code for Senegal.") - SYC = PermissibleValue(text="SYC", description="Alpha3 code for Seychelles.") - SLE = PermissibleValue(text="SLE", description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue(text="SGP", description="Alpha3 code for Singapore.") - SXM = PermissibleValue( - text="SXM", description="Alpha3 code for Sint Maarten (Dutch part)." - ) - SVK = PermissibleValue(text="SVK", description="Alpha3 code for Slovakia.") - SVN = PermissibleValue(text="SVN", description="Alpha3 code for Slovenia.") - SLB = PermissibleValue(text="SLB", description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue(text="SOM", description="Alpha3 code for Somalia.") - ZAF = PermissibleValue(text="ZAF", description="Alpha3 code for South Africa.") - SGS = PermissibleValue( - text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.", - ) - SSD = PermissibleValue(text="SSD", description="Alpha3 code for South Sudan.") - ESP = PermissibleValue(text="ESP", description="Alpha3 code for Spain.") - LKA = PermissibleValue(text="LKA", description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue(text="SDN", description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue(text="SUR", description="Alpha3 code for Suriname.") - SJM = PermissibleValue( - text="SJM", description="Alpha3 code for Svalbard and Jan Mayen." - ) - SWZ = PermissibleValue(text="SWZ", description="Alpha3 code for Eswatini.") - SWE = PermissibleValue(text="SWE", description="Alpha3 code for Sweden.") - CHE = PermissibleValue(text="CHE", description="Alpha3 code for Switzerland.") - SYR = PermissibleValue( - text="SYR", description="Alpha3 code for Syrian Arab Republic." - ) - TWN = PermissibleValue( - text="TWN", description="Alpha3 code for Taiwan (Province of China)." - ) - TJK = PermissibleValue(text="TJK", description="Alpha3 code for Tajikistan.") - TZA = PermissibleValue( - text="TZA", description="Alpha3 code for Tanzania, United Republic of." - ) - THA = PermissibleValue(text="THA", description="Alpha3 code for Thailand.") - TLS = PermissibleValue(text="TLS", description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue(text="TGO", description="Alpha3 code for Togo.") - TKL = PermissibleValue(text="TKL", description="Alpha3 code for Tokelau.") - TON = PermissibleValue(text="TON", description="Alpha3 code for Tonga.") - TTO = PermissibleValue( - text="TTO", description="Alpha3 code for Trinidad and Tobago." - ) - TUN = PermissibleValue(text="TUN", description="Alpha3 code for Tunisia.") - TUR = PermissibleValue(text="TUR", description="Alpha3 code for Turkey.") - XTX = PermissibleValue( - text="XTX", description="Alpha3 code for Turkish Republic of northern Cyprus." - ) - TKM = PermissibleValue(text="TKM", description="Alpha3 code for Turkmenistan.") - TCA = PermissibleValue( - text="TCA", description="Alpha3 code for Turks and Caicos Islands (the)." - ) - TUV = PermissibleValue(text="TUV", description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue(text="UGA", description="Alpha3 code for Uganda.") - UKR = PermissibleValue(text="UKR", description="Alpha3 code for Ukraine.") - ARE = PermissibleValue( - text="ARE", description="Alpha3 code for United Arab Emirates (the)." - ) - GBR = PermissibleValue( - text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).", - ) - USA = PermissibleValue( - text="USA", description="Alpha3 code for United States of America (the)." - ) - UMI = PermissibleValue( - text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).", - ) - URY = PermissibleValue(text="URY", description="Alpha3 code for Uruguay.") - UZB = PermissibleValue(text="UZB", description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue(text="VUT", description="Alpha3 code for Vanuatu.") - VEN = PermissibleValue( - text="VEN", description="Alpha3 code for Venezuela (Bolivarian Republic of)." - ) - VNM = PermissibleValue(text="VNM", description="Alpha3 code for Viet Nam.") - VGB = PermissibleValue( - text="VGB", description="Alpha3 code for Virgin Islands (British)." - ) - VIR = PermissibleValue( - text="VIR", description="Alpha3 code for Virgin Islands (U.S.)." - ) - WLF = PermissibleValue(text="WLF", description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue(text="ESH", description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue(text="YEM", description="Alpha3 code for Yemen.") - ZMB = PermissibleValue(text="ZMB", description="Alpha3 code for Zambia.") - ZWE = PermissibleValue(text="ZWE", description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue(text="XKX", description="Alpha3 code for Kosovo.") -======= - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) - -class CountryNameAlpha3(EnumDefinitionImpl): - - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") - ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") - BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") - BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") - BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") - IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") - CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") - CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") - CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") - COD = PermissibleValue( - text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") - COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") - DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") - FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") - FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") - ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") - HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") - IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") - PRK = PermissibleValue( - text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") - KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") - LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") - MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") - MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") - FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") - MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") - MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") - PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") - RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") - SHN = PermissibleValue( - text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") - KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") - MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") - SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") - VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") - STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") - SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") - SGS = PermissibleValue( - text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") - SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") - SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") - TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") - TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") - TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") - XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") - TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") - ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") - GBR = PermissibleValue( - text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") - USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") - UMI = PermissibleValue( - text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") - VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") - VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") - VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="CountryNameAlpha3", - ) - -<<<<<<< HEAD - -class CountryNameNumeric(EnumDefinitionImpl): -======= -class CountryNameNumeric(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - _defn = EnumDefinition( - name="CountryNameNumeric", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr( - cls, - "4", - PermissibleValue(text="4", description="Numeric code for Afghanistan."), - ) - setattr( - cls, - "818", - PermissibleValue(text="818", description="Numeric code for Egypt."), - ) - setattr( - cls, - "248", - PermissibleValue(text="248", description="Numeric code for Aland Islands."), - ) - setattr( - cls, - "008", - PermissibleValue(text="008", description="Numeric code for Albania."), - ) - setattr( - cls, - "10", - PermissibleValue(text="10", description="Numeric code for Algeria."), - ) - setattr( - cls, - "850", - PermissibleValue( - text="850", description="Numeric code for Virgin Islands (U.S.)." - ), - ) - setattr( - cls, - "581", - PermissibleValue( - text="581", - description="Numeric code for United States Minor Outlying Islands (the).", - ), - ) - setattr( - cls, - "14", - PermissibleValue(text="14", description="Numeric code for American Samoa."), - ) - setattr( - cls, - "16", - PermissibleValue(text="16", description="Numeric code for Andorra."), - ) - setattr( - cls, - "20", - PermissibleValue(text="20", description="Numeric code for Angola."), - ) - setattr( - cls, - "660", - PermissibleValue(text="660", description="Numeric code for Anguilla."), - ) - setattr( - cls, - "8", - PermissibleValue(text="8", description="Numeric code for Antarctica."), - ) - setattr( - cls, - "028", - PermissibleValue( - text="028", description="Numeric code for Antigua and Barbuda." - ), - ) - setattr( - cls, - "226", - PermissibleValue( - text="226", description="Numeric code for Equatorial Guinea." - ), - ) - setattr( - cls, - "760", - PermissibleValue( - text="760", description="Numeric code for Syrian Arab Republic." - ), - ) - setattr( - cls, - "26", - PermissibleValue(text="26", description="Numeric code for Argentina."), - ) - setattr( - cls, - "41", - PermissibleValue(text="41", description="Numeric code for Armenia."), - ) - setattr( - cls, - "231", - PermissibleValue(text="231", description="Numeric code for Ethiopia."), - ) - setattr( - cls, - "30", - PermissibleValue(text="30", description="Numeric code for Australia."), - ) - setattr( - cls, - "36", - PermissibleValue(text="36", description="Numeric code for Bahamas (the)."), - ) - setattr( - cls, - "048", - PermissibleValue(text="048", description="Numeric code for Bahrain."), - ) - setattr( - cls, - "40", - PermissibleValue(text="40", description="Numeric code for Bangladesh."), - ) - setattr( - cls, - "42", - PermissibleValue(text="42", description="Numeric code for Barbados."), - ) - setattr( - cls, - "46", - PermissibleValue(text="46", description="Numeric code forBelgium."), - ) - setattr( - cls, - "084", - PermissibleValue(text="084", description="Numeric code for Belize."), - ) - setattr( - cls, - "204", - PermissibleValue(text="204", description="Numeric code for Benin."), - ) - setattr( - cls, - "48", - PermissibleValue(text="48", description="Numeric code for Bermuda."), - ) - setattr( - cls, - "52", - PermissibleValue(text="52", description="Numeric code for Bhutan."), - ) - setattr( - cls, - "58", - PermissibleValue(text="58", description="Numeric code for Botswana."), - ) - setattr( - cls, - "60", - PermissibleValue(text="60", description="Numeric code for Bouvet Island."), - ) - setattr( - cls, - "62", - PermissibleValue(text="62", description="Numeric code for Brazil."), - ) - setattr( - cls, - "092", - PermissibleValue( - text="092", description="Numeric code for Virgin Islands (British)." - ), - ) - setattr( - cls, - "086", - PermissibleValue( - text="086", - description="Numeric code for British Indian Ocean Territory (the).", - ), - ) - setattr( - cls, - "854", - PermissibleValue(text="854", description="Numeric code for Burkina Faso."), - ) - setattr( - cls, - "108", - PermissibleValue(text="108", description="Numeric code for Burundi."), - ) - setattr( - cls, - "132", - PermissibleValue(text="132", description="Numeric code for Cabo Verde."), - ) - setattr( - cls, - "152", - PermissibleValue(text="152", description="Numeric code for Chile."), - ) - setattr( - cls, - "156", - PermissibleValue(text="156", description="Numeric code for China."), - ) - setattr( - cls, - "184", - PermissibleValue( - text="184", description="Numeric code for Cook Islands (the)." - ), - ) - setattr( - cls, - "188", - PermissibleValue(text="188", description="Numeric code for Costa Rica."), - ) - setattr( - cls, - "384", - PermissibleValue(text="384", description="Numeric code for Cote dIvoire."), - ) - setattr( - cls, - "531", - PermissibleValue(text="531", description="Numeric code for Curacao."), - ) - setattr( - cls, - "208", - PermissibleValue(text="208", description="Numeric code for Denmark."), - ) - setattr( - cls, - "180", - PermissibleValue( - text="180", - description="Numeric code for Congo (the Democratic Republic of the).", - ), - ) - setattr( - cls, - "408", - PermissibleValue( - text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).", - ), - ) - setattr( - cls, - "418", - PermissibleValue( - text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).", - ), - ) - setattr( - cls, - "276", - PermissibleValue(text="276", description="Numeric code for Germany."), - ) - setattr( - cls, - "212", - PermissibleValue(text="212", description="Numeric code for Dominica."), - ) - setattr( - cls, - "214", - PermissibleValue( - text="214", description="Numeric code for Dominican Republic (the)." - ), - ) - setattr( - cls, - "262", - PermissibleValue(text="262", description="Numeric code for Djibouti."), - ) - setattr( - cls, - "218", - PermissibleValue(text="218", description="Numeric code for Ecuador."), - ) - setattr( - cls, - "807", - PermissibleValue( - text="807", description="Numeric code for Republic of North Macedonia." - ), - ) - setattr( - cls, - "222", - PermissibleValue(text="222", description="Numeric code for El Salvador."), - ) - setattr( - cls, - "232", - PermissibleValue(text="232", description="Numeric code for Eritrea."), - ) - setattr( - cls, - "233", - PermissibleValue(text="233", description="Numeric code for Estonia."), - ) - setattr( - cls, - "238", - PermissibleValue( - text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].", - ), - ) - setattr( - cls, - "234", - PermissibleValue( - text="234", description="Numeric code for Faroe Islands (the)." - ), - ) - setattr( - cls, - "242", - PermissibleValue(text="242", description="Numeric code for Fiji."), - ) - setattr( - cls, - "246", - PermissibleValue(text="246", description="Numeric code for Finland."), - ) - setattr( - cls, - "583", - PermissibleValue( - text="583", - description="Numeric code for Micronesia (Federated States of).", - ), - ) - setattr( - cls, - "250", - PermissibleValue(text="250", description="Numeric code for France."), - ) - setattr( - cls, - "260", - PermissibleValue( - text="260", - description="Numeric code for French Southern Territories (the).", - ), - ) - setattr( - cls, - "254", - PermissibleValue(text="254", description="Numeric code for French Guiana."), - ) - setattr( - cls, - "258", - PermissibleValue( - text="258", description="Numeric code for French Polynesia." - ), - ) - setattr( - cls, - "266", - PermissibleValue(text="266", description="Numeric code for Gabon."), - ) - setattr( - cls, - "270", - PermissibleValue(text="270", description="Numeric code for Gambia (the)."), - ) - setattr( - cls, - "268", - PermissibleValue(text="268", description="Numeric code for Georgia."), - ) - setattr( - cls, - "288", - PermissibleValue(text="288", description="Numeric code for Ghana."), - ) - setattr( - cls, - "292", - PermissibleValue(text="292", description="Numeric code for Gibraltar."), - ) - setattr( - cls, - "308", - PermissibleValue(text="308", description="Numeric code for Grenada."), - ) - setattr( - cls, - "300", - PermissibleValue(text="300", description="Numeric code for Greece."), - ) - setattr( - cls, - "304", - PermissibleValue(text="304", description="Numeric code for Greenland."), - ) - setattr( - cls, - "312", - PermissibleValue(text="312", description="Numeric code for Guadeloupe."), - ) - setattr( - cls, - "316", - PermissibleValue(text="316", description="Numeric code for Guam."), - ) - setattr( - cls, - "320", - PermissibleValue(text="320", description="Numeric code for Guatemala."), - ) - setattr( - cls, - "831", - PermissibleValue(text="831", description="Numeric code for Guernsey."), - ) - setattr( - cls, - "324", - PermissibleValue(text="324", description="Numeric code for Guinea."), - ) - setattr( - cls, - "624", - PermissibleValue(text="624", description="Numeric code for Guinea-Bissau."), - ) - setattr( - cls, - "328", - PermissibleValue(text="328", description="Numeric code for Guyana."), - ) - setattr( - cls, - "332", - PermissibleValue(text="332", description="Numeric code for Haiti."), - ) - setattr( - cls, - "334", - PermissibleValue( - text="334", - description="Numeric code for Heard Island and McDonald Islands.", - ), - ) - setattr( - cls, - "340", - PermissibleValue(text="340", description="Numeric code for Honduras."), - ) - setattr( - cls, - "344", - PermissibleValue(text="344", description="Numeric code for Hong Kong."), - ) - setattr( - cls, - "356", - PermissibleValue(text="356", description="Numeric code for India."), - ) - setattr( - cls, - "360", - PermissibleValue(text="360", description="Numeric code for Indonesia."), - ) - setattr( - cls, - "833", - PermissibleValue(text="833", description="Numeric code for Isle of Man."), - ) - setattr( - cls, - "368", - PermissibleValue(text="368", description="Numeric code for Iraq."), - ) - setattr( - cls, - "372", - PermissibleValue(text="372", description="Numeric code for Ireland."), - ) - setattr( - cls, - "364", - PermissibleValue( - text="364", description="Numeric code for Iran (Islamic Republic of)." - ), - ) - setattr( - cls, - "352", - PermissibleValue(text="352", description="Numeric code for Iceland."), - ) - setattr( - cls, - "376", - PermissibleValue(text="376", description="Numeric code for Israel."), - ) - setattr( - cls, - "380", - PermissibleValue(text="380", description="Numeric code for Italy."), - ) - setattr( - cls, - "388", - PermissibleValue(text="388", description="Numeric code for Jamaica."), - ) - setattr( - cls, - "392", - PermissibleValue(text="392", description="Numeric code for Japan."), - ) - setattr( - cls, - "887", - PermissibleValue(text="887", description="Numeric code for Yemen."), - ) - setattr( - cls, - "832", - PermissibleValue(text="832", description="Numeric code for Jersey."), - ) - setattr( - cls, - "400", - PermissibleValue(text="400", description="Numeric code for Jordan."), - ) - setattr( - cls, - "136", - PermissibleValue( - text="136", description="Numeric code for Cayman Islands (the)." - ), - ) - setattr( - cls, - "116", - PermissibleValue(text="116", description="Numeric code for Cambodia."), - ) - setattr( - cls, - "120", - PermissibleValue(text="120", description="Numeric code for Cameroon."), - ) - setattr( - cls, - "124", - PermissibleValue(text="124", description="Numeric code for Canada."), - ) - setattr( - cls, - "398", - PermissibleValue(text="398", description="Numeric code for Kazakhstan."), - ) - setattr( - cls, - "634", - PermissibleValue(text="634", description="Numeric code for Qatar."), - ) - setattr( - cls, - "404", - PermissibleValue(text="404", description="Numeric code for Kenya."), - ) - setattr( - cls, - "417", - PermissibleValue(text="417", description="Numeric code for Kyrgyzstan."), - ) - setattr( - cls, - "296", - PermissibleValue(text="296", description="Numeric code for Kiribati."), - ) - setattr( - cls, - "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).", - ), - ) - setattr( - cls, - "170", - PermissibleValue(text="170", description="Numeric code for Colombia."), - ) - setattr( - cls, - "174", - PermissibleValue(text="174", description="Numeric code for Comoros (the)."), - ) - setattr( - cls, - "178", - PermissibleValue(text="178", description="Numeric code for Congo (the)."), - ) - setattr( - cls, - "191", - PermissibleValue(text="191", description="Numeric code for Croatia."), - ) - setattr( - cls, - "192", - PermissibleValue(text="192", description="Numeric code for Cuba."), - ) - setattr( - cls, - "414", - PermissibleValue(text="414", description="Numeric code for Kuwait."), - ) - setattr( - cls, - "426", - PermissibleValue(text="426", description="Numeric code for Lesotho."), - ) - setattr( - cls, - "428", - PermissibleValue(text="428", description="Numeric code for Latvia."), - ) - setattr( - cls, - "422", - PermissibleValue(text="422", description="Numeric code for Lebanon."), - ) - setattr( - cls, - "430", - PermissibleValue(text="430", description="Numeric code for Liberia."), - ) - setattr( - cls, - "434", - PermissibleValue(text="434", description="Numeric code for Libya."), - ) - setattr( - cls, - "438", - PermissibleValue(text="438", description="Numeric code for Liechtenstein."), - ) - setattr( - cls, - "440", - PermissibleValue(text="440", description="Numeric code for Lithuania."), - ) - setattr( - cls, - "442", - PermissibleValue(text="442", description="Numeric code for Luxembourg."), - ) - setattr( - cls, - "446", - PermissibleValue(text="446", description="Numeric code for Macao."), - ) - setattr( - cls, - "450", - PermissibleValue(text="450", description="Numeric code for Madagascar."), - ) - setattr( - cls, - "454", - PermissibleValue(text="454", description="Numeric code for Malawi."), - ) - setattr( - cls, - "458", - PermissibleValue(text="458", description="Numeric code for Malaysia."), - ) - setattr( - cls, - "462", - PermissibleValue(text="462", description="Numeric code for Maldives."), - ) - setattr( - cls, - "466", - PermissibleValue(text="466", description="Numeric code for Mali."), - ) - setattr( - cls, - "470", - PermissibleValue(text="470", description="Numeric code for Malta ."), - ) - setattr( - cls, - "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).", - ), - ) - setattr( - cls, - "504", - PermissibleValue(text="504", description="Numeric code for Morocco."), - ) - setattr( - cls, - "584", - PermissibleValue( - text="584", description="Numeric code for Marshall Islands (the)." - ), - ) - setattr( - cls, - "474", - PermissibleValue(text="474", description="Numeric code for Martinique."), - ) - setattr( - cls, - "478", - PermissibleValue(text="478", description="Numeric code for Mauritania."), - ) - setattr( - cls, - "480", - PermissibleValue(text="480", description="Numeric code for Mauritius."), - ) - setattr( - cls, - "175", - PermissibleValue(text="175", description="Numeric code for Mayotte."), - ) - setattr( - cls, - "484", - PermissibleValue(text="484", description="Numeric code for Mexico."), - ) - setattr( - cls, - "492", - PermissibleValue(text="492", description="Numeric code for Monaco."), - ) - setattr( - cls, - "496", - PermissibleValue(text="496", description="Numeric code for Mongolia."), - ) - setattr( - cls, - "500", - PermissibleValue(text="500", description="Numeric code for Montserrat."), - ) - setattr( - cls, - "499", - PermissibleValue(text="499", description="Numeric code for Montenegro."), - ) - setattr( - cls, - "508", - PermissibleValue(text="508", description="Numeric code for Mozambique."), - ) - setattr( - cls, - "104", - PermissibleValue(text="104", description="Numeric code for Myanmar."), - ) - setattr( - cls, - "516", - PermissibleValue(text="516", description="Numeric code for Namibia."), - ) - setattr( - cls, - "520", - PermissibleValue(text="520", description="Numeric code for Nauru."), - ) - setattr( - cls, - "524", - PermissibleValue(text="524", description="Numeric code for Nepal."), - ) - setattr( - cls, - "540", - PermissibleValue(text="540", description="Numeric code for New Caledonia."), - ) - setattr( - cls, - "554", - PermissibleValue(text="554", description="Numeric code for New Zealand."), - ) - setattr( - cls, - "558", - PermissibleValue(text="558", description="Numeric code for Nicaragua."), - ) - setattr( - cls, - "528", - PermissibleValue( - text="528", description="Numeric code for Netherlands (the)." - ), - ) - setattr( - cls, - "562", - PermissibleValue(text="562", description="Numeric code for Niger (the)."), - ) - setattr( - cls, - "566", - PermissibleValue(text="566", description="Numeric code for Nigeria."), - ) - setattr( - cls, - "570", - PermissibleValue(text="570", description="Numeric code for Niue."), - ) - setattr( - cls, - "574", - PermissibleValue( - text="574", description="Numeric code for Norfolk Island." - ), - ) - setattr( - cls, - "578", - PermissibleValue(text="578", description="Numeric code for Norway."), - ) - setattr( - cls, - "512", - PermissibleValue(text="512", description="Numeric code for Oman."), - ) - setattr( - cls, - "32", - PermissibleValue(text="32", description="Numeric code for Austria."), - ) - setattr( - cls, - "586", - PermissibleValue(text="586", description="Numeric code for Pakistan."), - ) - setattr( - cls, - "585", - PermissibleValue(text="585", description="Numeric code for Palau."), - ) - setattr( - cls, - "275", - PermissibleValue( - text="275", description="Numeric code for Palestine, State of." - ), - ) - setattr( - cls, - "591", - PermissibleValue(text="591", description="Numeric code for Panama."), - ) - setattr( - cls, - "598", - PermissibleValue( - text="598", description="Numeric code for Papua New Guinea." - ), - ) - setattr( - cls, - "600", - PermissibleValue(text="600", description="Numeric code for Paraguay."), - ) - setattr( - cls, - "604", - PermissibleValue(text="604", description="Numeric code for Peru."), - ) - setattr( - cls, - "608", - PermissibleValue( - text="608", description="Numeric code for Philippines (the)." - ), - ) - setattr( - cls, - "612", - PermissibleValue(text="612", description="Numeric code for Pitcairn."), - ) - setattr( - cls, - "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).", - ), - ) - setattr( - cls, - "616", - PermissibleValue(text="616", description="Numeric code for Poland."), - ) - setattr( - cls, - "620", - PermissibleValue(text="620", description="Numeric code for Portugal."), - ) - setattr( - cls, - "630", - PermissibleValue(text="630", description="Numeric code for Puerto Rico."), - ) - setattr( - cls, - "410", - PermissibleValue( - text="410", description="Numeric code for Korea (the Republic of)." - ), - ) - setattr( - cls, - "498", - PermissibleValue( - text="498", description="Numeric code for Moldova (the Republic of)." - ), - ) - setattr( - cls, - "638", - PermissibleValue(text="638", description="Numeric code for Reunion."), - ) - setattr( - cls, - "646", - PermissibleValue(text="646", description="Numeric code for Rwanda."), - ) - setattr( - cls, - "642", - PermissibleValue(text="642", description="Numeric code for Romania."), - ) - setattr( - cls, - "643", - PermissibleValue( - text="643", description="Numeric code for Russian Federation (the)." - ), - ) - setattr( - cls, - "090", - PermissibleValue( - text="090", description="Numeric code for Solomon Islands." - ), - ) - setattr( - cls, - "894", - PermissibleValue(text="894", description="Numeric code for Zambia."), - ) - setattr( - cls, - "882", - PermissibleValue(text="882", description="Numeric code for Samoa."), - ) - setattr( - cls, - "674", - PermissibleValue(text="674", description="Numeric code for San Marino."), - ) - setattr( - cls, - "678", - PermissibleValue( - text="678", description="Numeric code for Sao Tome and Principe." - ), - ) - setattr( - cls, - "682", - PermissibleValue(text="682", description="Numeric code for Saudi Arabia."), - ) - setattr( - cls, - "752", - PermissibleValue(text="752", description="Numeric code for Sweden."), - ) - setattr( - cls, - "756", - PermissibleValue(text="756", description="Numeric code for Switzerland."), - ) - setattr( - cls, - "686", - PermissibleValue(text="686", description="Numeric code for Senegal."), - ) - setattr( - cls, - "688", - PermissibleValue(text="688", description="Numeric code for Serbia."), - ) - setattr( - cls, - "690", - PermissibleValue(text="690", description="Numeric code for Seychelles."), - ) - setattr( - cls, - "694", - PermissibleValue(text="694", description="Numeric code for Sierra Leone."), - ) - setattr( - cls, - "716", - PermissibleValue(text="716", description="Numeric code for Zimbabwe."), - ) - setattr( - cls, - "702", - PermissibleValue(text="702", description="Numeric code for Singapore."), - ) - setattr( - cls, - "703", - PermissibleValue(text="703", description="Numeric code for Slovakia."), - ) - setattr( - cls, - "705", - PermissibleValue(text="705", description="Numeric code for Slovenia."), - ) - setattr( - cls, - "706", - PermissibleValue(text="706", description="Numeric code for Somalia."), - ) - setattr( - cls, - "724", - PermissibleValue(text="724", description="Numeric code for Spain."), - ) - setattr( - cls, - "144", - PermissibleValue(text="144", description="Numeric code for Sri Lanka."), - ) - setattr( - cls, - "652", - PermissibleValue( - text="652", description="Numeric code for Saint Barthelemy." - ), - ) - setattr( - cls, - "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.", - ), - ) - setattr( - cls, - "659", - PermissibleValue( - text="659", description="Numeric code for Saint Kitts and Nevis." - ), - ) - setattr( - cls, - "662", - PermissibleValue(text="662", description="Numeric code for Saint Lucia."), - ) - setattr( - cls, - "663", - PermissibleValue( - text="663", description="Numeric code for Saint Martin (French part)." - ), - ) - setattr( - cls, - "534", - PermissibleValue( - text="534", description="Numeric code for Sint Maarten (Dutch part)." - ), - ) - setattr( - cls, - "666", - PermissibleValue( - text="666", description="Numeric code for Saint Pierre and Miquelon." - ), - ) - setattr( - cls, - "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.", - ), - ) - setattr( - cls, - "710", - PermissibleValue(text="710", description="Numeric code for South Africa."), - ) - setattr( - cls, - "729", - PermissibleValue(text="729", description="Numeric code forSudan (the)."), - ) - setattr( - cls, - "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.", - ), - ) - setattr( - cls, - "728", - PermissibleValue(text="728", description="Numeric code for South Sudan."), - ) - setattr( - cls, - "740", - PermissibleValue(text="740", description="Numeric code for Suriname."), - ) - setattr( - cls, - "744", - PermissibleValue( - text="744", description="Numeric code for Svalbard and Jan Mayen." - ), - ) - setattr( - cls, - "748", - PermissibleValue(text="748", description="Numeric code for Eswatini."), - ) - setattr( - cls, - "762", - PermissibleValue(text="762", description="Numeric code for Tajikistan."), - ) - setattr( - cls, - "158", - PermissibleValue( - text="158", description="Numeric code for Taiwan (Province of China)." - ), - ) - setattr( - cls, - "764", - PermissibleValue(text="764", description="Numeric code for Thailand."), - ) - setattr( - cls, - "626", - PermissibleValue(text="626", description="Numeric code for Timor-Leste."), - ) - setattr( - cls, - "768", - PermissibleValue(text="768", description="Numeric code for Togo."), - ) - setattr( - cls, - "772", - PermissibleValue(text="772", description="Numeric code for Tokelau."), - ) - setattr( - cls, - "776", - PermissibleValue(text="776", description="Numeric code for Tonga."), - ) - setattr( - cls, - "780", - PermissibleValue( - text="780", description="Numeric code for Trinidad and Tobago." - ), - ) - setattr( - cls, - "148", - PermissibleValue(text="148", description="Numeric code for Chad."), - ) - setattr( - cls, - "203", - PermissibleValue(text="203", description="Numeric code for Czechia."), - ) - setattr( - cls, - "788", - PermissibleValue(text="788", description="Numeric code for Tunisia."), - ) - setattr( - cls, - "792", - PermissibleValue(text="792", description="Numeric code for Turkey."), - ) - setattr( - cls, - "795", - PermissibleValue(text="795", description="Numeric code for Turkmenistan."), - ) - setattr( - cls, - "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).", - ), - ) - setattr( - cls, - "798", - PermissibleValue(text="798", description="Numeric code for Tuvalu."), - ) - setattr( - cls, - "800", - PermissibleValue(text="800", description="Numeric code for Uganda."), - ) - setattr( - cls, - "804", - PermissibleValue(text="804", description="Numeric code for Ukraine."), - ) - setattr( - cls, - "348", - PermissibleValue(text="348", description="Numeric code for Hungary."), - ) - setattr( - cls, - "858", - PermissibleValue(text="858", description="Numeric code for Uruguay."), - ) - setattr( - cls, - "860", - PermissibleValue(text="860", description="Numeric code for Uzbekistan."), - ) - setattr( - cls, - "548", - PermissibleValue(text="548", description="Numeric code for Vanuatu."), - ) - setattr( - cls, - "336", - PermissibleValue( - text="336", description="Numeric code for Holy See (the)." - ), - ) - setattr( - cls, - "784", - PermissibleValue( - text="784", description="Numeric code for United Arab Emirates (the)." - ), - ) - setattr( - cls, - "834", - PermissibleValue( - text="834", description="Numeric code for Tanzania, United Republic of." - ), - ) - setattr( - cls, - "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).", - ), - ) - setattr( - cls, - "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).", - ), - ) - setattr( - cls, - "704", - PermissibleValue(text="704", description="Numeric code for Viet Nam."), - ) - setattr( - cls, - "876", - PermissibleValue( - text="876", description="Numeric code for Wallis and Futuna." - ), - ) - setattr( - cls, - "162", - PermissibleValue( - text="162", description="Numeric code for Christmas Island." - ), - ) - setattr( - cls, - "112", - PermissibleValue(text="112", description="Numeric code for Belarus."), - ) - setattr( - cls, - "732", - PermissibleValue( - text="732", description="Numeric code for Western Sahara." - ), - ) - setattr( - cls, - "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).", - ), - ) - setattr( - cls, - "196", - PermissibleValue(text="196", description="Numeric code for Cyprus."), - ) - - -class Architectures(EnumDefinitionImpl): - other = PermissibleValue( - text="other", description="CPU architecture not specified above." - ) - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr( - cls, - "x86-32", - PermissibleValue( - text="x86-32", description="32 bit version of x86 architecture." - ), - ) - setattr( - cls, - "x86-64", - PermissibleValue( - text="x86-64", description="64 bit version of x86 architecture." - ), - ) - setattr( - cls, - "AArch-32", - PermissibleValue( - text="AArch-32", description="32-bit version of ARM architecture." - ), - ) - setattr( - cls, - "AArch-64", - PermissibleValue( - text="AArch-64", description="64-bit version of ARM architecture." - ), - ) - setattr( - cls, - "RISC-V", - PermissibleValue( - text="RISC-V", - description="Architecture based on open standard instruction set (ISA).", - ), - ) - - -class EncryptionAlgorithm(EnumDefinitionImpl): - RSA = PermissibleValue(text="RSA", description="TBD") - AES = PermissibleValue(text="AES", description="TBD") - Blowfish = PermissibleValue(text="Blowfish", description="TBD") - Twofish = PermissibleValue(text="Twofish", description="TBD") - SDA = PermissibleValue(text="SDA", description="TBD") - other = PermissibleValue( - text="other", description="Algorithm for encryption not further described." - ) - -======= - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", - PermissibleValue( - text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", - PermissibleValue( - text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", - PermissibleValue( - text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", - PermissibleValue( - text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", - PermissibleValue( - text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", - PermissibleValue( - text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", - PermissibleValue( - text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", - PermissibleValue( - text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", - PermissibleValue( - text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", - PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", - PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", - PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", - PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", - PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", - PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", - PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", - PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", - PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", - PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", - PermissibleValue( - text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) - -class EncryptionAlgorithm(EnumDefinitionImpl): - - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for enchryption not further described.") - ->>>>>>> Update vm image generations - _defn = EnumDefinition( - name="EncryptionAlgorithm", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr(cls, "3DES", PermissibleValue(text="3DES", description="TBD")) - - -class ChecksumAlgorithm(EnumDefinitionImpl): - md5 = PermissibleValue(text="md5", description="TBD") - blake2 = PermissibleValue(text="blake2", description="TBD") - blake3 = PermissibleValue(text="blake3", description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm to calcualte checksum not further described.", - ) -======= - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) - -class ChecksumAlgorithm(EnumDefinitionImpl): - - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm to calcualte checksum not further described.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="ChecksumAlgorithm", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr(cls, "sha-1", PermissibleValue(text="sha-1", description="TBD")) - setattr(cls, "sha-224", PermissibleValue(text="sha-224", description="TBD")) - setattr(cls, "sha-256", PermissibleValue(text="sha-256", description="TBD")) - setattr(cls, "sha-512", PermissibleValue(text="sha-512", description="TBD")) - setattr(cls, "sha-384", PermissibleValue(text="sha-384", description="TBD")) - setattr(cls, "sha-3", PermissibleValue(text="sha-3", description="TBD")) - setattr( - cls, "ripemd-160", PermissibleValue(text="ripemd-160", description="TBD") - ) - - -class KeyManagement(EnumDefinitionImpl): - BYOK = PermissibleValue( - text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud", - ) - HYOK = PermissibleValue( - text="HYOK", - description="hold-your-own-key Key created by user and kept by user", - ) - managed = PermissibleValue( - text="managed", - description="managed: Keys are created by and stored in key manager of cloud.", - ) -======= - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - -class KeyManagement(EnumDefinitionImpl): - - BYOK = PermissibleValue( - text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") - HYOK = PermissibleValue( - text="HYOK", - description="hold-your-own-key Key created by user and kept by user") - managed = PermissibleValue( - text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="KeyManagement", - ) - -<<<<<<< HEAD - -class SignatureAlgorithm(EnumDefinitionImpl): - ECDSA = PermissibleValue(text="ECDSA", description="TBD") - DSA = PermissibleValue(text="DSA", description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for digital signatures not further described.", - ) -======= -class SignatureAlgorithm(EnumDefinitionImpl): - - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for digital signatures not further described.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="SignatureAlgorithm", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr( - cls, - "RSA-Signature", - PermissibleValue(text="RSA-Signature", description="TBD"), - ) - - -class DiskTypes(EnumDefinitionImpl): - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="DiskTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "local SSD", PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", PermissibleValue(text="local HDD")) - setattr( - cls, - "shared network storage", - PermissibleValue(text="shared network storage"), - ) - setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) - - -class GPUInterconnetionTypes(EnumDefinitionImpl): - NVLink = PermissibleValue(text="NVLink") - RoCE2 = PermissibleValue(text="RoCE2") - other = PermissibleValue(text="other") - none = PermissibleValue(text="none") - - _defn = EnumDefinition( - name="GPUInterconnetionTypes", -======= - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) - -class DiskTypes(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="DiskTypes", ->>>>>>> Update vm image generations - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr(cls, "Xe Link", PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", PermissibleValue(text="Infinity Fabric")) - -======= - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) ->>>>>>> Update vm image generations - -class UpdateFrequency(EnumDefinitionImpl): - """ - Possible values for image's update frequency. - """ -<<<<<<< HEAD - - yearly = PermissibleValue( - text="yearly", description="Image will be updated at least once per year." - ) - quarterly = PermissibleValue( - text="quarterly", description="Image will be updated at least once per month." - ) - weekly = PermissibleValue( - text="weekly", description="Image will be updated at least once per week." - ) - daily = PermissibleValue( - text="daily", description="Image will be updated at least once per day." - ) - critical_bug = PermissibleValue( - text="critical_bug", description="Image will be updated for critical bugs only." - ) - never = PermissibleValue(text="never", description="Image will never be updated.") -======= - yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") - quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") - weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") - daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") - critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="UpdateFrequency", - description="Possible values for image's update frequency.", - ) - -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations -class Validity1(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ -<<<<<<< HEAD - - none = PermissibleValue(text="none", description="No information are given.") - notice = PermissibleValue( - text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.", - ) -======= - none = PermissibleValue( - text="none", - description="No information are given.") - notice = PermissibleValue( - text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="Validity1", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations -class Validity2(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ -<<<<<<< HEAD - - forever = PermissibleValue( - text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.", - ) -======= - forever = PermissibleValue( - text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="Validity2", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations -class GaiaXTermsAndConditions(EnumDefinitionImpl): - """ - SHA256 check sum of Gaia-X Terms and Conditions. - """ -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations - _defn = EnumDefinition( - name="GaiaXTermsAndConditions", - description="SHA256 check sum of Gaia-X Terms and Conditions.", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr( - cls, - "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue( - text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" - ), - ) - - -class MemoryClasses(EnumDefinitionImpl): -======= - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) - -class MemoryClasses(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - DDR4 = PermissibleValue(text="DDR4") - DDR5 = PermissibleValue(text="DDR5") - GDDR5 = PermissibleValue(text="GDDR5") - GDDR6 = PermissibleValue(text="GDDR6") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryClasses", - ) - -<<<<<<< HEAD - -class MemoryRanks(EnumDefinitionImpl): -======= -class MemoryRanks(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryRanks", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr(cls, "1R RDIMM", PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", PermissibleValue(text="8R LRDIMM")) - - -class PXEDiskType(EnumDefinitionImpl): -======= - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) - -class PXEDiskType(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - WINPE = PermissibleValue(text="WINPE") - ISO = PermissibleValue(text="ISO") - - _defn = EnumDefinition( - name="PXEDiskType", - ) - -<<<<<<< HEAD - -class SPDX(EnumDefinitionImpl): -======= -class SPDX(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - AAL = PermissibleValue(text="AAL") - Abstyles = PermissibleValue(text="Abstyles") - ADSL = PermissibleValue(text="ADSL") - Afmparse = PermissibleValue(text="Afmparse") - Aladdin = PermissibleValue(text="Aladdin") - AMDPLPA = PermissibleValue(text="AMDPLPA") - AML = PermissibleValue(text="AML") - AMPAS = PermissibleValue(text="AMPAS") - APAFML = PermissibleValue(text="APAFML") - Baekmuk = PermissibleValue(text="Baekmuk") - Bahyph = PermissibleValue(text="Bahyph") - Barr = PermissibleValue(text="Barr") - Beerware = PermissibleValue(text="Beerware") - blessing = PermissibleValue(text="blessing") - Borceux = PermissibleValue(text="Borceux") - Caldera = PermissibleValue(text="Caldera") - CFITSIO = PermissibleValue(text="CFITSIO") - checkmk = PermissibleValue(text="checkmk") - ClArtistic = PermissibleValue(text="ClArtistic") - Clips = PermissibleValue(text="Clips") - Crossword = PermissibleValue(text="Crossword") - CrystalStacker = PermissibleValue(text="CrystalStacker") - Cube = PermissibleValue(text="Cube") - curl = PermissibleValue(text="curl") - diffmark = PermissibleValue(text="diffmark") - DOC = PermissibleValue(text="DOC") - Dotseqn = PermissibleValue(text="Dotseqn") - DSDP = PermissibleValue(text="DSDP") - dtoa = PermissibleValue(text="dtoa") - dvipdfm = PermissibleValue(text="dvipdfm") - eGenix = PermissibleValue(text="eGenix") - Entessa = PermissibleValue(text="Entessa") - EPICS = PermissibleValue(text="EPICS") - EUDatagrid = PermissibleValue(text="EUDatagrid") - Eurosym = PermissibleValue(text="Eurosym") - Fair = PermissibleValue(text="Fair") - FreeImage = PermissibleValue(text="FreeImage") - FSFAP = PermissibleValue(text="FSFAP") - FSFUL = PermissibleValue(text="FSFUL") - FSFULLR = PermissibleValue(text="FSFULLR") - FSFULLRWD = PermissibleValue(text="FSFULLRWD") - FTL = PermissibleValue(text="FTL") - GD = PermissibleValue(text="GD") - Giftware = PermissibleValue(text="Giftware") - GL2PS = PermissibleValue(text="GL2PS") - Glide = PermissibleValue(text="Glide") - Glulxe = PermissibleValue(text="Glulxe") - GLWTPL = PermissibleValue(text="GLWTPL") - gnuplot = PermissibleValue(text="gnuplot") - HaskellReport = PermissibleValue(text="HaskellReport") - HPND = PermissibleValue(text="HPND") - HTMLTIDY = PermissibleValue(text="HTMLTIDY") - ICU = PermissibleValue(text="ICU") - IJG = PermissibleValue(text="IJG") - ImageMagick = PermissibleValue(text="ImageMagick") - iMatix = PermissibleValue(text="iMatix") - Imlib2 = PermissibleValue(text="Imlib2") - Intel = PermissibleValue(text="Intel") - IPA = PermissibleValue(text="IPA") - ISC = PermissibleValue(text="ISC") - Jam = PermissibleValue(text="Jam") - JPNIC = PermissibleValue(text="JPNIC") - JSON = PermissibleValue(text="JSON") - Kazlib = PermissibleValue(text="Kazlib") - Latex2e = PermissibleValue(text="Latex2e") - Leptonica = PermissibleValue(text="Leptonica") - LGPLLR = PermissibleValue(text="LGPLLR") - Libpng = PermissibleValue(text="Libpng") - libtiff = PermissibleValue(text="libtiff") - LOOP = PermissibleValue(text="LOOP") - MakeIndex = PermissibleValue(text="MakeIndex") - metamail = PermissibleValue(text="metamail") - Minpack = PermissibleValue(text="Minpack") - MirOS = PermissibleValue(text="MirOS") - MIT = PermissibleValue(text="MIT") - MITNFA = PermissibleValue(text="MITNFA") - Motosoto = PermissibleValue(text="Motosoto") - mpich2 = PermissibleValue(text="mpich2") - mplus = PermissibleValue(text="mplus") - MTLL = PermissibleValue(text="MTLL") - Multics = PermissibleValue(text="Multics") - Mup = PermissibleValue(text="Mup") - Naumen = PermissibleValue(text="Naumen") - NCSA = PermissibleValue(text="NCSA") - NetCDF = PermissibleValue(text="NetCDF") - Newsletr = PermissibleValue(text="Newsletr") - NGPL = PermissibleValue(text="NGPL") - NLPL = PermissibleValue(text="NLPL") - Nokia = PermissibleValue(text="Nokia") - NOSL = PermissibleValue(text="NOSL") - Noweb = PermissibleValue(text="Noweb") - NRL = PermissibleValue(text="NRL") - NTP = PermissibleValue(text="NTP") - OFFIS = PermissibleValue(text="OFFIS") - OGTSL = PermissibleValue(text="OGTSL") - OML = PermissibleValue(text="OML") - OpenSSL = PermissibleValue(text="OpenSSL") - Plexus = PermissibleValue(text="Plexus") - PostgreSQL = PermissibleValue(text="PostgreSQL") - psfrag = PermissibleValue(text="psfrag") - psutils = PermissibleValue(text="psutils") - Qhull = PermissibleValue(text="Qhull") - Rdisc = PermissibleValue(text="Rdisc") - RSCPL = PermissibleValue(text="RSCPL") - Ruby = PermissibleValue(text="Ruby") - Saxpath = PermissibleValue(text="Saxpath") - SCEA = PermissibleValue(text="SCEA") - SchemeReport = PermissibleValue(text="SchemeReport") - Sendmail = PermissibleValue(text="Sendmail") - SGP4 = PermissibleValue(text="SGP4") - SISSL = PermissibleValue(text="SISSL") - Sleepycat = PermissibleValue(text="Sleepycat") - SMLNJ = PermissibleValue(text="SMLNJ") - SMPPL = PermissibleValue(text="SMPPL") - SNIA = PermissibleValue(text="SNIA") - snprintf = PermissibleValue(text="snprintf") - SunPro = PermissibleValue(text="SunPro") - SWL = PermissibleValue(text="SWL") - Symlinks = PermissibleValue(text="Symlinks") - TCL = PermissibleValue(text="TCL") - TermReadKey = PermissibleValue(text="TermReadKey") - TMate = PermissibleValue(text="TMate") - TOSL = PermissibleValue(text="TOSL") - TPDL = PermissibleValue(text="TPDL") - TTWL = PermissibleValue(text="TTWL") - UCAR = PermissibleValue(text="UCAR") - UnixCrypt = PermissibleValue(text="UnixCrypt") - Unlicense = PermissibleValue(text="Unlicense") - Vim = PermissibleValue(text="Vim") - VOSTROM = PermissibleValue(text="VOSTROM") - W3C = PermissibleValue(text="W3C") - w3m = PermissibleValue(text="w3m") - Wsuipa = PermissibleValue(text="Wsuipa") - WTFPL = PermissibleValue(text="WTFPL") - X11 = PermissibleValue(text="X11") - Xerox = PermissibleValue(text="Xerox") - Xfig = PermissibleValue(text="Xfig") - xinetd = PermissibleValue(text="xinetd") - xlock = PermissibleValue(text="xlock") - Xnet = PermissibleValue(text="Xnet") - xpp = PermissibleValue(text="xpp") - XSkat = PermissibleValue(text="XSkat") - Zed = PermissibleValue(text="Zed") - Zlib = PermissibleValue(text="Zlib") - - _defn = EnumDefinition( - name="SPDX", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr(cls, "0BSD", PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", PermissibleValue(text="Artistic-2.0")) - setattr( - cls, - "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0"), - ) - setattr( - cls, - "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1"), - ) - setattr(cls, "Bitstream-Charter", PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", PermissibleValue(text="Boehm-GC")) - setattr( - cls, - "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause"), - ) - setattr(cls, "BSD-1-Clause", PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", PermissibleValue(text="BSD-2-Clause")) - setattr( - cls, "BSD-2-Clause-Patent", PermissibleValue(text="BSD-2-Clause-Patent") - ) - setattr(cls, "BSD-2-Clause-Views", PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", PermissibleValue(text="BSD-3-Clause")) - setattr( - cls, - "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution"), - ) - setattr(cls, "BSD-3-Clause-Clear", PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr( - cls, - "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification"), - ) - setattr( - cls, - "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License"), - ) - setattr( - cls, - "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License"), - ) - setattr( - cls, - "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014"), - ) - setattr( - cls, - "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty"), - ) - setattr( - cls, "BSD-3-Clause-Open-MPI", PermissibleValue(text="BSD-3-Clause-Open-MPI") - ) - setattr(cls, "BSD-4-Clause", PermissibleValue(text="BSD-4-Clause")) - setattr( - cls, - "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened"), - ) - setattr(cls, "BSD-4-Clause-UC", PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", PermissibleValue(text="BSD-4.3TAHOE")) - setattr( - cls, - "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement"), - ) - setattr( - cls, - "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer"), - ) - setattr(cls, "BSD-Protection", PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", PermissibleValue(text="CAL-1.0")) - setattr( - cls, - "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception"), - ) - setattr(cls, "CATOSL-1.1", PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr( - cls, "CC-BY-NC-ND-3.0-IGO", PermissibleValue(text="CC-BY-NC-ND-3.0-IGO") - ) - setattr(cls, "CC-BY-NC-ND-4.0", PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr( - cls, "CC-BY-NC-SA-3.0-IGO", PermissibleValue(text="CC-BY-NC-SA-3.0-IGO") - ) - setattr(cls, "CC-BY-NC-SA-4.0", PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", PermissibleValue(text="CDL-1.0")) - setattr( - cls, "CDLA-Permissive-1.0", PermissibleValue(text="CDLA-Permissive-1.0") - ) - setattr( - cls, "CDLA-Permissive-2.0", PermissibleValue(text="CDLA-Permissive-2.0") - ) - setattr(cls, "CDLA-Sharing-1.0", PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", PermissibleValue(text="CNRI-Python")) - setattr( - cls, - "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible"), - ) - setattr(cls, "COIL-1.0", PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", PermissibleValue(text="Condor-1.1")) - setattr( - cls, "copyleft-next-0.3.0", PermissibleValue(text="copyleft-next-0.3.0") - ) - setattr( - cls, "copyleft-next-0.3.1", PermissibleValue(text="copyleft-next-0.3.1") - ) - setattr( - cls, "Cornell-Lossless-JPEG", PermissibleValue(text="Cornell-Lossless-JPEG") - ) - setattr(cls, "CPAL-1.0", PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", PermissibleValue(text="FreeBSD-DOC")) - setattr( - cls, - "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only"), - ) - setattr( - cls, - "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later"), - ) - setattr( - cls, - "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only"), - ) - setattr( - cls, - "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later"), - ) - setattr(cls, "GFDL-1.1-only", PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", PermissibleValue(text="GFDL-1.1-or-later")) - setattr( - cls, - "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only"), - ) - setattr( - cls, - "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later"), - ) - setattr( - cls, - "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only"), - ) - setattr( - cls, - "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later"), - ) - setattr(cls, "GFDL-1.2-only", PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", PermissibleValue(text="GFDL-1.2-or-later")) - setattr( - cls, - "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only"), - ) - setattr( - cls, - "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later"), - ) - setattr( - cls, - "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only"), - ) - setattr( - cls, - "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later"), - ) - setattr(cls, "GFDL-1.3-only", PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", PermissibleValue(text="HPND-sell-variant")) - setattr( - cls, - "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer"), - ) - setattr(cls, "IBM-pibs", PermissibleValue(text="IBM-pibs")) - setattr( - cls, - "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA"), - ) - setattr(cls, "IJG-short", PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", PermissibleValue(text="LAL-1.3")) - setattr( - cls, - "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice"), - ) - setattr(cls, "LGPL-2.0-only", PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", PermissibleValue(text="libselinux-1.0")) - setattr( - cls, "libutil-David-Nugent", PermissibleValue(text="libutil-David-Nugent") - ) - setattr(cls, "LiLiQ-P-1.1", PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr( - cls, - "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para"), - ) - setattr( - cls, - "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft"), - ) - setattr( - cls, - "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para"), - ) - setattr( - cls, - "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var"), - ) - setattr(cls, "Linux-OpenIB", PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", PermissibleValue(text="LPPL-1.3c")) - setattr( - cls, "LZMA-SDK-9.11-to-9.20", PermissibleValue(text="LZMA-SDK-9.11-to-9.20") - ) - setattr(cls, "LZMA-SDK-9.22", PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", PermissibleValue(text="MPL-2.0")) - setattr( - cls, - "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception"), - ) - setattr(cls, "MS-LPL", PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", PermissibleValue(text="PHP-3.01")) - setattr( - cls, - "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0"), - ) - setattr( - cls, - "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0"), - ) - setattr(cls, "PSF-2.0", PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", PermissibleValue(text="Widget-Workshop")) - setattr( - cls, - "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant"), - ) - setattr(cls, "Xdebug-1.03", PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", PermissibleValue(text="Zimbra-1.4")) - setattr( - cls, "zlib-acknowledgement", PermissibleValue(text="zlib-acknowledgement") - ) - setattr(cls, "ZPL-1.1", PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", PermissibleValue(text="ZPL-2.1")) - - -class OSDistribution(EnumDefinitionImpl): - """ - Possible values for operating system distribution. - """ - -======= - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) - -class OSDistribution(EnumDefinitionImpl): - """ - Possible values for operationg system distribution. - """ ->>>>>>> Update vm image generations - Debian = PermissibleValue(text="Debian") - Fedora = PermissibleValue(text="Fedora") - FreeBSD = PermissibleValue(text="FreeBSD") - Mandrakelinux = PermissibleValue(text="Mandrakelinux") - NetBSD = PermissibleValue(text="NetBSD") - OpenBSD = PermissibleValue(text="OpenBSD") - OpenSolaris = PermissibleValue(text="OpenSolaris") - openSUSE = PermissibleValue(text="openSUSE") - Ubuntu = PermissibleValue(text="Ubuntu") -<<<<<<< HEAD - CirrOS = PermissibleValue(text="CirrOS") - AlmaLinux = PermissibleValue(text="AlmaLinux") - others = PermissibleValue(text="others") - - _defn = EnumDefinition( - name="OSDistribution", - description="Possible values for operating system distribution.", -======= - - _defn = EnumDefinition( - name="OSDistribution", - description="Possible values for operationg system distribution.", ->>>>>>> Update vm image generations - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr(cls, "Alpine Linux", PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", PermissibleValue(text="Mandriva Linux")) - setattr( - cls, - "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server"), - ) - setattr(cls, "MS-DOS", PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", PermissibleValue(text="Rocky Linux")) - setattr( - cls, - "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux"), - ) - setattr( - cls, - "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop"), - ) - setattr(cls, "Microsoft Windows", PermissibleValue(text="Microsoft Windows")) - -======= - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) ->>>>>>> Update vm image generations - -class HypervisorType(EnumDefinitionImpl): - """ - Possible values for hypervisor types. - """ -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations - quemu = PermissibleValue(text="quemu") - KVM = PermissibleValue(text="KVM") - Xen = PermissibleValue(text="Xen") - ESXi = PermissibleValue(text="ESXi") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="HypervisorType", - description="Possible values for hypervisor types.", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr(cls, "Hyper-V", PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", PermissibleValue(text="Cloud Hypervisor")) - - -class PersonalDataProtectionRegime(EnumDefinitionImpl): - GDPR2016 = PermissibleValue( - text="GDPR2016", description="General Data Protection Regulation / EEA." - ) - LGPD2019 = PermissibleValue( - text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.", - ) - PDPA2012 = PermissibleValue( - text="PDPA2012", description="Personal Data Protection Act 2012 / SGP." - ) - CCPA2018 = PermissibleValue( - text="CCPA2018", description="California Consumer Privacy Act / US-CA." - ) - VCDPA2021 = PermissibleValue( - text="VCDPA2021", description="Virginia Consumer Data Protection Act / US-VA." - ) -======= - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) - -class PersonalDataProtectionRegime(EnumDefinitionImpl): - - GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") - LGPD2019 = PermissibleValue( - text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") - PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") - CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") - VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="PersonalDataProtectionRegime", - ) - -<<<<<<< HEAD - -class RequestTypes(EnumDefinitionImpl): -======= -class RequestTypes(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - API = PermissibleValue(text="API") - email = PermissibleValue(text="email") - webform = PermissibleValue(text="webform") - unregisteredLetter = PermissibleValue(text="unregisteredLetter") - registeredLetter = PermissibleValue(text="registeredLetter") - supportCenter = PermissibleValue(text="supportCenter") - - _defn = EnumDefinition( - name="RequestTypes", - ) - -<<<<<<< HEAD - -class AccessTypes(EnumDefinitionImpl): - digital = PermissibleValue( - text="digital", - description="Access via digital service, such as e-mail or web form.", - ) - physical = PermissibleValue( - text="physical", - description="Access via physical medium, such as letter or physical appointment.", - ) -======= -class AccessTypes(EnumDefinitionImpl): - - digital = PermissibleValue( - text="digital", - description="Access via digital service, such as e-mail or web form.") - physical = PermissibleValue( - text="physical", - description="Access via physical medium, such as letter or physical appointment.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="AccessTypes", - ) - -<<<<<<< HEAD - -class MIMETypes(EnumDefinitionImpl): -======= -class MIMETypes(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - calendar = PermissibleValue(text="calendar") - cql = PermissibleValue(text="cql") - css = PermissibleValue(text="css") - csv = PermissibleValue(text="csv") - dns = PermissibleValue(text="dns") - encaprtp = PermissibleValue(text="encaprtp") - enriched = PermissibleValue(text="enriched") - example = PermissibleValue(text="example") - fhirpath = PermissibleValue(text="fhirpath") - flexfec = PermissibleValue(text="flexfec") - fwdred = PermissibleValue(text="fwdred") - gff3 = PermissibleValue(text="gff3") - hl7v2 = PermissibleValue(text="hl7v2") - html = PermissibleValue(text="html") - javascript = PermissibleValue(text="javascript") - markdown = PermissibleValue(text="markdown") - mizar = PermissibleValue(text="mizar") - n3 = PermissibleValue(text="n3") - parameters = PermissibleValue(text="parameters") - parityfec = PermissibleValue(text="parityfec") - plain = PermissibleValue(text="plain") - RED = PermissibleValue(text="RED") - richtext = PermissibleValue(text="richtext") - rtf = PermissibleValue(text="rtf") - rtploopback = PermissibleValue(text="rtploopback") - rtx = PermissibleValue(text="rtx") - SGML = PermissibleValue(text="SGML") - shacl = PermissibleValue(text="shacl") - shex = PermissibleValue(text="shex") - spdx = PermissibleValue(text="spdx") - strings = PermissibleValue(text="strings") - t140 = PermissibleValue(text="t140") - troff = PermissibleValue(text="troff") - turtle = PermissibleValue(text="turtle") - ulpfec = PermissibleValue(text="ulpfec") - vcard = PermissibleValue(text="vcard") - vtt = PermissibleValue(text="vtt") - wgsl = PermissibleValue(text="wgsl") - xml = PermissibleValue(text="xml") - A2L = PermissibleValue(text="A2L") - activemessage = PermissibleValue(text="activemessage") - AML = PermissibleValue(text="AML") - applefile = PermissibleValue(text="applefile") - ATF = PermissibleValue(text="ATF") - ATFX = PermissibleValue(text="ATFX") - atomicmail = PermissibleValue(text="atomicmail") - ATXML = PermissibleValue(text="ATXML") - cbor = PermissibleValue(text="cbor") - cccex = PermissibleValue(text="cccex") - cdni = PermissibleValue(text="cdni") - CEA = PermissibleValue(text="CEA") - cfw = PermissibleValue(text="cfw") - clr = PermissibleValue(text="clr") - cms = PermissibleValue(text="cms") - commonground = PermissibleValue(text="commonground") - cose = PermissibleValue(text="cose") - csrattrs = PermissibleValue(text="csrattrs") - cwl = PermissibleValue(text="cwl") - cwt = PermissibleValue(text="cwt") - cybercash = PermissibleValue(text="cybercash") - dashdelta = PermissibleValue(text="dashdelta") - DCD = PermissibleValue(text="DCD") - dicom = PermissibleValue(text="dicom") - DII = PermissibleValue(text="DII") - DIT = PermissibleValue(text="DIT") - dvcs = PermissibleValue(text="dvcs") - EDIFACT = PermissibleValue(text="EDIFACT") - efi = PermissibleValue(text="efi") - eshop = PermissibleValue(text="eshop") - exi = PermissibleValue(text="exi") - express = PermissibleValue(text="express") - fastinfoset = PermissibleValue(text="fastinfoset") - fastsoap = PermissibleValue(text="fastsoap") - fdf = PermissibleValue(text="fdf") - fits = PermissibleValue(text="fits") - gzip = PermissibleValue(text="gzip") - H224 = PermissibleValue(text="H224") - http = PermissibleValue(text="http") - hyperstudio = PermissibleValue(text="hyperstudio") - iges = PermissibleValue(text="iges") - index = PermissibleValue(text="index") - IOTP = PermissibleValue(text="IOTP") - ipfix = PermissibleValue(text="ipfix") - ipp = PermissibleValue(text="ipp") - ISUP = PermissibleValue(text="ISUP") - jose = PermissibleValue(text="jose") - json = PermissibleValue(text="json") - jwt = PermissibleValue(text="jwt") - linkset = PermissibleValue(text="linkset") - LXF = PermissibleValue(text="LXF") - macwriteii = PermissibleValue(text="macwriteii") - marc = PermissibleValue(text="marc") - mathematica = PermissibleValue(text="mathematica") - mbox = PermissibleValue(text="mbox") - MF4 = PermissibleValue(text="MF4") - mikey = PermissibleValue(text="mikey") - mipc = PermissibleValue(text="mipc") - mp21 = PermissibleValue(text="mp21") - mp4 = PermissibleValue(text="mp4") - msword = PermissibleValue(text="msword") - mxf = PermissibleValue(text="mxf") - nasdata = PermissibleValue(text="nasdata") - node = PermissibleValue(text="node") - nss = PermissibleValue(text="nss") - ODA = PermissibleValue(text="ODA") - ODX = PermissibleValue(text="ODX") - ogg = PermissibleValue(text="ogg") - oscore = PermissibleValue(text="oscore") - oxps = PermissibleValue(text="oxps") - p21 = PermissibleValue(text="p21") - passport = PermissibleValue(text="passport") - pdf = PermissibleValue(text="pdf") - PDX = PermissibleValue(text="PDX") - pkcs10 = PermissibleValue(text="pkcs10") - pkcs8 = PermissibleValue(text="pkcs8") - pkcs12 = PermissibleValue(text="pkcs12") - pkixcmp = PermissibleValue(text="pkixcmp") - postscript = PermissibleValue(text="postscript") - QSIG = PermissibleValue(text="QSIG") - raptorfec = PermissibleValue(text="raptorfec") - riscos = PermissibleValue(text="riscos") - sbe = PermissibleValue(text="sbe") - sdp = PermissibleValue(text="sdp") - sieve = PermissibleValue(text="sieve") - simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") - sipc = PermissibleValue(text="sipc") - slate = PermissibleValue(text="slate") - smpte336m = PermissibleValue(text="smpte336m") - sql = PermissibleValue(text="sql") - srgs = PermissibleValue(text="srgs") - TETRA_ISI = PermissibleValue(text="TETRA_ISI") - tnauthlist = PermissibleValue(text="tnauthlist") - trig = PermissibleValue(text="trig") - tzif = PermissibleValue(text="tzif") - vemmi = PermissibleValue(text="vemmi") - wasm = PermissibleValue(text="wasm") - widget = PermissibleValue(text="widget") - wita = PermissibleValue(text="wita") - xfdf = PermissibleValue(text="xfdf") - yaml = PermissibleValue(text="yaml") - yang = PermissibleValue(text="yang") - zip = PermissibleValue(text="zip") - zlib = PermissibleValue(text="zlib") - zstd = PermissibleValue(text="zstd") - - _defn = EnumDefinition( - name="MIMETypes", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr( - cls, - "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec"), - ) - setattr(cls, "cache-manifest", PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", PermissibleValue(text="csv-schema")) - setattr( - cls, - "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350"), - ) - setattr( - cls, - "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)"), - ) - setattr(cls, "grammar-ref-list", PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", PermissibleValue(text="jcr-cnd")) - setattr( - cls, "provenance-notation", PermissibleValue(text="provenance-notation") - ) - setattr( - cls, "prs.fallenstein.rst", PermissibleValue(text="prs.fallenstein.rst") - ) - setattr(cls, "prs.lines.tag", PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", PermissibleValue(text="rtp-enc-aescm128")) - setattr( - cls, "tab-separated-values", PermissibleValue(text="tab-separated-values") - ) - setattr(cls, "uri-list", PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", PermissibleValue(text="vnd.curl")) - setattr( - cls, "vnd.debian.copyright", PermissibleValue(text="vnd.debian.copyright") - ) - setattr(cls, "vnd.DMClientScript", PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", PermissibleValue(text="vnd.dvb.subtitle")) - setattr( - cls, - "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor"), - ) - setattr(cls, "vnd.exchangeable", PermissibleValue(text="vnd.exchangeable")) - setattr( - cls, - "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom"), - ) - setattr(cls, "vnd.ficlab.flt", PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", PermissibleValue(text="vnd.latex-z")) - setattr( - cls, "vnd.motorola.reflex", PermissibleValue(text="vnd.motorola.reflex") - ) - setattr( - cls, "vnd.ms-mediapackage", PermissibleValue(text="vnd.ms-mediapackage") - ) - setattr( - cls, - "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command"), - ) - setattr( - cls, - "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout"), - ) - setattr( - cls, "vnd.senx.warpscript", PermissibleValue(text="vnd.senx.warpscript") - ) - setattr( - cls, "vnd.si.uricatalogue", PermissibleValue(text="vnd.si.uricatalogue") - ) - setattr( - cls, - "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor"), - ) - setattr(cls, "vnd.sosi", PermissibleValue(text="vnd.sosi")) - setattr( - cls, - "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist"), - ) - setattr(cls, "vnd.wap.si", PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", PermissibleValue(text="vnd.wap.wmlscript")) - setattr( - cls, - "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity"), - ) - setattr( - cls, - "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml"), - ) - setattr(cls, "3gppHal+json", PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", PermissibleValue(text="alto-cdni+json")) - setattr( - cls, "alto-cdnifilter+json", PermissibleValue(text="alto-cdnifilter+json") - ) - setattr(cls, "alto-costmap+json", PermissibleValue(text="alto-costmap+json")) - setattr( - cls, - "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json"), - ) - setattr( - cls, "alto-directory+json", PermissibleValue(text="alto-directory+json") - ) - setattr( - cls, - "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json"), - ) - setattr( - cls, - "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json"), - ) - setattr( - cls, - "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json"), - ) - setattr( - cls, - "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json"), - ) - setattr(cls, "alto-error+json", PermissibleValue(text="alto-error+json")) - setattr( - cls, - "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json"), - ) - setattr( - cls, "alto-networkmap+json", PermissibleValue(text="alto-networkmap+json") - ) - setattr(cls, "alto-propmap+json", PermissibleValue(text="alto-propmap+json")) - setattr( - cls, - "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json"), - ) - setattr( - cls, - "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json"), - ) - setattr( - cls, - "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json"), - ) - setattr(cls, "andrew-inset", PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", PermissibleValue(text="atsc-dwd+xml")) - setattr( - cls, - "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message"), - ) - setattr(cls, "atsc-held+xml", PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", PermissibleValue(text="auth-policy+xml")) - setattr( - cls, "automationml-aml+xml", PermissibleValue(text="automationml-aml+xml") - ) - setattr( - cls, "automationml-amlx+zip", PermissibleValue(text="automationml-amlx+zip") - ) - setattr(cls, "bacnet-xdd+zip", PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", PermissibleValue(text="coap-payload")) - setattr( - cls, - "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor"), - ) - setattr( - cls, "conference-info+xml", PermissibleValue(text="conference-info+xml") - ) - setattr(cls, "cpl+xml", PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", PermissibleValue(text="elm+xml")) - setattr( - cls, - "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml"), - ) - setattr( - cls, - "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml"), - ) - setattr( - cls, - "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml"), - ) - setattr( - cls, - "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml"), - ) - setattr( - cls, - "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD"), - ) - setattr( - cls, - "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json"), - ) - setattr( - cls, - "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml"), - ) - setattr( - cls, - "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml"), - ) - setattr( - cls, - "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml"), - ) - setattr( - cls, - "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml"), - ) - setattr(cls, "emma+xml", PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", PermissibleValue(text="epub+zip")) - setattr( - cls, "expect-ct-report+json", PermissibleValue(text="expect-ct-report+json") - ) - setattr(cls, "fdt+xml", PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", PermissibleValue(text="fhir+xml")) - setattr( - cls, - "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt"), - ) - setattr(cls, "font-tdpfr", PermissibleValue(text="font-tdpfr")) - setattr( - cls, - "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff"), - ) - setattr( - cls, - "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml"), - ) - setattr(cls, "geo+json", PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", PermissibleValue(text="hl7v2+xml")) - setattr( - cls, "ibe-key-request+xml", PermissibleValue(text="ibe-key-request+xml") - ) - setattr(cls, "ibe-pkg-reply+xml", PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", PermissibleValue(text="index.obj")) - setattr(cls, "index.response", PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", PermissibleValue(text="java-archive")) - setattr( - cls, - "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)"), - ) - setattr(cls, "jf2feed+json", PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", PermissibleValue(text="mathml-content+xml")) - setattr( - cls, - "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml"), - ) - setattr( - cls, - "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml"), - ) - setattr( - cls, "mbms-deregister+xml", PermissibleValue(text="mbms-deregister+xml") - ) - setattr(cls, "mbms-envelope+xml", PermissibleValue(text="mbms-envelope+xml")) - setattr( - cls, "mbms-msk-response+xml", PermissibleValue(text="mbms-msk-response+xml") - ) - setattr(cls, "mbms-msk+xml", PermissibleValue(text="mbms-msk+xml")) - setattr( - cls, - "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml"), - ) - setattr( - cls, - "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml"), - ) - setattr( - cls, - "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml"), - ) - setattr(cls, "mbms-register+xml", PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", PermissibleValue(text="mbms-schedule+xml")) - setattr( - cls, - "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml"), - ) - setattr(cls, "media_control+xml", PermissibleValue(text="media_control+xml")) - setattr( - cls, - "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml"), - ) - setattr( - cls, - "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml"), - ) - setattr(cls, "merge-patch+json", PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", PermissibleValue(text="mets+xml")) - setattr( - cls, - "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq"), - ) - setattr(cls, "mmt-aei+xml", PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", PermissibleValue(text="nlsml+xml")) - setattr( - cls, "oauth-authz-req+jwt", PermissibleValue(text="oauth-authz-req+jwt") - ) - setattr( - cls, "oblivious-dns-message", PermissibleValue(text="oblivious-dns-message") - ) - setattr(cls, "ocsp-request", PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", PermissibleValue(text="p2p-overlay+xml")) - setattr( - cls, "patch-ops-error+xml", PermissibleValue(text="patch-ops-error+xml") - ) - setattr( - cls, "pem-certificate-chain", PermissibleValue(text="pem-certificate-chain") - ) - setattr(cls, "pgp-encrypted", PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", PermissibleValue(text="provenance+xml")) - setattr( - cls, - "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet"), - ) - setattr(cls, "prs.cww", PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", PermissibleValue(text="prs.hpub+zip")) - setattr( - cls, - "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml"), - ) - setattr( - cls, - "prs.implied-executable", - PermissibleValue(text="prs.implied-executable"), - ) - setattr( - cls, "prs.implied-structure", PermissibleValue(text="prs.implied-structure") - ) - setattr(cls, "prs.nprend", PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", PermissibleValue(text="reginfo+xml")) - setattr( - cls, - "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax"), - ) - setattr( - cls, - "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)"), - ) - setattr(cls, "reputon+json", PermissibleValue(text="reputon+json")) - setattr( - cls, - "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml"), - ) - setattr(cls, "resource-lists+xml", PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", PermissibleValue(text="samlmetadata+xml")) - setattr( - cls, - "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json"), - ) - setattr(cls, "sarif+json", PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", PermissibleValue(text="session-info")) - setattr(cls, "set-payment", PermissibleValue(text="set-payment")) - setattr( - cls, - "set-payment-initiation", - PermissibleValue(text="set-payment-initiation"), - ) - setattr(cls, "set-registration", PermissibleValue(text="set-registration")) - setattr( - cls, - "set-registration-initiation", - PermissibleValue(text="set-registration-initiation"), - ) - setattr(cls, "sgml-open-catalog", PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", PermissibleValue(text="simple-filter+xml")) - setattr( - cls, - "simple-message-summary", - PermissibleValue(text="simple-message-summary"), - ) - setattr( - cls, - "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)"), - ) - setattr(cls, "smil+xml", PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", PermissibleValue(text="tamp-apex-update")) - setattr( - cls, - "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm"), - ) - setattr( - cls, "tamp-community-update", PermissibleValue(text="tamp-community-update") - ) - setattr( - cls, - "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm"), - ) - setattr(cls, "tamp-error", PermissibleValue(text="tamp-error")) - setattr( - cls, "tamp-sequence-adjust", PermissibleValue(text="tamp-sequence-adjust") - ) - setattr( - cls, - "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm"), - ) - setattr(cls, "tamp-status-query", PermissibleValue(text="tamp-status-query")) - setattr( - cls, "tamp-status-response", PermissibleValue(text="tamp-status-response") - ) - setattr(cls, "tamp-update", PermissibleValue(text="tamp-update")) - setattr( - cls, "tamp-update-confirm", PermissibleValue(text="tamp-update-confirm") - ) - setattr(cls, "taxii+json", PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", PermissibleValue(text="tm+json")) - setattr( - cls, - "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt"), - ) - setattr( - cls, "trickle-ice-sdpfrag", PermissibleValue(text="trickle-ice-sdpfrag") - ) - setattr(cls, "ttml+xml", PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", PermissibleValue(text="urc-targetdesc+xml")) - setattr( - cls, "urc-uisocketdesc+xml", PermissibleValue(text="urc-uisocketdesc+xml") - ) - setattr(cls, "vcard+json", PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", PermissibleValue(text="vcard+xml")) - setattr( - cls, - "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml"), - ) - setattr(cls, "vnd.1ob", PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", PermissibleValue(text="vnd.3gpp.5gnas")) - setattr( - cls, - "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml"), - ) - setattr(cls, "vnd.3gpp.bsf+xml", PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr( - cls, - "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml"), - ) - setattr(cls, "vnd.3gpp.GMOP+xml", PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", PermissibleValue(text="vnd.3gpp.gtpc")) - setattr( - cls, - "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data"), - ) - setattr(cls, "vnd.3gpp.lpp", PermissibleValue(text="vnd.3gpp.lpp")) - setattr( - cls, - "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue( - text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" - ), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml"), - ) - setattr( - cls, - "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml"), - ) - setattr( - cls, "vnd.3gpp.mid-call+xml", PermissibleValue(text="vnd.3gpp.mid-call+xml") - ) - setattr(cls, "vnd.3gpp.ngap", PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", PermissibleValue(text="vnd.3gpp.pfcp")) - setattr( - cls, "vnd.3gpp.pic-bw-large", PermissibleValue(text="vnd.3gpp.pic-bw-large") - ) - setattr( - cls, "vnd.3gpp.pic-bw-small", PermissibleValue(text="vnd.3gpp.pic-bw-small") - ) - setattr( - cls, "vnd.3gpp.pic-bw-var", PermissibleValue(text="vnd.3gpp.pic-bw-var") - ) - setattr( - cls, - "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml"), - ) - setattr( - cls, - "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml"), - ) - setattr( - cls, - "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml"), - ) - setattr( - cls, - "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml"), - ) - setattr(cls, "vnd.3gpp-prose+xml", PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", PermissibleValue(text="vnd.3gpp.s1ap")) - setattr( - cls, - "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml"), - ) - setattr( - cls, - "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml"), - ) - setattr(cls, "vnd.3gpp.sms", PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr( - cls, - "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml"), - ) - setattr( - cls, - "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml"), - ) - setattr( - cls, - "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml"), - ) - setattr(cls, "vnd.3gpp.ussd+xml", PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr( - cls, "vnd.3gpp.vae-info+xml", PermissibleValue(text="vnd.3gpp.vae-info+xml") - ) - setattr( - cls, - "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information"), - ) - setattr( - cls, - "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml"), - ) - setattr(cls, "vnd.3gpp2.sms", PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", PermissibleValue(text="vnd.3gpp.v2x")) - setattr( - cls, - "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal"), - ) - setattr( - cls, "vnd.3M.Post-it-Notes", PermissibleValue(text="vnd.3M.Post-it-Notes") - ) - setattr( - cls, "vnd.accpac.simply.aso", PermissibleValue(text="vnd.accpac.simply.aso") - ) - setattr( - cls, "vnd.accpac.simply.imp", PermissibleValue(text="vnd.accpac.simply.imp") - ) - setattr( - cls, - "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json"), - ) - setattr( - cls, "vnd.acm.chatbot+json", PermissibleValue(text="vnd.acm.chatbot+json") - ) - setattr(cls, "vnd.acucobol", PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", PermissibleValue(text="vnd.acucorp")) - setattr( - cls, "vnd.adobe.flash.movie", PermissibleValue(text="vnd.adobe.flash.movie") - ) - setattr( - cls, - "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt"), - ) - setattr(cls, "vnd.adobe.fxp", PermissibleValue(text="vnd.adobe.fxp")) - setattr( - cls, - "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload"), - ) - setattr(cls, "vnd.adobe.xdp+xml", PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", PermissibleValue(text="vnd.aether.imp")) - setattr( - cls, "vnd.afpc.afplinedata", PermissibleValue(text="vnd.afpc.afplinedata") - ) - setattr( - cls, - "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef"), - ) - setattr( - cls, - "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource"), - ) - setattr( - cls, "vnd.afpc.foca-charset", PermissibleValue(text="vnd.afpc.foca-charset") - ) - setattr( - cls, - "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont"), - ) - setattr( - cls, - "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage"), - ) - setattr(cls, "vnd.afpc.modca", PermissibleValue(text="vnd.afpc.modca")) - setattr( - cls, - "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable"), - ) - setattr( - cls, - "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef"), - ) - setattr( - cls, - "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap"), - ) - setattr( - cls, - "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer"), - ) - setattr( - cls, - "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay"), - ) - setattr( - cls, - "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment"), - ) - setattr(cls, "vnd.age", PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", PermissibleValue(text="vnd.ahead.space")) - setattr( - cls, - "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf"), - ) - setattr( - cls, - "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs"), - ) - setattr(cls, "vnd.amadeus+json", PermissibleValue(text="vnd.amadeus+json")) - setattr( - cls, - "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook"), - ) - setattr( - cls, - "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc"), - ) - setattr(cls, "vnd.amiga.ami", PermissibleValue(text="vnd.amiga.ami")) - setattr( - cls, "vnd.amundsen.maze+xml", PermissibleValue(text="vnd.amundsen.maze+xml") - ) - setattr(cls, "vnd.android.ota", PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", PermissibleValue(text="vnd.anki")) - setattr( - cls, - "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation"), - ) - setattr( - cls, - "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component"), - ) - setattr( - cls, "vnd.apache.arrow.file", PermissibleValue(text="vnd.apache.arrow.file") - ) - setattr( - cls, - "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream"), - ) - setattr( - cls, - "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary"), - ) - setattr( - cls, - "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact"), - ) - setattr( - cls, - "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json"), - ) - setattr(cls, "vnd.apexlang", PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", PermissibleValue(text="vnd.api+json")) - setattr( - cls, - "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json"), - ) - setattr( - cls, - "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json"), - ) - setattr( - cls, - "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml"), - ) - setattr(cls, "vnd.apple.keynote", PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", PermissibleValue(text="vnd.apple.pages")) - setattr( - cls, - "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue( - text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" - ), - ) - setattr( - cls, - "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi"), - ) - setattr(cls, "vnd.artisan+json", PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", PermissibleValue(text="vnd.artsquare")) - setattr( - cls, - "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota"), - ) - setattr(cls, "vnd.audiograph", PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", PermissibleValue(text="vnd.avistar+xml")) - setattr( - cls, "vnd.balsamiq.bmml+xml", PermissibleValue(text="vnd.balsamiq.bmml+xml") - ) - setattr( - cls, "vnd.banana-accounting", PermissibleValue(text="vnd.banana-accounting") - ) - setattr(cls, "vnd.bbf.usp.error", PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", PermissibleValue(text="vnd.bbf.usp.msg")) - setattr( - cls, "vnd.bbf.usp.msg+json", PermissibleValue(text="vnd.bbf.usp.msg+json") - ) - setattr(cls, "vnd.balsamiq.bmpr", PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr( - cls, - "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json"), - ) - setattr( - cls, - "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip"), - ) - setattr( - cls, - "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip"), - ) - setattr( - cls, "vnd.bint.med-content", PermissibleValue(text="vnd.bint.med-content") - ) - setattr(cls, "vnd.biopax.rdf+xml", PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr( - cls, - "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper"), - ) - setattr( - cls, "vnd.blueice.multipass", PermissibleValue(text="vnd.blueice.multipass") - ) - setattr( - cls, "vnd.bluetooth.ep.oob", PermissibleValue(text="vnd.bluetooth.ep.oob") - ) - setattr( - cls, "vnd.bluetooth.le.oob", PermissibleValue(text="vnd.bluetooth.le.oob") - ) - setattr(cls, "vnd.bmi", PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", PermissibleValue(text="vnd.bpf3")) - setattr( - cls, "vnd.businessobjects", PermissibleValue(text="vnd.businessobjects") - ) - setattr(cls, "vnd.byu.uapi+json", PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", PermissibleValue(text="vnd.canon-lips")) - setattr( - cls, - "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json"), - ) - setattr( - cls, - "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf"), - ) - setattr( - cls, - "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream"), - ) - setattr(cls, "vnd.chemdraw+xml", PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", PermissibleValue(text="vnd.chess-pgn")) - setattr( - cls, - "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd"), - ) - setattr(cls, "vnd.ciedi", PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", PermissibleValue(text="vnd.cinderella")) - setattr( - cls, "vnd.cirpack.isdn-ext", PermissibleValue(text="vnd.cirpack.isdn-ext") - ) - setattr( - cls, - "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml"), - ) - setattr(cls, "vnd.claymore", PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", PermissibleValue(text="vnd.clonk.c4group")) - setattr( - cls, - "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config"), - ) - setattr( - cls, - "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg"), - ) - setattr( - cls, - "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip"), - ) - setattr( - cls, - "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov"), - ) - setattr( - cls, - "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json"), - ) - setattr(cls, "vnd.coffeescript", PermissibleValue(text="vnd.coffeescript")) - setattr( - cls, - "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document"), - ) - setattr( - cls, - "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template"), - ) - setattr( - cls, - "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation"), - ) - setattr( - cls, - "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template"), - ) - setattr( - cls, - "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet"), - ) - setattr( - cls, - "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template"), - ) - setattr( - cls, - "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json"), - ) - setattr( - cls, "vnd.collection+json", PermissibleValue(text="vnd.collection+json") - ) - setattr( - cls, - "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json"), - ) - setattr(cls, "vnd.comicbook-rar", PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", PermissibleValue(text="vnd.comicbook+zip")) - setattr( - cls, "vnd.commerce-battelle", PermissibleValue(text="vnd.commerce-battelle") - ) - setattr(cls, "vnd.commonspace", PermissibleValue(text="vnd.commonspace")) - setattr( - cls, - "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json"), - ) - setattr(cls, "vnd.cosmocaller", PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", PermissibleValue(text="vnd.crick.clicker")) - setattr( - cls, - "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard"), - ) - setattr( - cls, - "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette"), - ) - setattr( - cls, - "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template"), - ) - setattr( - cls, - "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank"), - ) - setattr( - cls, - "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml"), - ) - setattr( - cls, "vnd.cryptii.pipe+json", PermissibleValue(text="vnd.cryptii.pipe+json") - ) - setattr( - cls, "vnd.crypto-shade-file", PermissibleValue(text="vnd.crypto-shade-file") - ) - setattr( - cls, - "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted"), - ) - setattr( - cls, "vnd.cryptomator.vault", PermissibleValue(text="vnd.cryptomator.vault") - ) - setattr(cls, "vnd.ctc-posml", PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", PermissibleValue(text="vnd.cups-pdf")) - setattr( - cls, "vnd.cups-postscript", PermissibleValue(text="vnd.cups-postscript") - ) - setattr(cls, "vnd.cups-ppd", PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", PermissibleValue(text="vnd.cups-raw")) - setattr( - cls, - "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml"), - ) - setattr(cls, "vnd.cybank", PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", PermissibleValue(text="vnd.cyclonedx+xml")) - setattr( - cls, - "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip"), - ) - setattr(cls, "vnd.d3m-dataset", PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", PermissibleValue(text="vnd.dart")) - setattr( - cls, "vnd.data-vision.rdz", PermissibleValue(text="vnd.data-vision.rdz") - ) - setattr(cls, "vnd.datalog", PermissibleValue(text="vnd.datalog")) - setattr( - cls, "vnd.datapackage+json", PermissibleValue(text="vnd.datapackage+json") - ) - setattr( - cls, "vnd.dataresource+json", PermissibleValue(text="vnd.dataresource+json") - ) - setattr(cls, "vnd.dbf", PermissibleValue(text="vnd.dbf")) - setattr( - cls, - "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package"), - ) - setattr(cls, "vnd.dece.data", PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", PermissibleValue(text="vnd.dece.ttml+xml")) - setattr( - cls, "vnd.dece.unspecified", PermissibleValue(text="vnd.dece.unspecified") - ) - setattr(cls, "vnd.dece.zip", PermissibleValue(text="vnd.dece.zip")) - setattr( - cls, - "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link"), - ) - setattr(cls, "vnd.desmume.movie", PermissibleValue(text="vnd.desmume.movie")) - setattr( - cls, - "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix"), - ) - setattr( - cls, "vnd.dm.delegation+xml", PermissibleValue(text="vnd.dm.delegation+xml") - ) - setattr(cls, "vnd.dna", PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", PermissibleValue(text="vnd.dolby.mobile.2")) - setattr( - cls, - "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document"), - ) - setattr(cls, "vnd.dpgraph", PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", PermissibleValue(text="vnd.dtg.local")) - setattr( - cls, "vnd.dtg.local.flash", PermissibleValue(text="vnd.dtg.local.flash") - ) - setattr(cls, "vnd.dtg.local.html", PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", PermissibleValue(text="vnd.dvb.dvbj")) - setattr( - cls, "vnd.dvb.esgcontainer", PermissibleValue(text="vnd.dvb.esgcontainer") - ) - setattr( - cls, - "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess"), - ) - setattr( - cls, "vnd.dvb.ipdcesgaccess", PermissibleValue(text="vnd.dvb.ipdcesgaccess") - ) - setattr( - cls, - "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2"), - ) - setattr(cls, "vnd.dvb.ipdcesgpdd", PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr( - cls, "vnd.dvb.ipdcroaming", PermissibleValue(text="vnd.dvb.ipdcroaming") - ) - setattr( - cls, - "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base"), - ) - setattr( - cls, - "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement"), - ) - setattr( - cls, - "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml"), - ) - setattr( - cls, - "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml"), - ) - setattr( - cls, - "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml"), - ) - setattr( - cls, - "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml"), - ) - setattr( - cls, - "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml"), - ) - setattr( - cls, - "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml"), - ) - setattr( - cls, - "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml"), - ) - setattr(cls, "vnd.dvb.pfr", PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", PermissibleValue(text="vnd.dzr")) - setattr( - cls, - "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload"), - ) - setattr(cls, "vnd.ecip.rlp", PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", PermissibleValue(text="vnd.ecdis-update")) - setattr( - cls, - "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json"), - ) - setattr(cls, "vnd.ecowin.chart", PermissibleValue(text="vnd.ecowin.chart")) - setattr( - cls, - "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest"), - ) - setattr( - cls, "vnd.ecowin.fileupdate", PermissibleValue(text="vnd.ecowin.fileupdate") - ) - setattr(cls, "vnd.ecowin.series", PermissibleValue(text="vnd.ecowin.series")) - setattr( - cls, - "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest"), - ) - setattr( - cls, - "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate"), - ) - setattr(cls, "vnd.efi.img", PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", PermissibleValue(text="vnd.eln+zip")) - setattr( - cls, - "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml"), - ) - setattr(cls, "vnd.enliven", PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", PermissibleValue(text="vnd.enphase.envoy")) - setattr( - cls, "vnd.eprints.data+xml", PermissibleValue(text="vnd.eprints.data+xml") - ) - setattr(cls, "vnd.epson.esf", PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", PermissibleValue(text="vnd.epson.msf")) - setattr( - cls, "vnd.epson.quickanime", PermissibleValue(text="vnd.epson.quickanime") - ) - setattr(cls, "vnd.epson.salt", PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", PermissibleValue(text="vnd.epson.ssf")) - setattr( - cls, - "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall"), - ) - setattr( - cls, "vnd.espass-espass+zip", PermissibleValue(text="vnd.espass-espass+zip") - ) - setattr(cls, "vnd.eszigno3+xml", PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr( - cls, "vnd.etsi.asic-s+zip", PermissibleValue(text="vnd.etsi.asic-s+zip") - ) - setattr( - cls, "vnd.etsi.asic-e+zip", PermissibleValue(text="vnd.etsi.asic-e+zip") - ) - setattr(cls, "vnd.etsi.cug+xml", PermissibleValue(text="vnd.etsi.cug+xml")) - setattr( - cls, - "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml"), - ) - setattr( - cls, - "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml"), - ) - setattr( - cls, - "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml"), - ) - setattr( - cls, - "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml"), - ) - setattr( - cls, - "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml"), - ) - setattr( - cls, - "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml"), - ) - setattr( - cls, - "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml"), - ) - setattr( - cls, "vnd.etsi.iptvsync+xml", PermissibleValue(text="vnd.etsi.iptvsync+xml") - ) - setattr( - cls, - "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml"), - ) - setattr(cls, "vnd.etsi.mcid+xml", PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", PermissibleValue(text="vnd.etsi.mheg5")) - setattr( - cls, - "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml"), - ) - setattr(cls, "vnd.etsi.pstn+xml", PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", PermissibleValue(text="vnd.etsi.sci+xml")) - setattr( - cls, "vnd.etsi.simservs+xml", PermissibleValue(text="vnd.etsi.simservs+xml") - ) - setattr( - cls, - "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token"), - ) - setattr(cls, "vnd.etsi.tsl+xml", PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", PermissibleValue(text="vnd.etsi.tsl.der")) - setattr( - cls, - "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json"), - ) - setattr(cls, "vnd.eudora.data", PermissibleValue(text="vnd.eudora.data")) - setattr( - cls, - "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile"), - ) - setattr( - cls, - "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings"), - ) - setattr( - cls, "vnd.evolv.ecig.theme", PermissibleValue(text="vnd.evolv.ecig.theme") - ) - setattr( - cls, - "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip"), - ) - setattr( - cls, "vnd.exstream-package", PermissibleValue(text="vnd.exstream-package") - ) - setattr(cls, "vnd.ezpix-album", PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", PermissibleValue(text="vnd.ezpix-package")) - setattr( - cls, "vnd.f-secure.mobile", PermissibleValue(text="vnd.f-secure.mobile") - ) - setattr( - cls, - "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image"), - ) - setattr( - cls, - "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip"), - ) - setattr(cls, "vnd.fdsn.mseed", PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", PermissibleValue(text="vnd.fints")) - setattr( - cls, - "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell"), - ) - setattr(cls, "vnd.FloGraphIt", PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", PermissibleValue(text="vnd.fluxtime.clip")) - setattr( - cls, - "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd"), - ) - setattr(cls, "vnd.framemaker", PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", PermissibleValue(text="vnd.freelog.comic")) - setattr( - cls, - "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)"), - ) - setattr( - cls, - "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)"), - ) - setattr(cls, "vnd.fsc.weblaunch", PermissibleValue(text="vnd.fsc.weblaunch")) - setattr( - cls, - "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks"), - ) - setattr( - cls, - "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder"), - ) - setattr( - cls, - "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container"), - ) - setattr( - cls, - "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml"), - ) - setattr(cls, "vnd.fujitsu.oasys", PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr( - cls, "vnd.fujitsu.oasysgp", PermissibleValue(text="vnd.fujitsu.oasysgp") - ) - setattr( - cls, "vnd.fujitsu.oasysprs", PermissibleValue(text="vnd.fujitsu.oasysprs") - ) - setattr(cls, "vnd.fujixerox.ART4", PermissibleValue(text="vnd.fujixerox.ART4")) - setattr( - cls, "vnd.fujixerox.ART-EX", PermissibleValue(text="vnd.fujixerox.ART-EX") - ) - setattr(cls, "vnd.fujixerox.ddd", PermissibleValue(text="vnd.fujixerox.ddd")) - setattr( - cls, - "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks"), - ) - setattr( - cls, - "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder"), - ) - setattr( - cls, - "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container"), - ) - setattr(cls, "vnd.fujixerox.HBPL", PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", PermissibleValue(text="vnd.fuzzysheet")) - setattr( - cls, "vnd.genomatix.tuxedo", PermissibleValue(text="vnd.genomatix.tuxedo") - ) - setattr(cls, "vnd.genozip", PermissibleValue(text="vnd.genozip")) - setattr( - cls, "vnd.gentics.grd+json", PermissibleValue(text="vnd.gentics.grd+json") - ) - setattr( - cls, - "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml"), - ) - setattr(cls, "vnd.gentoo.ebuild", PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", PermissibleValue(text="vnd.gentoo.gpkg")) - setattr( - cls, "vnd.gentoo.manifest", PermissibleValue(text="vnd.gentoo.manifest") - ) - setattr(cls, "vnd.gentoo.xpak", PermissibleValue(text="vnd.gentoo.xpak")) - setattr( - cls, - "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml"), - ) - setattr( - cls, - "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue( - text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" - ), - ) - setattr( - cls, - "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)"), - ) - setattr(cls, "vnd.geogebra.file", PermissibleValue(text="vnd.geogebra.file")) - setattr( - cls, "vnd.geogebra.slides", PermissibleValue(text="vnd.geogebra.slides") - ) - setattr(cls, "vnd.geogebra.tool", PermissibleValue(text="vnd.geogebra.tool")) - setattr( - cls, "vnd.geometry-explorer", PermissibleValue(text="vnd.geometry-explorer") - ) - setattr(cls, "vnd.geonext", PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", PermissibleValue(text="vnd.gerber")) - setattr( - cls, - "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt"), - ) - setattr( - cls, - "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response"), - ) - setattr( - cls, "vnd.gmx - DEPRECATED", PermissibleValue(text="vnd.gmx - DEPRECATED") - ) - setattr( - cls, - "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json"), - ) - setattr( - cls, - "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json"), - ) - setattr( - cls, - "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml"), - ) - setattr( - cls, "vnd.google-earth.kmz", PermissibleValue(text="vnd.google-earth.kmz") - ) - setattr( - cls, "vnd.gov.sk.e-form+xml", PermissibleValue(text="vnd.gov.sk.e-form+xml") - ) - setattr( - cls, "vnd.gov.sk.e-form+zip", PermissibleValue(text="vnd.gov.sk.e-form+zip") - ) - setattr( - cls, - "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml"), - ) - setattr(cls, "vnd.gpxsee.map+xml", PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", PermissibleValue(text="vnd.groove-help")) - setattr( - cls, - "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message"), - ) - setattr( - cls, "vnd.groove-injector", PermissibleValue(text="vnd.groove-injector") - ) - setattr( - cls, - "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message"), - ) - setattr( - cls, - "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template"), - ) - setattr(cls, "vnd.groove-vcard", PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", PermissibleValue(text="vnd.hal+xml")) - setattr( - cls, - "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml"), - ) - setattr(cls, "vnd.hbci", PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", PermissibleValue(text="vnd.heroku+json")) - setattr( - cls, "vnd.hhe.lesson-player", PermissibleValue(text="vnd.hhe.lesson-player") - ) - setattr(cls, "vnd.hp-HPGL", PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", PermissibleValue(text="vnd.httphone")) - setattr( - cls, - "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data"), - ) - setattr( - cls, "vnd.hyper-item+json", PermissibleValue(text="vnd.hyper-item+json") - ) - setattr(cls, "vnd.hyper+json", PermissibleValue(text="vnd.hyper+json")) - setattr( - cls, "vnd.hyperdrive+json", PermissibleValue(text="vnd.hyperdrive+json") - ) - setattr( - cls, "vnd.hzn-3d-crossword", PermissibleValue(text="vnd.hzn-3d-crossword") - ) - setattr( - cls, - "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue( - text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" - ), - ) - setattr( - cls, - "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media"), - ) - setattr(cls, "vnd.ibm.MiniPay", PermissibleValue(text="vnd.ibm.MiniPay")) - setattr( - cls, - "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue( - text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" - ), - ) - setattr( - cls, - "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management"), - ) - setattr( - cls, - "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container"), - ) - setattr(cls, "vnd.iccprofile", PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", PermissibleValue(text="vnd.igloader")) - setattr( - cls, - "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip"), - ) - setattr( - cls, - "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip"), - ) - setattr( - cls, "vnd.immervision-ivp", PermissibleValue(text="vnd.immervision-ivp") - ) - setattr( - cls, "vnd.immervision-ivu", PermissibleValue(text="vnd.immervision-ivu") - ) - setattr(cls, "vnd.ims.imsccv1p1", PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr( - cls, - "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json"), - ) - setattr( - cls, - "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json"), - ) - setattr( - cls, - "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json"), - ) - setattr( - cls, - "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json"), - ) - setattr( - cls, - "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json"), - ) - setattr( - cls, - "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json"), - ) - setattr( - cls, - "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml"), - ) - setattr( - cls, "vnd.infotech.project", PermissibleValue(text="vnd.infotech.project") - ) - setattr( - cls, - "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml"), - ) - setattr( - cls, - "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue( - text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" - ), - ) - setattr( - cls, - "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification"), - ) - setattr(cls, "vnd.insors.igm", PermissibleValue(text="vnd.insors.igm")) - setattr( - cls, "vnd.intercon.formnet", PermissibleValue(text="vnd.intercon.formnet") - ) - setattr(cls, "vnd.intergeo", PermissibleValue(text="vnd.intergeo")) - setattr( - cls, - "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox"), - ) - setattr( - cls, "vnd.intertrust.nncp", PermissibleValue(text="vnd.intertrust.nncp") - ) - setattr(cls, "vnd.intu.qbo", PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", PermissibleValue(text="vnd.intu.qfx")) - setattr( - cls, "vnd.ipfs.ipns-record", PermissibleValue(text="vnd.ipfs.ipns-record") - ) - setattr(cls, "vnd.ipld.car", PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", PermissibleValue(text="vnd.ipld.raw")) - setattr( - cls, - "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml"), - ) - setattr( - cls, - "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml"), - ) - setattr( - cls, - "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml"), - ) - setattr( - cls, - "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml"), - ) - setattr( - cls, - "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml"), - ) - setattr( - cls, - "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml"), - ) - setattr( - cls, - "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml"), - ) - setattr( - cls, - "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile"), - ) - setattr( - cls, - "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml"), - ) - setattr(cls, "vnd.is-xpr", PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", PermissibleValue(text="vnd.jam")) - setattr( - cls, "vnd.iso11783-10+zip", PermissibleValue(text="vnd.iso11783-10+zip") - ) - setattr( - cls, - "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service"), - ) - setattr( - cls, - "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup"), - ) - setattr( - cls, - "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup"), - ) - setattr( - cls, - "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration"), - ) - setattr( - cls, - "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup"), - ) - setattr( - cls, - "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup"), - ) - setattr( - cls, - "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification"), - ) - setattr( - cls, - "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup"), - ) - setattr( - cls, - "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms"), - ) - setattr(cls, "vnd.jisp", PermissibleValue(text="vnd.jisp")) - setattr( - cls, - "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive"), - ) - setattr(cls, "vnd.jsk.isdn-ngn", PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", PermissibleValue(text="vnd.koan")) - setattr( - cls, "vnd.kodak-descriptor", PermissibleValue(text="vnd.kodak-descriptor") - ) - setattr(cls, "vnd.las", PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", PermissibleValue(text="vnd.leap+json")) - setattr( - cls, - "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml"), - ) - setattr( - cls, - "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop"), - ) - setattr( - cls, - "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml"), - ) - setattr( - cls, - "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip"), - ) - setattr(cls, "vnd.loom", PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", PermissibleValue(text="vnd.lotus-approach")) - setattr( - cls, "vnd.lotus-freelance", PermissibleValue(text="vnd.lotus-freelance") - ) - setattr(cls, "vnd.lotus-notes", PermissibleValue(text="vnd.lotus-notes")) - setattr( - cls, "vnd.lotus-organizer", PermissibleValue(text="vnd.lotus-organizer") - ) - setattr( - cls, "vnd.lotus-screencam", PermissibleValue(text="vnd.lotus-screencam") - ) - setattr(cls, "vnd.lotus-wordpro", PermissibleValue(text="vnd.lotus-wordpro")) - setattr( - cls, "vnd.macports.portpkg", PermissibleValue(text="vnd.macports.portpkg") - ) - setattr( - cls, - "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile"), - ) - setattr( - cls, - "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml"), - ) - setattr( - cls, - "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml"), - ) - setattr( - cls, - "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml"), - ) - setattr( - cls, "vnd.marlin.drm.mdcf", PermissibleValue(text="vnd.marlin.drm.mdcf") - ) - setattr(cls, "vnd.mason+json", PermissibleValue(text="vnd.mason+json")) - setattr( - cls, - "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip"), - ) - setattr( - cls, - "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db"), - ) - setattr(cls, "vnd.mcd", PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", PermissibleValue(text="vnd.medcalcdata")) - setattr( - cls, - "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey"), - ) - setattr( - cls, - "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr"), - ) - setattr( - cls, - "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot"), - ) - setattr(cls, "vnd.mermaid", PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", PermissibleValue(text="vnd.micrografx.igx")) - setattr( - cls, - "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable"), - ) - setattr( - cls, - "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache"), - ) - setattr(cls, "vnd.miele+json", PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", PermissibleValue(text="vnd.mif")) - setattr( - cls, - "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save"), - ) - setattr( - cls, - "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb"), - ) - setattr(cls, "vnd.Mobius.DAF", PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", PermissibleValue(text="vnd.modl")) - setattr( - cls, - "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application"), - ) - setattr( - cls, - "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate"), - ) - setattr( - cls, - "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite"), - ) - setattr( - cls, - "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi"), - ) - setattr( - cls, - "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis"), - ) - setattr( - cls, - "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap"), - ) - setattr( - cls, - "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr"), - ) - setattr( - cls, - "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc"), - ) - setattr( - cls, - "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem"), - ) - setattr(cls, "vnd.motorola.iprm", PermissibleValue(text="vnd.motorola.iprm")) - setattr( - cls, "vnd.mozilla.xul+xml", PermissibleValue(text="vnd.mozilla.xul+xml") - ) - setattr(cls, "vnd.ms-artgalry", PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", PermissibleValue(text="vnd.ms-asf")) - setattr( - cls, "vnd.ms-cab-compressed", PermissibleValue(text="vnd.ms-cab-compressed") - ) - setattr(cls, "vnd.ms-3mfdocument", PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", PermissibleValue(text="vnd.ms-excel")) - setattr( - cls, - "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12"), - ) - setattr(cls, "vnd.ms-fontobject", PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", PermissibleValue(text="vnd.ms-lrm")) - setattr( - cls, - "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml"), - ) - setattr(cls, "vnd.ms-officetheme", PermissibleValue(text="vnd.ms-officetheme")) - setattr( - cls, - "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml"), - ) - setattr(cls, "vnd.ms-powerpoint", PermissibleValue(text="vnd.ms-powerpoint")) - setattr( - cls, - "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml"), - ) - setattr( - cls, - "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml"), - ) - setattr(cls, "vnd.ms-project", PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", PermissibleValue(text="vnd.ms-tnef")) - setattr( - cls, - "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing"), - ) - setattr( - cls, - "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob"), - ) - setattr( - cls, - "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing"), - ) - setattr( - cls, - "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob"), - ) - setattr( - cls, - "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req"), - ) - setattr( - cls, "vnd.ms-wmdrm.lic-resp", PermissibleValue(text="vnd.ms-wmdrm.lic-resp") - ) - setattr( - cls, - "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req"), - ) - setattr( - cls, - "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp"), - ) - setattr( - cls, - "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12"), - ) - setattr( - cls, - "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12"), - ) - setattr(cls, "vnd.ms-works", PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", PermissibleValue(text="vnd.msign")) - setattr( - cls, "vnd.multiad.creator", PermissibleValue(text="vnd.multiad.creator") - ) - setattr( - cls, - "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif"), - ) - setattr(cls, "vnd.musician", PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", PermissibleValue(text="vnd.mynfc")) - setattr( - cls, - "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json"), - ) - setattr(cls, "vnd.ncd.control", PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", PermissibleValue(text="vnd.ncd.reference")) - setattr( - cls, "vnd.nearst.inv+json", PermissibleValue(text="vnd.nearst.inv+json") - ) - setattr(cls, "vnd.nebumind.line", PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", PermissibleValue(text="vnd.netfpx")) - setattr( - cls, "vnd.neurolanguage.nlu", PermissibleValue(text="vnd.neurolanguage.nlu") - ) - setattr(cls, "vnd.nimn", PermissibleValue(text="vnd.nimn")) - setattr( - cls, "vnd.nintendo.snes.rom", PermissibleValue(text="vnd.nintendo.snes.rom") - ) - setattr( - cls, - "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom"), - ) - setattr(cls, "vnd.nitf", PermissibleValue(text="vnd.nitf")) - setattr( - cls, - "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory"), - ) - setattr( - cls, "vnd.noblenet-sealer", PermissibleValue(text="vnd.noblenet-sealer") - ) - setattr(cls, "vnd.noblenet-web", PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", PermissibleValue(text="vnd.nokia.catalogs")) - setattr( - cls, "vnd.nokia.conml+wbxml", PermissibleValue(text="vnd.nokia.conml+wbxml") - ) - setattr( - cls, "vnd.nokia.conml+xml", PermissibleValue(text="vnd.nokia.conml+xml") - ) - setattr( - cls, - "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml"), - ) - setattr( - cls, - "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets"), - ) - setattr( - cls, - "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml"), - ) - setattr( - cls, - "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml"), - ) - setattr( - cls, - "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml"), - ) - setattr(cls, "vnd.nokia.ncd", PermissibleValue(text="vnd.nokia.ncd")) - setattr( - cls, - "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml"), - ) - setattr( - cls, "vnd.nokia.n-gage.data", PermissibleValue(text="vnd.nokia.n-gage.data") - ) - setattr( - cls, - "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE"), - ) - setattr( - cls, "vnd.nokia.pcd+wbxml", PermissibleValue(text="vnd.nokia.pcd+wbxml") - ) - setattr(cls, "vnd.nokia.pcd+xml", PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr( - cls, - "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset"), - ) - setattr( - cls, - "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets"), - ) - setattr(cls, "vnd.novadigm.EDM", PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", PermissibleValue(text="vnd.novadigm.EXT")) - setattr( - cls, - "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share"), - ) - setattr( - cls, - "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer"), - ) - setattr( - cls, - "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access"), - ) - setattr( - cls, - "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote"), - ) - setattr( - cls, - "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream"), - ) - setattr( - cls, - "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base"), - ) - setattr( - cls, - "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart"), - ) - setattr( - cls, - "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue( - text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" - ), - ) - setattr( - cls, - "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula"), - ) - setattr( - cls, - "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics"), - ) - setattr( - cls, - "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image"), - ) - setattr( - cls, - "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation"), - ) - setattr( - cls, - "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet"), - ) - setattr( - cls, - "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text"), - ) - setattr( - cls, - "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master"), - ) - setattr( - cls, - "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template"), - ) - setattr( - cls, - "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web"), - ) - setattr(cls, "vnd.obn", PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", PermissibleValue(text="vnd.ocf+cbor")) - setattr( - cls, - "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json"), - ) - setattr(cls, "vnd.oftn.l10n+json", PermissibleValue(text="vnd.oftn.l10n+json")) - setattr( - cls, - "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml"), - ) - setattr( - cls, - "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml"), - ) - setattr( - cls, - "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary"), - ) - setattr( - cls, "vnd.oipf.dae.svg+xml", PermissibleValue(text="vnd.oipf.dae.svg+xml") - ) - setattr( - cls, - "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml"), - ) - setattr( - cls, - "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml"), - ) - setattr(cls, "vnd.oipf.pae.gem", PermissibleValue(text="vnd.oipf.pae.gem")) - setattr( - cls, - "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml"), - ) - setattr( - cls, "vnd.oipf.spdlist+xml", PermissibleValue(text="vnd.oipf.spdlist+xml") - ) - setattr( - cls, - "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml"), - ) - setattr( - cls, - "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml"), - ) - setattr(cls, "vnd.olpc-sugar", PermissibleValue(text="vnd.olpc-sugar")) - setattr( - cls, - "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml"), - ) - setattr( - cls, - "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml"), - ) - setattr( - cls, "vnd.oma.bcast.imd+xml", PermissibleValue(text="vnd.oma.bcast.imd+xml") - ) - setattr(cls, "vnd.oma.bcast.ltkm", PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr( - cls, - "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml"), - ) - setattr( - cls, - "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger"), - ) - setattr( - cls, "vnd.oma.bcast.sgboot", PermissibleValue(text="vnd.oma.bcast.sgboot") - ) - setattr( - cls, - "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml"), - ) - setattr(cls, "vnd.oma.bcast.sgdu", PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr( - cls, - "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container"), - ) - setattr( - cls, - "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml"), - ) - setattr( - cls, - "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml"), - ) - setattr(cls, "vnd.oma.bcast.stkm", PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr( - cls, - "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml"), - ) - setattr( - cls, - "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml"), - ) - setattr( - cls, "vnd.oma.cab-pcc+xml", PermissibleValue(text="vnd.oma.cab-pcc+xml") - ) - setattr( - cls, - "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml"), - ) - setattr( - cls, - "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml"), - ) - setattr(cls, "vnd.oma.dcd", PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", PermissibleValue(text="vnd.oma.dd2+xml")) - setattr( - cls, "vnd.oma.drm.risd+xml", PermissibleValue(text="vnd.oma.drm.risd+xml") - ) - setattr( - cls, - "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml"), - ) - setattr(cls, "vnd.oma.lwm2m+cbor", PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", PermissibleValue(text="vnd.oma.pal+xml")) - setattr( - cls, - "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml"), - ) - setattr( - cls, - "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml"), - ) - setattr( - cls, - "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml"), - ) - setattr( - cls, - "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml"), - ) - setattr( - cls, - "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml"), - ) - setattr(cls, "vnd.oma.push", PermissibleValue(text="vnd.oma.push")) - setattr( - cls, - "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml"), - ) - setattr( - cls, - "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml"), - ) - setattr( - cls, "vnd.omads-email+xml", PermissibleValue(text="vnd.omads-email+xml") - ) - setattr(cls, "vnd.omads-file+xml", PermissibleValue(text="vnd.omads-file+xml")) - setattr( - cls, "vnd.omads-folder+xml", PermissibleValue(text="vnd.omads-folder+xml") - ) - setattr( - cls, "vnd.omaloc-supl-init", PermissibleValue(text="vnd.omaloc-supl-init") - ) - setattr( - cls, "vnd.oma-scws-config", PermissibleValue(text="vnd.oma-scws-config") - ) - setattr( - cls, - "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request"), - ) - setattr( - cls, - "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response"), - ) - setattr(cls, "vnd.onepager", PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", PermissibleValue(text="vnd.onvif.metadata")) - setattr( - cls, - "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary"), - ) - setattr( - cls, "vnd.openblox.game+xml", PermissibleValue(text="vnd.openblox.game+xml") - ) - setattr(cls, "vnd.openeye.oeb", PermissibleValue(text="vnd.openeye.oeb")) - setattr( - cls, - "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml"), - ) - setattr( - cls, - "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots"), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.custom-properties+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.customXmlProperties+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml"), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.drawingml.chart+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.extended-properties+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.comments+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.presentation" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.presProps+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.slide" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.slide+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.slideshow" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.tags+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.template" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.template.main+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.sheet" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.template" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml"), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.themeOverride+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing"), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.document" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.template" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue( - text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml"), - ) - setattr( - cls, - "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue( - text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml" - ), - ) - setattr( - cls, - "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml"), - ) - setattr( - cls, - "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json"), - ) - setattr(cls, "vnd.orange.indata", PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", PermissibleValue(text="vnd.osa.netdeploy")) - setattr( - cls, - "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package"), - ) - setattr(cls, "vnd.osgi.bundle", PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", PermissibleValue(text="vnd.osgi.subsystem")) - setattr( - cls, "vnd.otps.ct-kip+xml", PermissibleValue(text="vnd.otps.ct-kip+xml") - ) - setattr( - cls, "vnd.oxli.countgraph", PermissibleValue(text="vnd.oxli.countgraph") - ) - setattr(cls, "vnd.pagerduty+json", PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", PermissibleValue(text="vnd.patentdive")) - setattr( - cls, "vnd.patientecommsdoc", PermissibleValue(text="vnd.patientecommsdoc") - ) - setattr(cls, "vnd.pawaafile", PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", PermissibleValue(text="vnd.pg.osasli")) - setattr( - cls, - "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence"), - ) - setattr(cls, "vnd.picsel", PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", PermissibleValue(text="vnd.pmi.widget")) - setattr( - cls, - "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml"), - ) - setattr(cls, "vnd.pocketlearn", PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", PermissibleValue(text="vnd.powerbuilder6")) - setattr( - cls, "vnd.powerbuilder6-s", PermissibleValue(text="vnd.powerbuilder6-s") - ) - setattr(cls, "vnd.powerbuilder7", PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", PermissibleValue(text="vnd.powerbuilder75")) - setattr( - cls, "vnd.powerbuilder75-s", PermissibleValue(text="vnd.powerbuilder75-s") - ) - setattr( - cls, "vnd.powerbuilder7-s", PermissibleValue(text="vnd.powerbuilder7-s") - ) - setattr(cls, "vnd.preminet", PermissibleValue(text="vnd.preminet")) - setattr( - cls, - "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box"), - ) - setattr( - cls, "vnd.proteus.magazine", PermissibleValue(text="vnd.proteus.magazine") - ) - setattr(cls, "vnd.psfs", PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", PermissibleValue(text="vnd.pt.mundusmundi")) - setattr( - cls, - "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree"), - ) - setattr(cls, "vnd.pvi.ptid1", PermissibleValue(text="vnd.pvi.ptid1")) - setattr( - cls, "vnd.pwg-multiplexed", PermissibleValue(text="vnd.pwg-multiplexed") - ) - setattr( - cls, - "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml"), - ) - setattr( - cls, - "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res"), - ) - setattr(cls, "vnd.quarantainenet", PermissibleValue(text="vnd.quarantainenet")) - setattr( - cls, "vnd.Quark.QuarkXPress", PermissibleValue(text="vnd.Quark.QuarkXPress") - ) - setattr( - cls, - "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument"), - ) - setattr( - cls, "vnd.radisys.moml+xml", PermissibleValue(text="vnd.radisys.moml+xml") - ) - setattr( - cls, - "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml"), - ) - setattr( - cls, - "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml"), - ) - setattr( - cls, "vnd.radisys.msml+xml", PermissibleValue(text="vnd.radisys.msml+xml") - ) - setattr(cls, "vnd.rainstor.data", PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", PermissibleValue(text="vnd.realvnc.bed")) - setattr( - cls, - "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml"), - ) - setattr( - cls, - "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml"), - ) - setattr(cls, "vnd.relpipe", PermissibleValue(text="vnd.relpipe")) - setattr( - cls, "vnd.RenLearn.rlprint", PermissibleValue(text="vnd.RenLearn.rlprint") - ) - setattr( - cls, "vnd.resilient.logic", PermissibleValue(text="vnd.resilient.logic") - ) - setattr(cls, "vnd.restful+json", PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", PermissibleValue(text="vnd.rig.cryptonote")) - setattr( - cls, - "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml"), - ) - setattr(cls, "vnd.rs-274x", PermissibleValue(text="vnd.rs-274x")) - setattr( - cls, "vnd.ruckus.download", PermissibleValue(text="vnd.ruckus.download") - ) - setattr(cls, "vnd.s3sms", PermissibleValue(text="vnd.s3sms")) - setattr( - cls, - "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track"), - ) - setattr(cls, "vnd.sar", PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", PermissibleValue(text="vnd.sealed.xls")) - setattr( - cls, - "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html"), - ) - setattr( - cls, - "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf"), - ) - setattr(cls, "vnd.seemail", PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", PermissibleValue(text="vnd.semf")) - setattr( - cls, "vnd.shade-save-file", PermissibleValue(text="vnd.shade-save-file") - ) - setattr( - cls, - "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata"), - ) - setattr( - cls, - "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate"), - ) - setattr( - cls, - "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange"), - ) - setattr( - cls, - "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package"), - ) - setattr( - cls, "vnd.shootproof+json", PermissibleValue(text="vnd.shootproof+json") - ) - setattr(cls, "vnd.shopkick+json", PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", PermissibleValue(text="vnd.sigrok.session")) - setattr( - cls, - "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper"), - ) - setattr(cls, "vnd.siren+json", PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", PermissibleValue(text="vnd.smart.teacher")) - setattr( - cls, - "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive"), - ) - setattr( - cls, - "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table"), - ) - setattr( - cls, - "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml"), - ) - setattr( - cls, - "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip"), - ) - setattr( - cls, "vnd.solent.sdkm+xml", PermissibleValue(text="vnd.solent.sdkm+xml") - ) - setattr(cls, "vnd.spotfire.dxp", PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", PermissibleValue(text="vnd.sss-ntf")) - setattr( - cls, "vnd.stepmania.package", PermissibleValue(text="vnd.stepmania.package") - ) - setattr( - cls, - "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart"), - ) - setattr(cls, "vnd.street-stream", PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", PermissibleValue(text="vnd.syft+json")) - setattr( - cls, - "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification"), - ) - setattr( - cls, "vnd.syncml.dmddf+xml", PermissibleValue(text="vnd.syncml.dmddf+xml") - ) - setattr( - cls, - "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml"), - ) - setattr( - cls, "vnd.syncml.dmtnds+xml", PermissibleValue(text="vnd.syncml.dmtnds+xml") - ) - setattr( - cls, - "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml"), - ) - setattr( - cls, "vnd.syncml.dm+wbxml", PermissibleValue(text="vnd.syncml.dm+wbxml") - ) - setattr(cls, "vnd.syncml.dm+xml", PermissibleValue(text="vnd.syncml.dm+xml")) - setattr( - cls, - "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification"), - ) - setattr(cls, "vnd.syncml+xml", PermissibleValue(text="vnd.syncml+xml")) - setattr( - cls, "vnd.tableschema+json", PermissibleValue(text="vnd.tableschema+json") - ) - setattr( - cls, - "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive"), - ) - setattr(cls, "vnd.tcpdump.pcap", PermissibleValue(text="vnd.tcpdump.pcap")) - setattr( - cls, - "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json"), - ) - setattr(cls, "vnd.tml", PermissibleValue(text="vnd.tml")) - setattr( - cls, - "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml"), - ) - setattr(cls, "vnd.tmobile-livetv", PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", PermissibleValue(text="vnd.truedoc")) - setattr( - cls, "vnd.ubisoft.webplayer", PermissibleValue(text="vnd.ubisoft.webplayer") - ) - setattr(cls, "vnd.ufdl", PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", PermissibleValue(text="vnd.uplanet.alert")) - setattr( - cls, - "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml"), - ) - setattr( - cls, - "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice"), - ) - setattr( - cls, - "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml"), - ) - setattr( - cls, "vnd.uplanet.cacheop", PermissibleValue(text="vnd.uplanet.cacheop") - ) - setattr( - cls, - "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml"), - ) - setattr( - cls, "vnd.uplanet.channel", PermissibleValue(text="vnd.uplanet.channel") - ) - setattr( - cls, - "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml"), - ) - setattr(cls, "vnd.uplanet.list", PermissibleValue(text="vnd.uplanet.list")) - setattr( - cls, "vnd.uplanet.listcmd", PermissibleValue(text="vnd.uplanet.listcmd") - ) - setattr( - cls, - "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml"), - ) - setattr( - cls, - "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml"), - ) - setattr(cls, "vnd.uri-map", PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", PermissibleValue(text="vnd.uplanet.signal")) - setattr( - cls, - "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material"), - ) - setattr(cls, "vnd.vcx", PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", PermissibleValue(text="vnd.vel+json")) - setattr( - cls, "vnd.verimatrix.vcas", PermissibleValue(text="vnd.verimatrix.vcas") - ) - setattr( - cls, - "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json"), - ) - setattr(cls, "vnd.veryant.thin", PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", PermissibleValue(text="vnd.ves.encrypted")) - setattr( - cls, - "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference"), - ) - setattr(cls, "vnd.visio", PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", PermissibleValue(text="vnd.visionary")) - setattr( - cls, - "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile"), - ) - setattr(cls, "vnd.vsf", PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", PermissibleValue(text="vnd.wfa.wsc")) - setattr( - cls, - "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing"), - ) - setattr(cls, "vnd.wmc", PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", PermissibleValue(text="vnd.wmf.bootstrap")) - setattr( - cls, - "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica"), - ) - setattr( - cls, - "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package"), - ) - setattr(cls, "vnd.wolfram.player", PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", PermissibleValue(text="vnd.wqd")) - setattr( - cls, - "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled"), - ) - setattr(cls, "vnd.wt.stf", PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr( - cls, "vnd.yamaha.hv-script", PermissibleValue(text="vnd.yamaha.hv-script") - ) - setattr( - cls, "vnd.yamaha.hv-voice", PermissibleValue(text="vnd.yamaha.hv-voice") - ) - setattr( - cls, - "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml"), - ) - setattr( - cls, - "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat"), - ) - setattr( - cls, - "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup"), - ) - setattr( - cls, "vnd.yamaha.smaf-audio", PermissibleValue(text="vnd.yamaha.smaf-audio") - ) - setattr( - cls, - "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase"), - ) - setattr( - cls, - "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn"), - ) - setattr( - cls, - "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap"), - ) - setattr(cls, "vnd.yaoweme", PermissibleValue(text="vnd.yaoweme")) - setattr( - cls, - "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu"), - ) - setattr( - cls, - "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue( - text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" - ), - ) - setattr(cls, "vnd.zul", PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", PermissibleValue(text="watcherinfo+xml")) - setattr( - cls, "webpush-options+json", PermissibleValue(text="webpush-options+json") - ) - setattr(cls, "whoispp-query", PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", PermissibleValue(text="x-pki-message")) - setattr( - cls, "x-www-form-urlencoded", PermissibleValue(text="x-www-form-urlencoded") - ) - setattr(cls, "x-x509-ca-cert", PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", PermissibleValue(text="x-x509-ca-ra-cert")) - setattr( - cls, "x-x509-next-ca-cert", PermissibleValue(text="x-x509-next-ca-cert") - ) - setattr(cls, "x400-bp", PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", PermissibleValue(text="xcap-ns+xml")) - setattr( - cls, - "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml"), - ) - setattr( - cls, - "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml"), - ) - setattr(cls, "xenc+xml", PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", PermissibleValue(text="yin+xml")) - - -class ProvisionTypes(EnumDefinitionImpl): - private = PermissibleValue( - text="private", - description="A service, which is provided for one customer exclusively.", - ) - public = PermissibleValue( - text="public", - description="A service, which is used by several customers, simultaneously.", - ) - hybrid = PermissibleValue( - text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""", - ) -======= - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) - -class ProvisionTypes(EnumDefinitionImpl): - - private = PermissibleValue( - text="private", - description="A service, which is provided for one customer exclusively.") - public = PermissibleValue( - text="public", - description="A service, which is used by several customers, simultaneously.") - hybrid = PermissibleValue( - text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="ProvisionTypes", - ) - -<<<<<<< HEAD - -class TenantSeparation(EnumDefinitionImpl): - physical = PermissibleValue(text="physical", description="TBD") -======= -class TenantSeparation(EnumDefinitionImpl): - - physical = PermissibleValue( - text="physical", - description="TBD") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="TenantSeparation", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr( - cls, - "hw-virtualized", - PermissibleValue(text="hw-virtualized", description="TBD"), - ) - setattr( - cls, - "sw-virtualized", - PermissibleValue(text="sw-virtualized", description="TBD"), - ) - setattr( - cls, - "os-virtualized", - PermissibleValue(text="os-virtualized", description="TBD"), - ) - setattr( - cls, - "os-hw-virtualized", - PermissibleValue(text="os-hw-virtualized", description="TBD"), - ) - setattr( - cls, - "hw-partitioned", - PermissibleValue(text="hw-partitioned", description="TBD"), - ) - -======= - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) ->>>>>>> Update vm image generations - -class FirmType(EnumDefinitionImpl): - """ - Possible values for VM image's firmerequired hypervisor. - """ -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations - BIOS = PermissibleValue(text="BIOS") - UEFI = PermissibleValue(text="UEFI") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="FirmType", - description="Possible values for VM image's firmerequired hypervisor.", - ) - -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations -class WatchDogActions(EnumDefinitionImpl): - """ - Possible values for VM image's watchdog actions. - """ -<<<<<<< HEAD - - disabled = PermissibleValue( - text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.", - ) - reset = PermissibleValue( - text="reset", description="Restart of guest us forced if server hangs." - ) - poweroff = PermissibleValue( - text="poweroff", description="Power of of guest is forced if server hangs." - ) - pause = PermissibleValue( - text="pause", description="Pause of guest is forced, if server hangs." - ) - none = PermissibleValue( - text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.", - ) -======= - disabled = PermissibleValue( - text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") - reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") - poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") - pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") - none = PermissibleValue( - text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="WatchDogActions", - description="Possible values for VM image's watchdog actions.", - ) - -<<<<<<< HEAD - -class RNGTypes(EnumDefinitionImpl): - Quantum = PermissibleValue( - text="Quantum", - description="Hardware random generator is based in electronic quantum effects.", - ) -======= -class RNGTypes(EnumDefinitionImpl): - - Quantum = PermissibleValue( - text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") ->>>>>>> Update vm image generations - - _defn = EnumDefinition( - name="RNGTypes", - ) - - @classmethod - def _addvals(cls): -<<<<<<< HEAD - setattr( - cls, - "Electrical noise", - PermissibleValue( - text="Electrical noise", - description="Hardware random generator is based on electronic noise.", - ), - ) - setattr( - cls, - "Chaos-based", - PermissibleValue( - text="Chaos-based", - description="Hardware random generator is based on chaos.", - ), - ) - setattr( - cls, - "Free-running oscillators", - PermissibleValue( - text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.", - ), - ) - setattr( - cls, - "None", - PermissibleValue( - text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.", - ), - ) - - -class VMDiskType(EnumDefinitionImpl): -======= - setattr(cls, "Electrical noise", - PermissibleValue( - text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", - PermissibleValue( - text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", - PermissibleValue( - text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", - PermissibleValue( - text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) - -class VMDiskType(EnumDefinitionImpl): - ->>>>>>> Update vm image generations - RAW = PermissibleValue(text="RAW") - QCOW2 = PermissibleValue(text="QCOW2") - VHD = PermissibleValue(text="VHD") - VMDK = PermissibleValue(text="VMDK") - ISO = PermissibleValue(text="ISO") - CVF = PermissibleValue(text="CVF") - CVA = PermissibleValue(text="CVA") - - _defn = EnumDefinition( - name="VMDiskType", - ) - -<<<<<<< HEAD - -======= ->>>>>>> Update vm image generations -# Slots -class slots: - pass - -<<<<<<< HEAD - -slots.value = Slot( - uri=QUDT.value, - name="value", - curie=QUDT.curie("value"), - model_uri=GX.value, - domain=None, - range=float, -) - -slots.unit = Slot( - uri=QUDT.unit, - name="unit", - curie=QUDT.curie("unit"), - model_uri=GX.unit, - domain=None, - range=str, -) - -slots.address__countryCode = Slot( - uri=GX.countryCode, - name="address__countryCode", - curie=GX.curie("countryCode"), - model_uri=GX.address__countryCode, - domain=None, - range=str, -) - -slots.address__gps = Slot( - uri=GX.gps, - name="address__gps", - curie=GX.curie("gps"), - model_uri=GX.address__gps, - domain=None, - range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]], -) - -slots.address__streetAddress = Slot( - uri=VCARD["street-address"], - name="address__streetAddress", - curie=VCARD.curie("street-address"), - model_uri=GX.address__streetAddress, - domain=None, - range=Optional[str], -) - -slots.address__postalCode = Slot( - uri=VCARD["postal-code"], - name="address__postalCode", - curie=VCARD.curie("postal-code"), - model_uri=GX.address__postalCode, - domain=None, - range=Optional[str], -) - -slots.address__locality = Slot( - uri=VCARD.locality, - name="address__locality", - curie=VCARD.curie("locality"), - model_uri=GX.address__locality, - domain=None, - range=Optional[str], -) - -slots.gPSLocation__latitude = Slot( - uri=GX.latitude, - name="gPSLocation__latitude", - curie=GX.curie("latitude"), - model_uri=GX.gPSLocation__latitude, - domain=None, - range=str, -) - -slots.gPSLocation__longitude = Slot( - uri=GX.longitude, - name="gPSLocation__longitude", - curie=GX.curie("longitude"), - model_uri=GX.gPSLocation__longitude, - domain=None, - range=str, -) - -slots.gPSLocation__altitude = Slot( - uri=GX.altitude, - name="gPSLocation__altitude", - curie=GX.curie("altitude"), - model_uri=GX.gPSLocation__altitude, - domain=None, - range=Optional[str], -) - -slots.gPSLocation__crs = Slot( - uri=GX.crs, - name="gPSLocation__crs", - curie=GX.curie("crs"), - model_uri=GX.gPSLocation__crs, - domain=None, - range=Optional[str], - pattern=re.compile(r"^CRS"), -) - -slots.gPSUnit__degrees = Slot( - uri=GX.degrees, - name="gPSUnit__degrees", - curie=GX.curie("degrees"), - model_uri=GX.gPSUnit__degrees, - domain=None, - range=int, -) - -slots.gPSUnit__minutes = Slot( - uri=GX.minutes, - name="gPSUnit__minutes", - curie=GX.curie("minutes"), - model_uri=GX.gPSUnit__minutes, - domain=None, - range=Optional[int], -) - -slots.gPSUnit__seconds = Slot( - uri=GX.seconds, - name="gPSUnit__seconds", - curie=GX.curie("seconds"), - model_uri=GX.gPSUnit__seconds, - domain=None, - range=Optional[int], -) - -slots.gPSUnit__decimals = Slot( - uri=GX.decimals, - name="gPSUnit__decimals", - curie=GX.curie("decimals"), - model_uri=GX.gPSUnit__decimals, - domain=None, - range=Optional[float], -) - -slots.gaiaXEntity__name = Slot( - uri=GX.name, - name="gaiaXEntity__name", - curie=GX.curie("name"), - model_uri=GX.gaiaXEntity__name, - domain=None, - range=Optional[str], -) - -slots.gaiaXEntity__description = Slot( - uri=GX.description, - name="gaiaXEntity__description", - curie=GX.curie("description"), - model_uri=GX.gaiaXEntity__description, - domain=None, - range=Optional[str], -) - -slots.cPU__cpuArchitecture = Slot( - uri=GX.cpuArchitecture, - name="cPU__cpuArchitecture", - curie=GX.curie("cpuArchitecture"), - model_uri=GX.cPU__cpuArchitecture, - domain=None, - range=Optional[Union[str, "Architectures"]], -) - -slots.cPU__cpuFlag = Slot( - uri=GX.cpuFlag, - name="cPU__cpuFlag", - curie=GX.curie("cpuFlag"), - model_uri=GX.cPU__cpuFlag, - domain=None, - range=Optional[Union[str, List[str]]], -) - -slots.cPU__smtEnabled = Slot( - uri=GX.smtEnabled, - name="cPU__smtEnabled", - curie=GX.curie("smtEnabled"), - model_uri=GX.cPU__smtEnabled, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.cPU__numberOfCores = Slot( - uri=GX.numberOfCores, - name="cPU__numberOfCores", - curie=GX.curie("numberOfCores"), - model_uri=GX.cPU__numberOfCores, - domain=None, - range=Optional[int], -) - -slots.cPU__numberOfThreads = Slot( - uri=GX.numberOfThreads, - name="cPU__numberOfThreads", - curie=GX.curie("numberOfThreads"), - model_uri=GX.cPU__numberOfThreads, - domain=None, - range=Optional[int], -) - -slots.cPU__baseFrequency = Slot( - uri=GX.baseFrequency, - name="cPU__baseFrequency", - curie=GX.curie("baseFrequency"), - model_uri=GX.cPU__baseFrequency, - domain=None, - range=Optional[Union[dict, Frequency]], -) - -slots.cPU__boostFrequency = Slot( - uri=GX.boostFrequency, - name="cPU__boostFrequency", - curie=GX.curie("boostFrequency"), - model_uri=GX.cPU__boostFrequency, - domain=None, - range=Optional[Union[dict, Frequency]], -) - -slots.cPU__lastLevelCacheSize = Slot( - uri=GX.lastLevelCacheSize, - name="cPU__lastLevelCacheSize", - curie=GX.curie("lastLevelCacheSize"), - model_uri=GX.cPU__lastLevelCacheSize, - domain=None, - range=Optional[Union[dict, MemorySize]], -) - -slots.cPU__thermalDesignPower = Slot( - uri=GX.thermalDesignPower, - name="cPU__thermalDesignPower", - curie=GX.curie("thermalDesignPower"), - model_uri=GX.cPU__thermalDesignPower, - domain=None, - range=Optional[Union[dict, Power]], -) - -slots.encryption__cipher = Slot( - uri=GX.cipher, - name="encryption__cipher", - curie=GX.curie("cipher"), - model_uri=GX.encryption__cipher, - domain=None, - range=Union[str, "EncryptionAlgorithm"], -) - -slots.encryption__keyManagement = Slot( - uri=GX.keyManagement, - name="encryption__keyManagement", - curie=GX.curie("keyManagement"), - model_uri=GX.encryption__keyManagement, - domain=None, - range=Union[str, "KeyManagement"], -) - -slots.checkSum__checkSumCalculation = Slot( - uri=GX.checkSumCalculation, - name="checkSum__checkSumCalculation", - curie=GX.curie("checkSumCalculation"), - model_uri=GX.checkSum__checkSumCalculation, - domain=None, - range=Union[str, "ChecksumAlgorithm"], -) - -slots.checkSum__checkSumValue = Slot( - uri=GX.checkSumValue, - name="checkSum__checkSumValue", - curie=GX.curie("checkSumValue"), - model_uri=GX.checkSum__checkSumValue, - domain=None, - range=str, -) - -slots.signature__signatureValue = Slot( - uri=GX.signatureValue, - name="signature__signatureValue", - curie=GX.curie("signatureValue"), - model_uri=GX.signature__signatureValue, - domain=None, - range=str, -) - -slots.signature__hashAlgorithm = Slot( - uri=GX.hashAlgorithm, - name="signature__hashAlgorithm", - curie=GX.curie("hashAlgorithm"), - model_uri=GX.signature__hashAlgorithm, - domain=None, - range=Union[str, "ChecksumAlgorithm"], -) - -slots.signature__signatureAlgorithm = Slot( - uri=GX.signatureAlgorithm, - name="signature__signatureAlgorithm", - curie=GX.curie("signatureAlgorithm"), - model_uri=GX.signature__signatureAlgorithm, - domain=None, - range=Union[str, "SignatureAlgorithm"], -) - -slots.device__vendor = Slot( - uri=GX.vendor, - name="device__vendor", - curie=GX.curie("vendor"), - model_uri=GX.device__vendor, - domain=None, - range=Optional[str], -) - -slots.device__generation = Slot( - uri=GX.generation, - name="device__generation", - curie=GX.curie("generation"), - model_uri=GX.device__generation, - domain=None, - range=Optional[str], -) - -slots.device__defaultOversubscriptionRatio = Slot( - uri=GX.defaultOversubscriptionRatio, - name="device__defaultOversubscriptionRatio", - curie=GX.curie("defaultOversubscriptionRatio"), - model_uri=GX.device__defaultOversubscriptionRatio, - domain=None, - range=Optional[int], -) - -slots.device__supportedOversubscriptionRatio = Slot( - uri=GX.supportedOversubscriptionRatio, - name="device__supportedOversubscriptionRatio", - curie=GX.curie("supportedOversubscriptionRatio"), - model_uri=GX.device__supportedOversubscriptionRatio, - domain=None, - range=Optional[int], -) - -slots.disk__diskSize = Slot( - uri=GX.diskSize, - name="disk__diskSize", - curie=GX.curie("diskSize"), - model_uri=GX.disk__diskSize, - domain=None, - range=Union[dict, MemorySize], -) - -slots.disk__diskType = Slot( - uri=GX.diskType, - name="disk__diskType", - curie=GX.curie("diskType"), - model_uri=GX.disk__diskType, - domain=None, - range=Optional[Union[str, "DiskTypes"]], -) - -slots.disk__diskBusType = Slot( - uri=GX.diskBusType, - name="disk__diskBusType", - curie=GX.curie("diskBusType"), - model_uri=GX.disk__diskBusType, - domain=None, - range=Optional[str], -) - -slots.endpoint__endpointURL = Slot( - uri=GX.endpointURL, - name="endpoint__endpointURL", - curie=GX.curie("endpointURL"), - model_uri=GX.endpoint__endpointURL, - domain=None, - range=Optional[Union[str, URI]], -) - -slots.endpoint__standardConformity = Slot( - uri=GX.standardConformity, - name="endpoint__standardConformity", - curie=GX.curie("standardConformity"), - model_uri=GX.endpoint__standardConformity, - domain=None, - range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]], -) - -slots.endpoint__formalDescription = Slot( - uri=GX.formalDescription, - name="endpoint__formalDescription", - curie=GX.curie("formalDescription"), - model_uri=GX.endpoint__formalDescription, - domain=None, - range=Optional[str], -) - -slots.gPU__gpuMemory = Slot( - uri=GX.gpuMemory, - name="gPU__gpuMemory", - curie=GX.curie("gpuMemory"), - model_uri=GX.gPU__gpuMemory, - domain=None, - range=Optional[Union[dict, MemorySize]], -) - -slots.gPU__gpuInterconnection = Slot( - uri=GX.gpuInterconnection, - name="gPU__gpuInterconnection", - curie=GX.curie("gpuInterconnection"), - model_uri=GX.gPU__gpuInterconnection, - domain=None, - range=Optional[Union[str, "GPUInterconnetionTypes"]], -) - -slots.gPU__gpuProcessingUnits = Slot( - uri=GX.gpuProcessingUnits, - name="gPU__gpuProcessingUnits", - curie=GX.curie("gpuProcessingUnits"), - model_uri=GX.gPU__gpuProcessingUnits, - domain=None, - range=Optional[int], -) - -slots.gPU__gpuPassthrough = Slot( - uri=GX.gpuPassthrough, - name="gPU__gpuPassthrough", - curie=GX.curie("gpuPassthrough"), - model_uri=GX.gPU__gpuPassthrough, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.image__fileSize = Slot( - uri=GX.fileSize, - name="image__fileSize", - curie=GX.curie("fileSize"), - model_uri=GX.image__fileSize, - domain=None, - range=Optional[Union[dict, MemorySize]], -) - -slots.image__operatingSystem = Slot( - uri=GX.operatingSystem, - name="image__operatingSystem", - curie=GX.curie("operatingSystem"), - model_uri=GX.image__operatingSystem, - domain=None, - range=Optional[Union[dict, OperatingSystem]], -) - -slots.image__cpuReq = Slot( - uri=GX.cpuReq, - name="image__cpuReq", - curie=GX.curie("cpuReq"), - model_uri=GX.image__cpuReq, - domain=None, - range=Optional[Union[dict, CPU]], -) - -slots.image__gpuReq = Slot( - uri=GX.gpuReq, - name="image__gpuReq", - curie=GX.curie("gpuReq"), - model_uri=GX.image__gpuReq, - domain=None, - range=Optional[Union[dict, GPU]], -) - -slots.image__ramReq = Slot( - uri=GX.ramReq, - name="image__ramReq", - curie=GX.curie("ramReq"), - model_uri=GX.image__ramReq, - domain=None, - range=Optional[Union[dict, Memory]], -) - -slots.image__videoRamSize = Slot( - uri=GX.videoRamSize, - name="image__videoRamSize", - curie=GX.curie("videoRamSize"), - model_uri=GX.image__videoRamSize, - domain=None, - range=Optional[Union[dict, MemorySize]], -) - -slots.image__rootDiskReq = Slot( - uri=GX.rootDiskReq, - name="image__rootDiskReq", - curie=GX.curie("rootDiskReq"), - model_uri=GX.image__rootDiskReq, - domain=None, - range=Optional[Union[dict, Disk]], -) - -slots.image__encryption = Slot( - uri=GX.encryption, - name="image__encryption", - curie=GX.curie("encryption"), - model_uri=GX.image__encryption, - domain=None, - range=Optional[Union[dict, Encryption]], -) - -slots.image__checkSum = Slot( - uri=GX.checkSum, - name="image__checkSum", - curie=GX.curie("checkSum"), - model_uri=GX.image__checkSum, - domain=None, - range=Optional[Union[dict, CheckSum]], -) - -slots.image__secureBoot = Slot( - uri=GX.secureBoot, - name="image__secureBoot", - curie=GX.curie("secureBoot"), - model_uri=GX.image__secureBoot, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.image__vPMU = Slot( - uri=GX.vPMU, - name="image__vPMU", - curie=GX.curie("vPMU"), - model_uri=GX.image__vPMU, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.image__multiQueues = Slot( - uri=GX.multiQueues, - name="image__multiQueues", - curie=GX.curie("multiQueues"), - model_uri=GX.image__multiQueues, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.image__updateStrategy = Slot( - uri=GX.updateStrategy, - name="image__updateStrategy", - curie=GX.curie("updateStrategy"), - model_uri=GX.image__updateStrategy, - domain=None, - range=Optional[Union[dict, UpdateStrategy]], -) - -slots.image__licenseIncluded = Slot( - uri=GX.licenseIncluded, - name="image__licenseIncluded", - curie=GX.curie("licenseIncluded"), - model_uri=GX.image__licenseIncluded, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.image__maintenance = Slot( - uri=GX.maintenance, - name="image__maintenance", - curie=GX.curie("maintenance"), - model_uri=GX.image__maintenance, - domain=None, - range=Optional[Union[dict, MaintenanceSubscription]], -) - -slots.maintenanceSubscription__subscriptionIncluded = Slot( - uri=GX.subscriptionIncluded, - name="maintenanceSubscription__subscriptionIncluded", - curie=GX.curie("subscriptionIncluded"), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.maintenanceSubscription__subscriptionRequired = Slot( - uri=GX.subscriptionRequired, - name="maintenanceSubscription__subscriptionRequired", - curie=GX.curie("subscriptionRequired"), - model_uri=GX.maintenanceSubscription__subscriptionRequired, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.maintenanceSubscription__maintainedUntil = Slot( - uri=GX.maintainedUntil, - name="maintenanceSubscription__maintainedUntil", - curie=GX.curie("maintainedUntil"), - model_uri=GX.maintenanceSubscription__maintainedUntil, - domain=None, - range=Optional[Union[str, XSDDate]], -) - -slots.updateStrategy__replaceFrequency = Slot( - uri=GX.replaceFrequency, - name="updateStrategy__replaceFrequency", - curie=GX.curie("replaceFrequency"), - model_uri=GX.updateStrategy__replaceFrequency, - domain=None, - range=Optional[Union[str, "UpdateFrequency"]], -) - -slots.updateStrategy__hotfixHours = Slot( - uri=GX.hotfixHours, - name="updateStrategy__hotfixHours", - curie=GX.curie("hotfixHours"), - model_uri=GX.updateStrategy__hotfixHours, - domain=None, - range=Optional[int], -) - -slots.updateStrategy__oldVersionsValidUntil = Slot( - uri=GX.oldVersionsValidUntil, - name="updateStrategy__oldVersionsValidUntil", - curie=GX.curie("oldVersionsValidUntil"), - model_uri=GX.updateStrategy__oldVersionsValidUntil, - domain=None, - range=Optional[str], -) - -slots.updateStrategy__providedUntil = Slot( - uri=GX.providedUntil, - name="updateStrategy__providedUntil", - curie=GX.curie("providedUntil"), - model_uri=GX.updateStrategy__providedUntil, - domain=None, - range=Optional[str], -) - -slots.latestN__value = Slot( - uri=GX.value, - name="latestN__value", - curie=GX.curie("value"), - model_uri=GX.latestN__value, - domain=None, - range=Optional[int], -) - -slots.issuer__issuerTermsAndConditions = Slot( - uri=GX.issuerTermsAndConditions, - name="issuer__issuerTermsAndConditions", - curie=GX.curie("issuerTermsAndConditions"), - model_uri=GX.issuer__issuerTermsAndConditions, - domain=None, - range=Union[str, "GaiaXTermsAndConditions"], -) - -slots.legalPerson__registrationNumber = Slot( - uri=GX.registrationNumber, - name="legalPerson__registrationNumber", - curie=GX.curie("registrationNumber"), - model_uri=GX.legalPerson__registrationNumber, - domain=None, - range=URIRef, -) - -slots.legalPerson__legalAddress = Slot( - uri=GX.legalAddress, - name="legalPerson__legalAddress", - curie=GX.curie("legalAddress"), - model_uri=GX.legalPerson__legalAddress, - domain=None, - range=Union[dict, Address], -) - -slots.legalPerson__headquartersAddress = Slot( - uri=GX.headquartersAddress, - name="legalPerson__headquartersAddress", - curie=GX.curie("headquartersAddress"), - model_uri=GX.legalPerson__headquartersAddress, - domain=None, - range=Union[dict, Address], -) - -slots.legalPerson__parentOrganizationOf = Slot( - uri=GX.parentOrganizationOf, - name="legalPerson__parentOrganizationOf", - curie=GX.curie("parentOrganizationOf"), - model_uri=GX.legalPerson__parentOrganizationOf, - domain=None, - range=Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ], -) - -slots.legalPerson__subOrganisationOf = Slot( - uri=GX.subOrganisationOf, - name="legalPerson__subOrganisationOf", - curie=GX.curie("subOrganisationOf"), - model_uri=GX.legalPerson__subOrganisationOf, - domain=None, - range=Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ], -) - -slots.localRegistrationNumber__local = Slot( - uri=GX.local, - name="localRegistrationNumber__local", - curie=GX.curie("local"), - model_uri=GX.localRegistrationNumber__local, - domain=None, - range=URIRef, -) - -slots.vatID__vatID = Slot( - uri=GX.vatID, - name="vatID__vatID", - curie=GX.curie("vatID"), - model_uri=GX.vatID__vatID, - domain=None, - range=URIRef, -) - -slots.leiCode__leiCode = Slot( - uri=SCHEMA.leiCode, - name="leiCode__leiCode", - curie=SCHEMA.curie("leiCode"), - model_uri=GX.leiCode__leiCode, - domain=None, - range=URIRef, -) - -slots.eORI__eori = Slot( - uri=GX.eori, - name="eORI__eori", - curie=GX.curie("eori"), - model_uri=GX.eORI__eori, - domain=None, - range=URIRef, -) - -slots.eUID__euid = Slot( - uri=GX.euid, - name="eUID__euid", - curie=GX.curie("euid"), - model_uri=GX.eUID__euid, - domain=None, - range=URIRef, -) - -slots.memory__memorySize = Slot( - uri=GX.memorySize, - name="memory__memorySize", - curie=GX.curie("memorySize"), - model_uri=GX.memory__memorySize, - domain=None, - range=Union[dict, MemorySize], -) - -slots.memory__memoryClass = Slot( - uri=GX.memoryClass, - name="memory__memoryClass", - curie=GX.curie("memoryClass"), - model_uri=GX.memory__memoryClass, - domain=None, - range=Optional[Union[str, "MemoryClasses"]], -) - -slots.memory__memoryRank = Slot( - uri=GX.memoryRank, - name="memory__memoryRank", - curie=GX.curie("memoryRank"), - model_uri=GX.memory__memoryRank, - domain=None, - range=Optional[Union[str, "MemoryRanks"]], -) - -slots.memory__eccEnabled = Slot( - uri=GX.eccEnabled, - name="memory__eccEnabled", - curie=GX.curie("eccEnabled"), - model_uri=GX.memory__eccEnabled, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.memory__hardwareEncryption = Slot( - uri=GX.hardwareEncryption, - name="memory__hardwareEncryption", - curie=GX.curie("hardwareEncryption"), - model_uri=GX.memory__hardwareEncryption, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.pXEImage__pxeImageDiskFormat = Slot( - uri=GX.pxeImageDiskFormat, - name="pXEImage__pxeImageDiskFormat", - curie=GX.curie("pxeImageDiskFormat"), - model_uri=GX.pXEImage__pxeImageDiskFormat, - domain=None, - range=Optional[Union[str, "PXEDiskType"]], -) - -slots.resource__aggregationOfResources = Slot( - uri=GX.aggregationOfResources, - name="resource__aggregationOfResources", - curie=GX.curie("aggregationOfResources"), - model_uri=GX.resource__aggregationOfResources, - domain=None, - range=Optional[Union[str, List[str]]], -) - -slots.virtualResource__copyrightOwnedBy = Slot( - uri=GX.copyrightOwnedBy, - name="virtualResource__copyrightOwnedBy", - curie=GX.curie("copyrightOwnedBy"), - model_uri=GX.virtualResource__copyrightOwnedBy, - domain=None, - range=Union[str, List[str]], -) - -slots.virtualResource__license = Slot( - uri=GX.license, - name="virtualResource__license", - curie=GX.curie("license"), - model_uri=GX.virtualResource__license, - domain=None, - range=Union[str, List[str]], -) - -slots.virtualResource__resourcePolicy = Slot( - uri=GX.resourcePolicy, - name="virtualResource__resourcePolicy", - curie=GX.curie("resourcePolicy"), - model_uri=GX.virtualResource__resourcePolicy, - domain=None, - range=Union[str, List[str]], -) - -slots.physicalResource__maintainedBy = Slot( - uri=GX.maintainedBy, - name="physicalResource__maintainedBy", - curie=GX.curie("maintainedBy"), - model_uri=GX.physicalResource__maintainedBy, - domain=None, - range=Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ], -) - -slots.physicalResource__ownedBy = Slot( - uri=GX.ownedBy, - name="physicalResource__ownedBy", - curie=GX.curie("ownedBy"), - model_uri=GX.physicalResource__ownedBy, - domain=None, - range=Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ], -) - -slots.physicalResource__manufacturedBy = Slot( - uri=GX.manufacturedBy, - name="physicalResource__manufacturedBy", - curie=GX.curie("manufacturedBy"), - model_uri=GX.physicalResource__manufacturedBy, - domain=None, - range=Optional[ - Union[ - Union[str, LegalPersonRegistrationNumber], - List[Union[str, LegalPersonRegistrationNumber]], - ] - ], -) - -slots.physicalResource__location = Slot( - uri=GX.location, - name="physicalResource__location", - curie=GX.curie("location"), - model_uri=GX.physicalResource__location, - domain=None, - range=Union[Union[dict, Address], List[Union[dict, Address]]], -) - -slots.softwareResource__checksum = Slot( - uri=GX.checksum, - name="softwareResource__checksum", - curie=GX.curie("checksum"), - model_uri=GX.softwareResource__checksum, - domain=None, - range=Optional[Union[dict, CheckSum]], -) - -slots.softwareResource__signature = Slot( - uri=GX.signature, - name="softwareResource__signature", - curie=GX.curie("signature"), - model_uri=GX.softwareResource__signature, - domain=None, - range=Optional[Union[dict, Signature]], -) - -slots.softwareResource__version = Slot( - uri=GX.version, - name="softwareResource__version", - curie=GX.curie("version"), - model_uri=GX.softwareResource__version, - domain=None, - range=Optional[str], -) - -slots.softwareResource__patchLevel = Slot( - uri=GX.patchLevel, - name="softwareResource__patchLevel", - curie=GX.curie("patchLevel"), - model_uri=GX.softwareResource__patchLevel, - domain=None, - range=Optional[str], -) - -slots.softwareResource__buildDate = Slot( - uri=GX.buildDate, - name="softwareResource__buildDate", - curie=GX.curie("buildDate"), - model_uri=GX.softwareResource__buildDate, - domain=None, - range=Optional[Union[str, XSDDateTime]], -) - -slots.operatingSystem__osDistribution = Slot( - uri=GX.osDistribution, - name="operatingSystem__osDistribution", - curie=GX.curie("osDistribution"), - model_uri=GX.operatingSystem__osDistribution, - domain=None, - range=Union[str, "OSDistribution"], -) - -slots.hypervisor__hypervisorType = Slot( - uri=GX.hypervisorType, - name="hypervisor__hypervisorType", - curie=GX.curie("hypervisorType"), - model_uri=GX.hypervisor__hypervisorType, - domain=None, - range=Union[str, "HypervisorType"], -) - -slots.serviceOffering__providedBy = Slot( - uri=GX.providedBy, - name="serviceOffering__providedBy", - curie=GX.curie("providedBy"), - model_uri=GX.serviceOffering__providedBy, - domain=None, - range=Union[str, LegalPersonRegistrationNumber], -) - -slots.serviceOffering__dependsOn = Slot( - uri=GX.dependsOn, - name="serviceOffering__dependsOn", - curie=GX.curie("dependsOn"), - model_uri=GX.serviceOffering__dependsOn, - domain=None, - range=Optional[Union[str, List[str]]], -) - -slots.serviceOffering__aggregationOfResources = Slot( - uri=GX.aggregationOfResources, - name="serviceOffering__aggregationOfResources", - curie=GX.curie("aggregationOfResources"), - model_uri=GX.serviceOffering__aggregationOfResources, - domain=None, - range=Optional[Union[str, List[str]]], -) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot( - uri=GX.serviceOfferingTermsAndConditions, - name="serviceOffering__serviceOfferingTermsAndConditions", - curie=GX.curie("serviceOfferingTermsAndConditions"), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, - domain=None, - range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]], -) - -slots.serviceOffering__servicePolicy = Slot( - uri=GX.servicePolicy, - name="serviceOffering__servicePolicy", - curie=GX.curie("servicePolicy"), - model_uri=GX.serviceOffering__servicePolicy, - domain=None, - range=Union[str, List[str]], -) - -slots.serviceOffering__dataProtectionRegime = Slot( - uri=GX.dataProtectionRegime, - name="serviceOffering__dataProtectionRegime", - curie=GX.curie("dataProtectionRegime"), - model_uri=GX.serviceOffering__dataProtectionRegime, - domain=None, - range=Optional[ - Union[ - Union[str, "PersonalDataProtectionRegime"], - List[Union[str, "PersonalDataProtectionRegime"]], - ] - ], -) - -slots.serviceOffering__dataAccountExport = Slot( - uri=GX.dataAccountExport, - name="serviceOffering__dataAccountExport", - curie=GX.curie("dataAccountExport"), - model_uri=GX.serviceOffering__dataAccountExport, - domain=None, - range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]], -) - -slots.serviceOffering__keyword = Slot( - uri=GX.keyword, - name="serviceOffering__keyword", - curie=GX.curie("keyword"), - model_uri=GX.serviceOffering__keyword, - domain=None, - range=Optional[Union[str, List[str]]], -) - -slots.serviceOffering__provisionType = Slot( - uri=GX.provisionType, - name="serviceOffering__provisionType", - curie=GX.curie("provisionType"), - model_uri=GX.serviceOffering__provisionType, - domain=None, - range=Optional[Union[str, "ProvisionTypes"]], -) - -slots.serviceOffering__endpoint = Slot( - uri=GX.endpoint, - name="serviceOffering__endpoint", - curie=GX.curie("endpoint"), - model_uri=GX.serviceOffering__endpoint, - domain=None, - range=Optional[Union[dict, Endpoint]], -) - -slots.serviceOffering__hostedOn = Slot( - uri=GX.hostedOn, - name="serviceOffering__hostedOn", - curie=GX.curie("hostedOn"), - model_uri=GX.serviceOffering__hostedOn, - domain=None, - range=Optional[Union[str, List[str]]], -) - -slots.computeServiceOffering__tenantSeparation = Slot( - uri=GX.tenantSeparation, - name="computeServiceOffering__tenantSeparation", - curie=GX.curie("tenantSeparation"), - model_uri=GX.computeServiceOffering__tenantSeparation, - domain=None, - range=Optional[Union[str, "TenantSeparation"]], -) - -slots.virtualMachineServiceOffering__codeArtifact = Slot( - uri=GX.codeArtifact, - name="virtualMachineServiceOffering__codeArtifact", - curie=GX.curie("codeArtifact"), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, - domain=None, - range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]], -) - -slots.virtualMachineServiceOffering__instantiationReq = Slot( - uri=GX.instantiationReq, - name="virtualMachineServiceOffering__instantiationReq", - curie=GX.curie("instantiationReq"), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, - domain=None, - range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]], -) - -slots.termsAndConditions__url = Slot( - uri=GX.url, - name="termsAndConditions__url", - curie=GX.curie("url"), - model_uri=GX.termsAndConditions__url, - domain=None, - range=Union[str, URI], -) - -slots.termsAndConditions__hash = Slot( - uri=GX.hash, - name="termsAndConditions__hash", - curie=GX.curie("hash"), - model_uri=GX.termsAndConditions__hash, - domain=None, - range=str, -) - -slots.dataAccountExport__requestType = Slot( - uri=GX.requestType, - name="dataAccountExport__requestType", - curie=GX.curie("requestType"), - model_uri=GX.dataAccountExport__requestType, - domain=None, - range=Union[str, "RequestTypes"], -) - -slots.dataAccountExport__accessType = Slot( - uri=GX.accessType, - name="dataAccountExport__accessType", - curie=GX.curie("accessType"), - model_uri=GX.dataAccountExport__accessType, - domain=None, - range=Union[str, "AccessTypes"], -) - -slots.dataAccountExport__formatType = Slot( - uri=GX.formatType, - name="dataAccountExport__formatType", - curie=GX.curie("formatType"), - model_uri=GX.dataAccountExport__formatType, - domain=None, - range=Union[str, "MIMETypes"], -) - -slots.standardConformity__title = Slot( - uri=GX.title, - name="standardConformity__title", - curie=GX.curie("title"), - model_uri=GX.standardConformity__title, - domain=None, - range=str, -) - -slots.standardConformity__standardReference = Slot( - uri=GX.standardReference, - name="standardConformity__standardReference", - curie=GX.curie("standardReference"), - model_uri=GX.standardConformity__standardReference, - domain=None, - range=Union[str, URI], -) - -slots.standardConformity__publisher = Slot( - uri=GX.publisher, - name="standardConformity__publisher", - curie=GX.curie("publisher"), - model_uri=GX.standardConformity__publisher, - domain=None, - range=Optional[str], -) - -slots.dataResource__producedBy = Slot( - uri=GX.producedBy, - name="dataResource__producedBy", - curie=GX.curie("producedBy"), - model_uri=GX.dataResource__producedBy, - domain=None, - range=Union[str, LegalPersonRegistrationNumber], -) - -slots.dataResource__exposedThrough = Slot( - uri=GX.exposedThrough, - name="dataResource__exposedThrough", - curie=GX.curie("exposedThrough"), - model_uri=GX.dataResource__exposedThrough, - domain=None, - range=Union[ - Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]] - ], -) - -slots.dataResource__obsoleteDateTime = Slot( - uri=GX.obsoleteDateTime, - name="dataResource__obsoleteDateTime", - curie=GX.curie("obsoleteDateTime"), - model_uri=GX.dataResource__obsoleteDateTime, - domain=None, - range=Optional[Union[str, XSDDateTime]], -) - -slots.dataResource__expirationDateTime = Slot( - uri=GX.expirationDateTime, - name="dataResource__expirationDateTime", - curie=GX.curie("expirationDateTime"), - model_uri=GX.dataResource__expirationDateTime, - domain=None, - range=Optional[Union[str, XSDDateTime]], -) - -slots.dataResource__containsPII = Slot( - uri=GX.containsPII, - name="dataResource__containsPII", - curie=GX.curie("containsPII"), - model_uri=GX.dataResource__containsPII, - domain=None, - range=Union[bool, Bool], -) - -slots.dataResource__dataController = Slot( - uri=GX.dataController, - name="dataResource__dataController", - curie=GX.curie("dataController"), - model_uri=GX.dataResource__dataController, - domain=None, - range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]], -) - -slots.dataResource__consent = Slot( - uri=GX.consent, - name="dataResource__consent", - curie=GX.curie("consent"), - model_uri=GX.dataResource__consent, - domain=None, - range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]], -) - -slots.consent__legalBasis = Slot( - uri=GX.legalBasis, - name="consent__legalBasis", - curie=GX.curie("legalBasis"), - model_uri=GX.consent__legalBasis, - domain=None, - range=str, -) - -slots.consent__dataProtectionContactPoint = Slot( - uri=GX.dataProtectionContactPoint, - name="consent__dataProtectionContactPoint", - curie=GX.curie("dataProtectionContactPoint"), - model_uri=GX.consent__dataProtectionContactPoint, - domain=None, - range=Union[str, List[str]], -) - -slots.consent__purpose = Slot( - uri=GX.purpose, - name="consent__purpose", - curie=GX.curie("purpose"), - model_uri=GX.consent__purpose, - domain=None, - range=Union[str, List[str]], -) - -slots.consent__consentWithdrawalContactPoint = Slot( - uri=GX.consentWithdrawalContactPoint, - name="consent__consentWithdrawalContactPoint", - curie=GX.curie("consentWithdrawalContactPoint"), - model_uri=GX.consent__consentWithdrawalContactPoint, - domain=None, - range=Union[str, List[str]], -) - -slots.vMImage__vmImageDiskFormat = Slot( - uri=GX.vmImageDiskFormat, - name="vMImage__vmImageDiskFormat", - curie=GX.curie("vmImageDiskFormat"), - model_uri=GX.vMImage__vmImageDiskFormat, - domain=None, - range=Optional[Union[str, "VMDiskType"]], -) - -slots.vMImage__hypervisorType = Slot( - uri=GX.hypervisorType, - name="vMImage__hypervisorType", - curie=GX.curie("hypervisorType"), - model_uri=GX.vMImage__hypervisorType, - domain=None, - range=Optional[Union[str, "HypervisorType"]], -) - -slots.vMImage__firmwareType = Slot( - uri=GX.firmwareType, - name="vMImage__firmwareType", - curie=GX.curie("firmwareType"), - model_uri=GX.vMImage__firmwareType, - domain=None, - range=Optional[Union[str, "FirmType"]], -) - -slots.vMImage__hwRngTypeOfImage = Slot( - uri=GX.hwRngTypeOfImage, - name="vMImage__hwRngTypeOfImage", - curie=GX.curie("hwRngTypeOfImage"), - model_uri=GX.vMImage__hwRngTypeOfImage, - domain=None, - range=Optional[Union[str, "RNGTypes"]], -) - -slots.vMImage__watchDogAction = Slot( - uri=GX.watchDogAction, - name="vMImage__watchDogAction", - curie=GX.curie("watchDogAction"), - model_uri=GX.vMImage__watchDogAction, - domain=None, - range=Optional[Union[str, "WatchDogActions"]], -) - -slots.serverFlavor__cpu = Slot( - uri=GX.cpu, - name="serverFlavor__cpu", - curie=GX.curie("cpu"), - model_uri=GX.serverFlavor__cpu, - domain=None, - range=Union[dict, CPU], -) - -slots.serverFlavor__ram = Slot( - uri=GX.ram, - name="serverFlavor__ram", - curie=GX.curie("ram"), - model_uri=GX.serverFlavor__ram, - domain=None, - range=Union[dict, Memory], -) - -slots.serverFlavor__gpu = Slot( - uri=GX.gpu, - name="serverFlavor__gpu", - curie=GX.curie("gpu"), - model_uri=GX.serverFlavor__gpu, - domain=None, - range=Optional[Union[dict, GPU]], -) - -slots.serverFlavor__network = Slot( - uri=GX.network, - name="serverFlavor__network", - curie=GX.curie("network"), - model_uri=GX.serverFlavor__network, - domain=None, - range=Optional[str], -) - -slots.serverFlavor__bootVolume = Slot( - uri=GX.bootVolume, - name="serverFlavor__bootVolume", - curie=GX.curie("bootVolume"), - model_uri=GX.serverFlavor__bootVolume, - domain=None, - range=Union[dict, Disk], -) - -slots.serverFlavor__additionalVolume = Slot( - uri=GX.additionalVolume, - name="serverFlavor__additionalVolume", - curie=GX.curie("additionalVolume"), - model_uri=GX.serverFlavor__additionalVolume, - domain=None, - range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]], -) - -slots.serverFlavor__confidentialComputing = Slot( - uri=GX.confidentialComputing, - name="serverFlavor__confidentialComputing", - curie=GX.curie("confidentialComputing"), - model_uri=GX.serverFlavor__confidentialComputing, - domain=None, - range=Optional[Union[dict, ConfidentialComputing]], -) - -slots.serverFlavor__hypervisor = Slot( - uri=GX.hypervisor, - name="serverFlavor__hypervisor", - curie=GX.curie("hypervisor"), - model_uri=GX.serverFlavor__hypervisor, - domain=None, - range=Optional[Union[dict, SoftwareResource]], -) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot( - uri=GX.hardwareAssistedVirtualization, - name="serverFlavor__hardwareAssistedVirtualization", - curie=GX.curie("hardwareAssistedVirtualization"), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, - domain=None, - range=Optional[Union[bool, Bool]], -) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot( - uri=GX.hwRngTypeOfFlavor, - name="serverFlavor__hwRngTypeOfFlavor", - curie=GX.curie("hwRngTypeOfFlavor"), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, - domain=None, - range=Optional[Union[str, "RNGTypes"]], -) - -slots.confidentialComputing__technology = Slot( - uri=GX.technology, - name="confidentialComputing__technology", - curie=GX.curie("technology"), - model_uri=GX.confidentialComputing__technology, - domain=None, - range=str, -) - -slots.confidentialComputing__attestationServiceURI = Slot( - uri=GX.attestationServiceURI, - name="confidentialComputing__attestationServiceURI", - curie=GX.curie("attestationServiceURI"), - model_uri=GX.confidentialComputing__attestationServiceURI, - domain=None, - range=Optional[Union[str, URI]], -) -======= -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.Unit, name="unit", curie=QUDT.curie('Unit'), - model_uri=GX.unit, domain=None, range=Union[str, URI]) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[str]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) - -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[Union[int, List[int]]]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[str]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) ->>>>>>> Update vm image generations From 5d9a876c802d0b69d25a50ed7985fe593da619b0 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 12:17:06 +0100 Subject: [PATCH 150/175] Support mandatory attributes of VM Images Signed-off-by: Anja Strunk --- generator/cli.py | 13 +- generator/common/const.py | 35 + generator/common/gaia-x.shacl | 2275 ++++ generator/common/gx_schema.py | 9219 +++++++++++++++++ .../openstack/discovery_vm_images.py | 192 +- .../discovery/openstack/opentack_discovery.py | 5 +- 6 files changed, 11709 insertions(+), 30 deletions(-) create mode 100644 generator/common/gaia-x.shacl create mode 100644 generator/common/gx_schema.py diff --git a/generator/cli.py b/generator/cli.py index b363ee3..e691f57 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,6 +1,7 @@ import click import openstack as os import sys +import yaml from generator.discovery.openstack.opentack_discovery import OsCloud @@ -11,9 +12,10 @@ def cli(): @click.command() +@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout): +def openstack(cloud, timeout, config): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,12 +30,9 @@ def openstack(cloud, timeout): conn.authorize() # generate Gaia-X Credentials - os_cloud = OsCloud(conn) - props = os_cloud.discover_properties() - - - - + with open(config, "r") as config_file: + os_cloud = OsCloud(conn, yaml.safe_load(config_file)) + props = os_cloud.discover_properties() @click.command() diff --git a/generator/common/const.py b/generator/common/const.py index 878add2..0918f8a 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -49,5 +49,40 @@ CONFIG_OS_ALMALINUX = "AlmaLinux" DEFAULT_RESOURCE_POLICY = "default: allow intent" +<<<<<<< HEAD UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" +======= +UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" +UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" + + +CONFIG_VM_IMAGE = "vm image" +CONFIG_RESOURCE_POLICY = "resource policy" +CONFIG_LICENSE = "license" +CONFIG_COPYRIGHT = "copyright owner" + +CONFIG_OS_ALP = "Alpine Linux" +CONFIG_OS_ARCH = "Arch Linux" +CONFIG_OS_CENTOS = "CentOS Linux" +CONFIG_OS_DEBIAN = "Debian" +CONFIG_OS_FEDORA = "Fedora" +CONFIG_OS_FREEBSD = "FreeBSD" +CONFIG_OS_GENTOO = "Gentoo Linux" +CONFIG_OS_MANDRAKE = "Mandrake Linux" +CONFIG_OS_MANDRIVA = "Mandriva Linux" +CONFIG_OS_MES = "Mandriva Enterprise Server" +CONFIG_OS_MSDOS = "MS-DOS" +CONFIG_OS_NETBSD = "NetBSD" +CONFIG_OS_NOVELL = "Novell Netware" +CONFIG_OS_OPENBSD = "OpenBSD" +CONFIG_OS_SOLARIS = "OpenSolaris" +CONFIG_OS_OPEN_SUSE = "openSUSE" +CONFIG_OS_ROCKY = "Rocky Linux" +CONFIG_OS_RHEL = "Red Hat Enterprise Linux" +CONFIG_OS_SLED = "SUSE Linux Enterprise Desktop" +CONFIG_OS_UBUNTU = "Ubuntu" +CONFIG_OS_WINDOWS = "Microsoft Windows" +CONFIG_OS_CIRROS = "CirrOS" +CONFIG_OS_ALMALINUX = "AlmaLinux" +>>>>>>> Support mandatory attributes of VM Images diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl new file mode 100644 index 0000000..e13e0ae --- /dev/null +++ b/generator/common/gaia-x.shacl @@ -0,0 +1,2275 @@ +@prefix gx: . +@prefix rdf: . +@prefix sh: . +@prefix xsd: . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:CodeArtifact a sh:NodeShape ; + sh:closed false ; + sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Code Artifact" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:CodeArtifact . + +gx:DataResource a sh:NodeShape ; + sh:closed false ; + sh:description "A dataset exposed through a service instance." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Resource" ; + sh:property [ sh:class gx:DataExchangeComponent ; + sh:description "A resolvable link to the data exchange component that exposes the data resource." ; + sh:minCount 1 ; + sh:name "exposed through" ; + sh:order 1 ; + sh:path gx:exposedThrough ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is obsolete." ; + sh:maxCount 1 ; + sh:name "obsolete dateTime" ; + sh:order 2 ; + sh:path gx:obsoleteDateTime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to participant legally enabling the data usage." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "produced by" ; + sh:order 0 ; + sh:path gx:producedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:Consent ; + sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; + sh:name "consent" ; + sh:order 6 ; + sh:path gx:consent ], + [ sh:datatype xsd:boolean ; + sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "contains PII" ; + sh:order 4 ; + sh:path gx:containsPII ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 9 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:Participant ; + sh:description "data controller Participant as defined in GDPR." ; + sh:name "data controller" ; + sh:order 5 ; + sh:path gx:dataController ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 7 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; + sh:maxCount 1 ; + sh:name "expiration dateTime" ; + sh:order 3 ; + sh:path gx:expirationDateTime ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 8 ; + sh:path gx:license ] ; + sh:targetClass gx:DataResource . + +gx:Device a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 1 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 2 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 3 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:vendor ] ; + sh:targetClass gx:Device . + +gx:GaiaX a sh:NodeShape ; + sh:closed false ; + sh:description "Top level element of Gaia-X ecosystem." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:GaiaX . + +gx:GaiaXEntity a sh:NodeShape ; + sh:closed false ; + sh:description "Root class for Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Gaia-X Entity" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ] ; + sh:targetClass gx:GaiaXEntity . + +gx:Hypervisor a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:hypervisorType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ] ; + sh:targetClass gx:Hypervisor . + +gx:Image a sh:NodeShape ; + sh:closed false ; + sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Image" ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 5 ; + sh:path gx:videoRamSize ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:encryption ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 9 ; + sh:path gx:secureBoot ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:signature ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 2 ; + sh:path gx:cpuReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:updateStrategy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 10 ; + sh:path gx:vPMU ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 24 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 11 ; + sh:path gx:multiQueues ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 23 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:checkSum ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 19 ; + sh:path gx:buildDate ], + [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 3 ; + sh:path gx:gpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:version ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 20 ; + sh:path gx:copyrightOwnedBy ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path gx:maintenance ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 25 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 18 ; + sh:path gx:patchLevel ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 6 ; + sh:path gx:rootDiskReq ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 22 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 13 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:checksum ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 4 ; + sh:path gx:ramReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 1 ; + sh:path gx:operatingSystem ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 0 ; + sh:path gx:fileSize ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 21 ; + sh:path gx:license ] ; + sh:targetClass gx:Image . + +gx:InstantiationRequirement a sh:NodeShape ; + sh:closed false ; + sh:description "A container class to gather all requirements for compute service offering instantiations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Instantiation Requirement" ; + sh:targetClass gx:InstantiationRequirement . + +gx:Issuer a sh:NodeShape ; + sh:closed false ; + sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; + sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 0 ; + sh:path gx:issuerTermsAndConditions ] ; + sh:targetClass gx:Issuer . + +gx:PXEImage a sh:NodeShape ; + sh:closed false ; + sh:description "PXE image for physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "PXE image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 4 ; + sh:path gx:gpuReq ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 5 ; + sh:path gx:ramReq ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 21 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 11 ; + sh:path gx:vPMU ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:checkSum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path gx:encryption ], + [ sh:description "Disk format. Default \"ISO\"." ; + sh:in ( "WINPE" "ISO" ) ; + sh:maxCount 1 ; + sh:name "disk format" ; + sh:order 0 ; + sh:path gx:pxeImageDiskFormat ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 23 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 20 ; + sh:path gx:buildDate ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path gx:checksum ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 10 ; + sh:path gx:secureBoot ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 1 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 14 ; + sh:path gx:licenseIncluded ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 26 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 22 ; + sh:path gx:license ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 19 ; + sh:path gx:patchLevel ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 25 ; + sh:path gx:name ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path gx:maintenance ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path gx:version ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 12 ; + sh:path gx:multiQueues ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 7 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 6 ; + sh:path gx:videoRamSize ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 3 ; + sh:path gx:cpuReq ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 2 ; + sh:path gx:operatingSystem ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:updateStrategy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 24 ; + sh:path gx:aggregationOfResources ] ; + sh:targetClass gx:PXEImage . + +gx:RegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; + sh:ignoredProperties ( rdf:type ) ; + sh:targetClass gx:RegistrationNumber . + +gx:Resource a sh:NodeShape ; + sh:closed false ; + sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 1 ; + sh:path gx:name ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 0 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 2 ; + sh:path gx:description ] ; + sh:targetClass gx:Resource . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:ConfidentialComputing a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "indicates whether confidential server has an associated attestation service." ; + sh:maxCount 1 ; + sh:name "attestation service URI" ; + sh:order 1 ; + sh:path gx:attestationServiceURI ], + [ sh:datatype xsd:string ; + sh:description "Particular confidential computing technology used by the flavors as defined in..." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:technology ] ; + sh:targetClass gx:ConfidentialComputing . + +gx:Consent a sh:NodeShape ; + sh:closed false ; + sh:description "Information on the legitimate processing of information related to PII." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Consent" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; + sh:minCount 1 ; + sh:name "purpose" ; + sh:order 2 ; + sh:path gx:purpose ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; + sh:minCount 1 ; + sh:name "data protection contact point" ; + sh:order 1 ; + sh:path gx:dataProtectionContactPoint ], + [ sh:datatype xsd:string ; + sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; + sh:minCount 1 ; + sh:name "consent withdrawal contact point" ; + sh:order 3 ; + sh:path gx:consentWithdrawalContactPoint ], + [ sh:datatype xsd:string ; + sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal Basis" ; + sh:order 0 ; + sh:path gx:legalBasis ] ; + sh:targetClass gx:Consent . + +gx:DataExchangeComponent a sh:NodeShape ; + sh:closed false ; + sh:description "A service/resource used to make a data resource available." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Data Exchange Component" ; + sh:targetClass gx:DataExchangeComponent . + +gx:EORI a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The Economic Operators Registration and Identification number (EORI)." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:eori ] ; + sh:targetClass gx:EORI . + +gx:EUID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:euid ] ; + sh:targetClass gx:EUID . + +gx:GPSLocation a sh:NodeShape ; + sh:closed false ; + sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; + sh:maxCount 1 ; + sh:name "crs" ; + sh:order 3 ; + sh:path gx:crs ; + sh:pattern "^CRS" ], + [ sh:datatype xsd:string ; + sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; + sh:maxCount 1 ; + sh:name "altitude" ; + sh:order 2 ; + sh:path gx:altitude ], + [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "latitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 0 ; + sh:path gx:latitude ], + [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "longitude" ; + sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; + sh:order 1 ; + sh:path gx:longitude ] ; + sh:targetClass gx:GPSLocation . + +gx:LatestN a sh:NodeShape ; + sh:closed false ; + sh:description "Number of latest N outdated image versions, which will be valid." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:order 0 ; + sh:path gx:value ] ; + sh:targetClass gx:LatestN . + +gx:LeiCode a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Unique LEI number as defined by https://www.gleif.org." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path ] ; + sh:targetClass gx:LeiCode . + +gx:LocalRegistrationNumber a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The state issued company number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:local ] ; + sh:targetClass gx:LocalRegistrationNumber . + +gx:Participant a sh:NodeShape ; + sh:closed false ; + sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 1 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 0 ; + sh:path gx:name ] ; + sh:targetClass gx:Participant . + +gx:ServerFlavor a sh:NodeShape ; + sh:closed false ; + sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Server Flavor" ; + sh:property [ sh:class gx:ConfidentialComputing ; + sh:description "Details with respect to confidential computing capabilities of the flavor." ; + sh:maxCount 1 ; + sh:name "confidential computing" ; + sh:order 6 ; + sh:path gx:confidentialComputing ], + [ sh:class gx:Memory ; + sh:description "Size of RAM of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:ram ], + [ sh:datatype xsd:string ; + sh:description "Network capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:network ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 9 ; + sh:path gx:hwRngTypeOfFlavor ], + [ sh:class gx:GPU ; + sh:description "GPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:gpu ], + [ sh:class gx:Disk ; + sh:description "Additional volume capabilities of boot volume of the flavor." ; + sh:name "additional volume" ; + sh:order 5 ; + sh:path gx:additionalVolume ], + [ sh:datatype xsd:boolean ; + sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; + sh:maxCount 1 ; + sh:name "Hardware-assisted virtualization" ; + sh:order 8 ; + sh:path gx:hardwareAssistedVirtualization ], + [ sh:class gx:SoftwareResource ; + sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path gx:hypervisor ], + [ sh:class gx:CPU ; + sh:description "CPU capabilities of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "CPU requirements" ; + sh:order 0 ; + sh:path gx:cpu ], + [ sh:class gx:Disk ; + sh:description "Boot volume capabilities of boot volume of the flavor." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "boot volume" ; + sh:order 4 ; + sh:path gx:bootVolume ] ; + sh:targetClass gx:ServerFlavor . + +gx:StandardConformity a sh:NodeShape ; + sh:closed false ; + sh:description "Details about standard applied to Gaia-X entities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Name of the standard." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "title" ; + sh:order 0 ; + sh:path gx:title ], + [ sh:datatype xsd:anyURI ; + sh:description "Provides a link to schemas or details about applied standards." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "standard reference" ; + sh:order 1 ; + sh:path gx:standardReference ], + [ sh:datatype xsd:string ; + sh:description "Publisher of the standard." ; + sh:maxCount 1 ; + sh:name "publisher" ; + sh:order 2 ; + sh:path gx:publisher ] ; + sh:targetClass gx:StandardConformity . + +gx:VMImage a sh:NodeShape ; + sh:closed false ; + sh:description "Image for virtual machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "VM image" ; + sh:property [ sh:class gx:GPU ; + sh:description "Details with respect to GPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "GPU requirements" ; + sh:order 8 ; + sh:path gx:gpuReq ], + [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; + sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; + sh:maxCount 1 ; + sh:name "VM Image disk format" ; + sh:order 0 ; + sh:path gx:vmImageDiskFormat ], + [ sh:class gx:MaintenanceSubscription ; + sh:description "Details on maintenance capabilities of vendor of image's operating system." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path gx:maintenance ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 28 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:boolean ; + sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; + sh:maxCount 1 ; + sh:name "Virtual performance monitoring unit" ; + sh:order 15 ; + sh:path gx:vPMU ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path gx:signature ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path gx:checksum ], + [ sh:class gx:Encryption ; + sh:description "Details with respect to encryption of the images." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path gx:encryption ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 25 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; + sh:maxCount 1 ; + sh:name "Secure Boot" ; + sh:order 14 ; + sh:path gx:secureBoot ], + [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; + sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; + sh:maxCount 1 ; + sh:name "Hardware based random number generator (RNG)" ; + sh:order 3 ; + sh:path gx:hwRngTypeOfImage ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 29 ; + sh:path gx:name ], + [ sh:datatype xsd:boolean ; + sh:description "If true, one queue is set for each virtual CPU." ; + sh:maxCount 1 ; + sh:name "Multi queues" ; + sh:order 16 ; + sh:path gx:multiQueues ], + [ sh:description "Type of firmware which which guests are booted." ; + sh:in ( "BIOS" "UEFI" "other" ) ; + sh:maxCount 1 ; + sh:name "Firmware type" ; + sh:order 2 ; + sh:path gx:firmwareType ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 26 ; + sh:path gx:license ], + [ sh:class gx:Disk ; + sh:description "Minimal size of root disk required to run the image." ; + sh:maxCount 1 ; + sh:name "root disk requirements" ; + sh:order 11 ; + sh:path gx:rootDiskReq ], + [ sh:class gx:UpdateStrategy ; + sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path gx:updateStrategy ], + [ sh:class gx:CPU ; + sh:description "Details with respect to CPU capabilities required to run the image." ; + sh:maxCount 1 ; + sh:name "CPU requirements" ; + sh:order 7 ; + sh:path gx:cpuReq ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 23 ; + sh:path gx:patchLevel ], + [ sh:class gx:MemorySize ; + sh:description "Size of the image." ; + sh:maxCount 1 ; + sh:name "file size" ; + sh:order 5 ; + sh:path gx:fileSize ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 24 ; + sh:path gx:buildDate ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 30 ; + sh:path gx:description ], + [ sh:description "Hypervisor type required by the image" ; + sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; + sh:maxCount 1 ; + sh:name "Hypervisor type" ; + sh:order 1 ; + sh:path gx:hypervisorType ], + [ sh:class gx:OperatingSystem ; + sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; + sh:maxCount 1 ; + sh:name "Operating System" ; + sh:order 6 ; + sh:path gx:operatingSystem ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 27 ; + sh:path gx:resourcePolicy ], + [ sh:class gx:CheckSum ; + sh:description "Details with respect to check sum of the image." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path gx:checkSum ], + [ sh:class gx:MemorySize ; + sh:description "Maximum amount of RAM for the video image." ; + sh:maxCount 1 ; + sh:name "Video RAM size" ; + sh:order 10 ; + sh:path gx:videoRamSize ], + [ sh:description "Define the action to be performed if server hangs." ; + sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; + sh:maxCount 1 ; + sh:name "Watchdog action" ; + sh:order 4 ; + sh:path gx:watchDogAction ], + [ sh:datatype xsd:boolean ; + sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; + sh:maxCount 1 ; + sh:name "License included" ; + sh:order 18 ; + sh:path gx:licenseIncluded ], + [ sh:class gx:Memory ; + sh:description "Minimal size of RAM required to run the image." ; + sh:maxCount 1 ; + sh:name "Ram requirements" ; + sh:order 9 ; + sh:path gx:ramReq ] ; + sh:targetClass gx:VMImage . + +gx:VatID a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The VAT identification number." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:vatID ] ; + sh:targetClass gx:VatID . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass . + +gx:GPSUnit a sh:NodeShape ; + sh:closed false ; + sh:description "Definition of a geographical point." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 180 ; + sh:minCount 1 ; + sh:minInclusive -180 ; + sh:name "degrees" ; + sh:order 0 ; + sh:path gx:degrees ], + [ sh:datatype xsd:float ; + sh:maxCount 1 ; + sh:maxInclusive 1 ; + sh:minInclusive 0 ; + sh:name "decimals" ; + sh:order 3 ; + sh:path gx:decimals ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "seconds" ; + sh:order 2 ; + sh:path gx:seconds ], + [ sh:datatype xsd:integer ; + sh:maxCount 1 ; + sh:maxInclusive 60 ; + sh:minInclusive 0 ; + sh:name "minutes" ; + sh:order 1 ; + sh:path gx:minutes ] ; + sh:targetClass gx:GPSUnit . + +gx:Encryption a sh:NodeShape ; + sh:closed false ; + sh:description "Encryption capabilities of a Gaia-X entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; + sh:in ( "BYOK" "HYOK" "managed" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "key management" ; + sh:order 1 ; + sh:path gx:keyManagement ], + [ sh:description "Supported algorithm used to encrypt." ; + sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "encryption algorithm" ; + sh:order 0 ; + sh:path gx:cipher ] ; + sh:targetClass gx:Encryption . + +gx:MaintenanceSubscription a sh:NodeShape ; + sh:closed false ; + sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; + sh:maxCount 1 ; + sh:name "Subscription required" ; + sh:order 1 ; + sh:path gx:subscriptionRequired ], + [ sh:datatype xsd:date ; + sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; + sh:maxCount 1 ; + sh:name "Maintenance until" ; + sh:order 2 ; + sh:path gx:maintainedUntil ], + [ sh:datatype xsd:boolean ; + sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; + sh:maxCount 1 ; + sh:name "Subscription included" ; + sh:order 0 ; + sh:path gx:subscriptionIncluded ] ; + sh:targetClass gx:MaintenanceSubscription . + +gx:UpdateStrategy a sh:NodeShape ; + sh:closed false ; + sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; + sh:maxCount 1 ; + sh:name "Old versions Valid until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; + sh:order 2 ; + sh:path gx:oldVersionsValidUntil ], + [ sh:datatype xsd:integer ; + sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; + sh:maxCount 1 ; + sh:minInclusive 0 ; + sh:name "Hotfix hours" ; + sh:order 1 ; + sh:path gx:hotfixHours ], + [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; + sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; + sh:maxCount 1 ; + sh:name "Replace Frequency" ; + sh:order 0 ; + sh:path gx:replaceFrequency ], + [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; + sh:maxCount 1 ; + sh:name "Provided until" ; + sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; + sh:order 3 ; + sh:path gx:providedUntil ] ; + sh:targetClass gx:UpdateStrategy . + + a sh:NodeShape ; + sh:closed false ; + sh:description "Full address of the entity." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "the street address of a postal address" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path ], + [ sh:class gx:GPSLocation ; + sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; + sh:order 1 ; + sh:path gx:gps ], + [ sh:datatype xsd:string ; + sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path ], + [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; + sh:order 0 ; + sh:path gx:countryCode ], + [ sh:datatype xsd:string ; + sh:description "String of a street-address" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path ] ; + sh:targetClass . + +gx:CPU a sh:NodeShape ; + sh:closed false ; + sh:description "Computational processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:MemorySize ; + sh:description "Last Level Cache size of the CPU." ; + sh:maxCount 1 ; + sh:name "last level cache size" ; + sh:order 7 ; + sh:path gx:lastLevelCacheSize ], + [ sh:class ; + sh:description "Boost frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "boost CPU frequency" ; + sh:order 6 ; + sh:path gx:boostFrequency ], + [ sh:datatype xsd:string ; + sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; + sh:name "CPU flags" ; + sh:order 1 ; + sh:path gx:cpuFlag ], + [ sh:datatype xsd:integer ; + sh:description "Number of threads of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of threads" ; + sh:order 4 ; + sh:path gx:numberOfThreads ], + [ sh:class ; + sh:description "Base frequency of the CPU." ; + sh:maxCount 1 ; + sh:name "base CPU frequency" ; + sh:order 5 ; + sh:path gx:baseFrequency ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path gx:vendor ], + [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; + sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; + sh:maxCount 1 ; + sh:name "CPU architecture" ; + sh:order 0 ; + sh:path gx:cpuArchitecture ], + [ sh:datatype xsd:boolean ; + sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; + sh:maxCount 1 ; + sh:name "smt enabled" ; + sh:order 2 ; + sh:path gx:smtEnabled ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 12 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 10 ; + sh:path gx:generation ], + [ sh:class ; + sh:description "CPU Thermal Design Power." ; + sh:maxCount 1 ; + sh:name "thermal design power" ; + sh:order 8 ; + sh:path gx:thermalDesignPower ], + [ sh:datatype xsd:integer ; + sh:description "Number of cores of the CPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "Number of CPU cores" ; + sh:order 3 ; + sh:path gx:numberOfCores ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 11 ; + sh:path gx:defaultOversubscriptionRatio ] ; + sh:targetClass gx:CPU . + +gx:ComputeServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Compute Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 2 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 8 ; + sh:path gx:keyword ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 13 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 6 ; + sh:path gx:dataProtectionRegime ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 0 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 10 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 7 ; + sh:path gx:dataAccountExport ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 12 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 1 ; + sh:path gx:providedBy ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 11 ; + sh:path gx:hostedOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 9 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 4 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 5 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:ComputeServiceOffering . + +gx:DataAccountExport a sh:NodeShape ; + sh:closed false ; + sh:description "List of methods to export data from your account out of the service." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; + sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "format type" ; + sh:order 2 ; + sh:path gx:formatType ], + [ sh:description "Type of data support: digital, physical." ; + sh:in ( "digital" "physical" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "access type" ; + sh:order 1 ; + sh:path gx:accessType ], + [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; + sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "request type" ; + sh:order 0 ; + sh:path gx:requestType ] ; + sh:targetClass gx:DataAccountExport . + +gx:Endpoint a sh:NodeShape ; + sh:closed false ; + sh:description "An endpoint is a mean to access and interact with a service or a resource." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class gx:StandardConformity ; + sh:description "Provides information about applied standards." ; + sh:minCount 1 ; + sh:name "standard conformity" ; + sh:order 1 ; + sh:path gx:standardConformity ], + [ sh:datatype xsd:string ; + sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:formalDescription ], + [ sh:datatype xsd:anyURI ; + sh:description "The URL of the endpoint where it can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint URL" ; + sh:order 0 ; + sh:path gx:endpointURL ] ; + sh:targetClass gx:Endpoint . + +gx:GPU a sh:NodeShape ; + sh:closed false ; + sh:description "Graphical processing unit of virtual and physical machines." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 6 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:description "Interconnection of multiple GPUs within a server system" ; + sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:gpuInterconnection ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path gx:vendor ], + [ sh:datatype xsd:integer ; + sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "gpu processing units" ; + sh:order 2 ; + sh:path gx:gpuProcessingUnits ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 5 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 7 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:datatype xsd:boolean ; + sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; + sh:maxCount 1 ; + sh:name "GPU path through" ; + sh:order 3 ; + sh:path gx:gpuPassthrough ], + [ sh:class gx:MemorySize ; + sh:description "Size of memory of the GPU." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:gpuMemory ] ; + sh:targetClass gx:GPU . + +gx:InfrastructureServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Infrastructure Service Offering" ; + sh:property [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ] ; + sh:targetClass gx:InfrastructureServiceOffering . + +gx:Memory a sh:NodeShape ; + sh:closed false ; + sh:description "Details with respect to properties and capabilities of RAM." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; + sh:maxCount 1 ; + sh:name "Hardware Encryption enabled" ; + sh:order 4 ; + sh:path gx:hardwareEncryption ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 7 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "Memory size of RAM." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "memory size" ; + sh:order 0 ; + sh:path gx:memorySize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path gx:vendor ], + [ sh:datatype xsd:boolean ; + sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; + sh:maxCount 1 ; + sh:name "error correction code (ecc)" ; + sh:order 3 ; + sh:path gx:eccEnabled ], + [ sh:description "DRAM technology name defined by JEDEC" ; + sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; + sh:maxCount 1 ; + sh:name "memory class" ; + sh:order 1 ; + sh:path gx:memoryClass ], + [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; + sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; + sh:maxCount 1 ; + sh:name "memory rank" ; + sh:order 2 ; + sh:path gx:memoryRank ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 6 ; + sh:path gx:generation ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 8 ; + sh:path gx:supportedOversubscriptionRatio ] ; + sh:targetClass gx:Memory . + +gx:ServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Service Offering" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 4 ; + sh:path gx:servicePolicy ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 3 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 12 ; + sh:path gx:description ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 7 ; + sh:path gx:keyword ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 1 ; + sh:path gx:dependsOn ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 5 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 0 ; + sh:path gx:providedBy ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 2 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 11 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 9 ; + sh:path gx:endpoint ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 8 ; + sh:path gx:provisionType ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 10 ; + sh:path gx:hostedOn ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 6 ; + sh:path gx:dataAccountExport ] ; + sh:targetClass gx:ServiceOffering . + +gx:TermsAndConditions a sh:NodeShape ; + sh:closed false ; + sh:description "Terms and Conditions applying to a service offering." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "sha256 hash of the document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:hash ], + [ sh:datatype xsd:anyURI ; + sh:description "A resolvable link to document." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:url ] ; + sh:targetClass gx:TermsAndConditions . + +gx:VirtualMachineServiceOffering a sh:NodeShape ; + sh:closed false ; + sh:description "A digital service available for order and offering computational capabilities." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Machine Service Offering" ; + sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; + sh:order 5 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:servicePolicy ], + [ sh:description "One or more data protection regimes applying to the service offering." ; + sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; + sh:name "data protection regime" ; + sh:order 8 ; + sh:path gx:dataProtectionRegime ], + [ sh:class gx:DataAccountExport ; + sh:description "One or more methods to export data out of the service." ; + sh:minCount 1 ; + sh:name "data account export" ; + sh:order 9 ; + sh:path gx:dataAccountExport ], + [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; + sh:name "hosted on" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 13 ; + sh:path gx:hostedOn ], + [ sh:class gx:VMImage ; + sh:description "Compute Service Code Artifacts" ; + sh:minCount 1 ; + sh:name "code artifact" ; + sh:order 0 ; + sh:path gx:codeArtifact ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 15 ; + sh:path gx:description ], + [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; + sh:name "depends on" ; + sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; + sh:order 4 ; + sh:path gx:dependsOn ], + [ sh:description "Provision type of the service" ; + sh:in ( "private" "public" "hybrid" ) ; + sh:maxCount 1 ; + sh:name "provision type" ; + sh:order 11 ; + sh:path gx:provisionType ], + [ sh:class gx:TermsAndConditions ; + sh:description "One or more Terms and Conditions applying to that service." ; + sh:minCount 1 ; + sh:name "terms and conditions" ; + sh:order 6 ; + sh:path gx:serviceOfferingTermsAndConditions ], + [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; + sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; + sh:maxCount 1 ; + sh:name "tenant separation" ; + sh:order 2 ; + sh:path gx:tenantSeparation ], + [ sh:class gx:ServerFlavor ; + sh:description "Set of technical requirements or conditions to instantiate this service offering." ; + sh:minCount 1 ; + sh:name "instantiation requirement" ; + sh:order 1 ; + sh:path gx:instantiationReq ], + [ sh:datatype xsd:string ; + sh:description "Keywords that describe / tag the service." ; + sh:order 10 ; + sh:path gx:keyword ], + [ sh:class gx:LegalPerson ; + sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "provided by" ; + sh:order 3 ; + sh:path gx:providedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 14 ; + sh:path gx:name ], + [ sh:class gx:Endpoint ; + sh:description "Endpoint through which the Service Offering can be accessed." ; + sh:maxCount 1 ; + sh:name "endpoint" ; + sh:order 12 ; + sh:path gx:endpoint ] ; + sh:targetClass gx:VirtualMachineServiceOffering . + +gx:Disk a sh:NodeShape ; + sh:closed false ; + sh:description "Capabilities of a physical or virtual hard drive." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "default over-subscription ratio" ; + sh:order 5 ; + sh:path gx:defaultOversubscriptionRatio ], + [ sh:class gx:MemorySize ; + sh:description "The size of the hard drive." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Disk size" ; + sh:order 0 ; + sh:path gx:diskSize ], + [ sh:datatype xsd:string ; + sh:description "Vendor of the device." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:vendor ], + [ sh:datatype xsd:string ; + sh:description "Type of disk controller the disk is attached to." ; + sh:maxCount 1 ; + sh:name "Disk Bus Type" ; + sh:order 2 ; + sh:path gx:diskBusType ], + [ sh:datatype xsd:integer ; + sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; + sh:maxCount 1 ; + sh:minInclusive 1 ; + sh:name "supported over-subscription ratio" ; + sh:order 6 ; + sh:path gx:supportedOversubscriptionRatio ], + [ sh:description "The type of storage drive." ; + sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; + sh:maxCount 1 ; + sh:name "Disk Type" ; + sh:order 1 ; + sh:path gx:diskType ], + [ sh:datatype xsd:string ; + sh:description "Vendor specific generation of the device." ; + sh:maxCount 1 ; + sh:name "Generation of the device" ; + sh:order 4 ; + sh:path gx:generation ] ; + sh:targetClass gx:Disk . + +gx:SoftwareResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Gaia-X Virtual Resource describing an executable program." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Software Resource" ; + sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 6 ; + sh:path gx:license ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 9 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 7 ; + sh:path gx:resourcePolicy ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 10 ; + sh:path gx:description ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 8 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 3 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path gx:checksum ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 5 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 4 ; + sh:path gx:buildDate ] ; + sh:targetClass gx:SoftwareResource . + +gx:OperatingSystem a sh:NodeShape ; + sh:closed false ; + sh:description "A special Gaia-X Software Resource describing an operating system." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Operation System" ; + sh:property [ sh:datatype xsd:dateTime ; + sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; + sh:maxCount 1 ; + sh:name "Build Date" ; + sh:order 5 ; + sh:path gx:buildDate ], + [ sh:class gx:Signature ; + sh:description "Details with respect to signature of the software." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path gx:signature ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 8 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 6 ; + sh:path gx:copyrightOwnedBy ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 7 ; + sh:path gx:license ], + [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; + sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "Operation System Distribution" ; + sh:order 0 ; + sh:path gx:osDistribution ], + [ sh:datatype xsd:string ; + sh:description "Software specific patch number describing patch level of the software." ; + sh:maxCount 1 ; + sh:name "Patch level" ; + sh:order 4 ; + sh:path gx:patchLevel ], + [ sh:class gx:CheckSum ; + sh:description "Details on checksum of the software." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path gx:checksum ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 9 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "Version of the software." ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path gx:version ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 10 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 11 ; + sh:path gx:description ] ; + sh:targetClass gx:OperatingSystem . + +gx:Signature a sh:NodeShape ; + sh:closed false ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Value of the signature" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:signatureValue ], + [ sh:description "Defines the algorithm used to calculate or verify the signature." ; + sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:signatureAlgorithm ] ; + sh:targetClass gx:Signature . + +gx:CheckSum a sh:NodeShape ; + sh:closed false ; + sh:description "Detail on how to calculate or verify a checksum." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "Algorithm used to create checksum." ; + sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path gx:checkSumCalculation ], + [ sh:datatype xsd:string ; + sh:description "Value of the check sum." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path gx:checkSumValue ] ; + sh:targetClass gx:CheckSum . + +gx:MemorySize a sh:NodeShape ; + sh:closed false ; + sh:description "The number of bits, that can be stored on a digital storage." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Memory size" ; + sh:property [ sh:datatype xsd:float ; + sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:minInclusive 0 ; + sh:order 0 ; + sh:path ], + [ sh:datatype xsd:string ; + sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path ] ; + sh:targetClass gx:MemorySize . + +gx:LegalPerson a sh:NodeShape ; + sh:closed false ; + sh:description "A legal person, who is uniquely identified by its registration number." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Legal Person" ; + sh:property [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class ; + sh:description "The full legal address of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:name "legal address" ; + sh:order 1 ; + sh:path gx:legalAddress ], + [ sh:class ; + sh:description "Full physical location of the headquarter of the organization." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:headquartersAddress ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; + sh:order 4 ; + sh:path gx:subOrganisationOf ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; + sh:order 3 ; + sh:path gx:parentOrganizationOf ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; + sh:minCount 1 ; + sh:name "registration number" ; + sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; + sh:order 0 ; + sh:path gx:registrationNumber ] ; + sh:targetClass gx:LegalPerson . + +gx:PhysicalResource a sh:NodeShape ; + sh:closed false ; + sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Physical Resource" ; + sh:property [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; + sh:name "manufactured by" ; + sh:order 2 ; + sh:path gx:manufacturedBy ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 6 ; + sh:path gx:description ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; + sh:name "owned by" ; + sh:order 1 ; + sh:path gx:ownedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 5 ; + sh:path gx:name ], + [ sh:class gx:LegalPerson ; + sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; + sh:minCount 1 ; + sh:name "maintained by" ; + sh:order 0 ; + sh:path gx:maintainedBy ], + [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 4 ; + sh:path gx:aggregationOfResources ], + [ sh:class ; + sh:description "A list of physical locations." ; + sh:minCount 1 ; + sh:order 3 ; + sh:path gx:location ] ; + sh:targetClass gx:PhysicalResource . + +gx:VirtualResource a sh:NodeShape ; + sh:closed false ; + sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; + sh:ignoredProperties ( rdf:type ) ; + sh:name "Virtual Resource" ; + sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; + sh:name "aggregation of" ; + sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; + sh:order 3 ; + sh:path gx:aggregationOfResources ], + [ sh:datatype xsd:string ; + sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; + sh:minCount 1 ; + sh:order 2 ; + sh:path gx:resourcePolicy ], + [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; + sh:minCount 1 ; + sh:name "copyright owned by" ; + sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; + sh:order 0 ; + sh:path gx:copyrightOwnedBy ], + [ sh:datatype xsd:string ; + sh:description "A human readable name of the entity." ; + sh:maxCount 1 ; + sh:name "name" ; + sh:order 4 ; + sh:path gx:name ], + [ sh:datatype xsd:string ; + sh:description "A free text description of the entity." ; + sh:maxCount 1 ; + sh:name "description" ; + sh:order 5 ; + sh:path gx:description ], + [ sh:description "A list of SPDX identifiers or URL to document." ; + sh:minCount 1 ; + sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; + sh:order 1 ; + sh:path gx:license ] ; + sh:targetClass gx:VirtualResource . + diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py new file mode 100644 index 0000000..57a648a --- /dev/null +++ b/generator/common/gx_schema.py @@ -0,0 +1,9219 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-12-19T11:59:13 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class LatestN(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, str): + self.unit = str(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: str = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: str = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: str = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + other = PermissibleValue( + text="other", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for encryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operationg system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operationg system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py index 2bec6ca..82f6146 100644 --- a/generator/discovery/openstack/discovery_vm_images.py +++ b/generator/discovery/openstack/discovery_vm_images.py @@ -1,3 +1,5 @@ +import typing + from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk @@ -12,14 +14,15 @@ import generator.common.const as const +from typing import Dict class VmDiscovery(): - def __init__(self, conn: Connection) -> None: + def __init__(self, conn: Connection, config: Dict) -> None: self.conn = conn + self.config = config - - #def collect_vm_images(self, conn: Connection) -> List[str]: + # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[GX_Image]: """ Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. @@ -36,23 +39,43 @@ def discover_vm_images(self) -> List[GX_Image]: def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: """ - Converts image properties coming from Openstack to Gaia-X Credential compliant VM image. + Converts Openstack image to a Gaia-X virtual machine image. @param os_image: Openstack image properties - @return: Gaia-X compliant virtual machine image + @return: Gaia-X virtual machine image """ # collect all properties cpu_req = self._get_cpu_req(os_image.architecture) ram_req = self._get_min_ram_req(os_image.min_ram) root_disk_req = self._get_min_disk_req(os_image.min_disk) - - return GX_Image(copyrightOwnedBy='TBA', - license="TBA", - resourcePolicy=const.DEFAULT_RESOURCE_POLICY, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - version=os_image.os_version) + operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + #license = operatingSystem.license + #copyright_owner = operatingSystem.copyrightOwnedBy + #resource_policy= const.DEFAULT_RESOURCE_POLICY + + # read mandatory attributes from config or use default values + try: + license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + pass + try: + copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + pass + try: + resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + pass + + #return GX_Image(copyrightOwnedBy=copyright_owner, + # license=license, + # resourcePolicy=resource_policy, + # cpuReq=cpu_req, + # ramReq=ram_req, + # rootDiskReq=root_disk_req, + # operatingSystem=operatingSystem, + # version=os_image.os_version)# @staticmethod def _get_cpu_req(arch: str) -> CPU: @@ -70,18 +93,145 @@ def _get_cpu_req(arch: str) -> CPU: def _get_min_ram_req(min_ram_size: str) -> Memory: # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. # But OpenStack uses MiB. - size = MemorySize(value = float(min_ram_size * 1.048576), unit=const.UNIT_MB) - return Memory(memorySize = size) + size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) + return Memory(memorySize=size) @staticmethod def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value = float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize = size) + size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size) - - def _get_operation_system(os_version: str, os_distro: str) -> OperatingSystem: + def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + # Copyright owner and license not supported as Image properties, currently --> Default values are used if os_distro == "arch": - return OperatingSystem(version=os_version, os_distro="Arch Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) if os_distro == "centos": - return OperatingSystem(version=os_version, os_distro="CentOS Linux") + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) + if os_distro == "debian": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) + if os_distro == "fedora": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) + if os_distro == "freebsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) + if os_distro == "gentoo": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) + if os_distro == "mandrake": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) + if os_distro == "mandriva": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) + if os_distro == "mes": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) + if os_distro == "msdos": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) + if os_distro == "netbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) + if os_distro == "netware": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) + if os_distro == "openbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) + if os_distro == "opensolaris": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) + if os_distro == "opensuse": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + if os_distro == "rocky": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) + if os_distro == "rhel": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) + if os_distro == "sled": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) + if os_distro == "ubuntu": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) + if os_distro == "windows": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) + if os_distro == "cirros": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) + if os_distro == "almalinux": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) + + raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + + def _get_resource_policy(self, os: str) -> str: + policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] + if policy == "DEFAULT": + return const.DEFAULT_RESOURCE_POLICY + else: + return policy + + def _get_copyrightowner(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + + def _get_license(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + + + + + + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 9533e2e..3c2f5ba 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -12,14 +12,15 @@ from typing import Dict, List from openstack.connection import Connection +from typing import Dict +import sys from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.vm_images_discovery import VmDiscovery class OsCloud: - "Abstraction for openStack cloud with all its services." - + "Abstraction for openStack cloud with all its services" def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn From 0d0071a123cec9e8b6ae0499b9ef82565049ff9a Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 19 Dec 2023 16:25:28 +0100 Subject: [PATCH 151/175] Discover mandatory attributes Signed-off-by: Anja Strunk --- generator/common/const.py | 2 + .../openstack/discovery_vm_images.py | 237 --------------- .../openstack/vm_images_discovery.py | 285 ++++++++++++++++++ generator/test.py | 0 4 files changed, 287 insertions(+), 237 deletions(-) delete mode 100644 generator/discovery/openstack/discovery_vm_images.py delete mode 100644 generator/test.py diff --git a/generator/common/const.py b/generator/common/const.py index 0918f8a..ef09928 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -48,6 +48,8 @@ CONFIG_OS_CIRROS = "CirrOS" CONFIG_OS_ALMALINUX = "AlmaLinux" DEFAULT_RESOURCE_POLICY = "default: allow intent" +DEFAULT_FIRMWARE_TYPE = "other" +DEFAULT_WATCHDOG_ACTION = "none" <<<<<<< HEAD UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" diff --git a/generator/discovery/openstack/discovery_vm_images.py b/generator/discovery/openstack/discovery_vm_images.py deleted file mode 100644 index 82f6146..0000000 --- a/generator/discovery/openstack/discovery_vm_images.py +++ /dev/null @@ -1,237 +0,0 @@ -import typing - -from generator.common.gx_schema import Architectures as cpu_arch_types -from generator.common.gx_schema import CPU -from generator.common.gx_schema import Disk -from generator.common.gx_schema import Memory -from generator.common.gx_schema import MemorySize -from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import VMImage as GX_Image - -from openstack.connection import Connection -from openstack.image.v2.image import Image as OS_Image -from typing import List - -import generator.common.const as const - -from typing import Dict - -class VmDiscovery(): - - def __init__(self, conn: Connection, config: Dict) -> None: - self.conn = conn - self.config = config - - # def collect_vm_images(self, conn: Connection) -> List[str]: - def discover_vm_images(self) -> List[GX_Image]: - """ - Return one credential for each VM image provided by openstack cloud accessible via given CONNECTION. - - @param conn: Connection to openstack cloud VM images are to be collected - @return: list of VM images - """ - - images = list() - for image in self.conn.list_images(): - self._convert_to_gx_image(image) - - return images - - def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: - """ - Converts Openstack image to a Gaia-X virtual machine image. - @param os_image: Openstack image properties - @return: Gaia-X virtual machine image - """ - - # collect all properties - cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image.min_ram) - root_disk_req = self._get_min_disk_req(os_image.min_disk) - operatingSystem = self._get_operation_system_info(os_image.os_version, os_image.os_distro) - - #license = operatingSystem.license - #copyright_owner = operatingSystem.copyrightOwnedBy - #resource_policy= const.DEFAULT_RESOURCE_POLICY - - # read mandatory attributes from config or use default values - try: - license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] - except KeyError: - pass - try: - copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] - except KeyError: - pass - try: - resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] - except KeyError: - pass - - #return GX_Image(copyrightOwnedBy=copyright_owner, - # license=license, - # resourcePolicy=resource_policy, - # cpuReq=cpu_req, - # ramReq=ram_req, - # rootDiskReq=root_disk_req, - # operatingSystem=operatingSystem, - # version=os_image.os_version)# - - @staticmethod - def _get_cpu_req(arch: str) -> CPU: - if arch == "i686": - return CPU(cpuArchitecture="x86-32") - if arch in ["x86_64", "ia64"]: - return CPU(cpuArchitecture="x86-64") - if arch == "aarch6": - return CPU(cpuArchitecture="AArch-32") - if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - return CPU(cpuArchitecture="RISC-V") - return CPU(cpuArchitecture=cpu_arch_types.other) - - @staticmethod - def _get_min_ram_req(min_ram_size: str) -> Memory: - # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. - # But OpenStack uses MiB. - size = MemorySize(value=float(min_ram_size * 1.048576), unit=const.UNIT_MB) - return Memory(memorySize=size) - - @staticmethod - def _get_min_disk_req(disk_size: str) -> Disk: - size = MemorySize(value=float(disk_size * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size) - - def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: - # Copyright owner and license not supported as Image properties, currently --> Default values are used - if os_distro == "arch": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) - if os_distro == "centos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) - if os_distro == "debian": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) - if os_distro == "fedora": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) - if os_distro == "freebsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) - if os_distro == "gentoo": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) - if os_distro == "mandrake": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) - if os_distro == "mandriva": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) - if os_distro == "mes": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) - if os_distro == "msdos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) - if os_distro == "netbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) - if os_distro == "netware": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) - if os_distro == "openbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) - if os_distro == "opensolaris": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) - if os_distro == "opensuse": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) - if os_distro == "rocky": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) - if os_distro == "rhel": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) - if os_distro == "sled": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) - if os_distro == "ubuntu": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) - if os_distro == "windows": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) - if os_distro == "cirros": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) - if os_distro == "almalinux": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) - - raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") - - def _get_resource_policy(self, os: str) -> str: - policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] - if policy == "DEFAULT": - return const.DEFAULT_RESOURCE_POLICY - else: - return policy - - def _get_copyrightowner(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] - - def _get_license(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - - - - - - - diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 77d2f3c..dc99fcc 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -63,6 +63,28 @@ class VmDiscovery: # def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) +======= +import typing + +from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import VMImage as GX_Image + +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +from typing import List + +import generator.common.const as const + +from typing import Dict + + +class VmDiscovery(): +>>>>>>> Discover mandatory attributes def __init__(self, conn: Connection, config: Dict) -> None: self.conn = conn @@ -725,3 +747,266 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hwRngTypeOfImage = "None" + """ + # Discover all SCS mandatory properties + cpu_req = self._get_cpu_req(os_image.architecture) + ram_req = self._get_min_ram_req(os_image) + root_disk_req = self._get_min_disk_req(os_image) + operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) + + # Discover all SCS recommended attributes + secure_boot = self._is_secure_boot(os_image) + firmware_type = self._get_firmeware_type(os_image) + watchdog_action = self._get_watchdog_action(os_image) + v_pmu = self._is_vmpu(os_image) + video_ram_size = self._get_video_ram(os_image) + multiqueue = self._is_multiqueue_enabled(os_image) + + # Discover Gaia-X mandatory attributes + img_license = operating_system.license + copyright_owner = operating_system.copyrightOwnedBy + resource_policy = const.DEFAULT_RESOURCE_POLICY + + # read mandatory attributes from config or use default values + try: + img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] + except KeyError: + pass + try: + copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: + pass + try: + resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] + except KeyError: + pass + + # print(os_image.os_secure_boot) + + return GX_Image(copyrightOwnedBy=copyright_owner, + license=img_license, + resourcePolicy=resource_policy, + cpuReq=cpu_req, + ramReq=ram_req, + rootDiskReq=root_disk_req, + operatingSystem=operating_system, + version=os_image.os_version, + secureBoot=secure_boot, + firmwareType=firmware_type, + watchDogAction=watchdog_action, + vPMU=v_pmu, + videoRamSize=video_ram_size, + multiQueues=multiqueue) + + @staticmethod + def _get_cpu_req(arch: str) -> CPU: + if arch == "i686": + return CPU(cpuArchitecture="x86-32") + if arch in ["x86_64", "ia64"]: + return CPU(cpuArchitecture="x86-64") + if arch == "aarch6": + return CPU(cpuArchitecture="AArch-32") + if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return CPU(cpuArchitecture="RISC-V") + return CPU(cpuArchitecture=cpu_arch_types.other) + + @staticmethod + def _get_min_ram_req(image: OS_Image) -> Memory: + # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. + # But OpenStack uses MiB. + size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) + try: + hw_encryption = image.hw_mem_encryption + if hw_encryption: + return Memory(memorySize=size, hardwareEncryption=hw_encryption) + except AttributeError: + pass + return Memory(memorySize=size) + + @staticmethod + def _get_min_disk_req(image: OS_Image) -> Disk: + size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) + return Disk(diskSize=size, diskBusType=image.hw_disk_bus) + + def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: + # Copyright owner and license not supported as Image properties, currently --> Default values are used + if os_distro == "arch": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license(const.CONFIG_OS_ARCH)) + if os_distro == "centos": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), + license=self._get_license(const.CONFIG_OS_CENTOS)) + if os_distro == "debian": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), + license=self._get_license(const.CONFIG_OS_DEBIAN)) + if os_distro == "fedora": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), + license=self._get_license(const.CONFIG_OS_FEDORA)) + if os_distro == "freebsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), + license=self._get_license(const.CONFIG_OS_FREEBSD)) + if os_distro == "gentoo": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), + license=self._get_license(const.CONFIG_OS_GENTOO)) + if os_distro == "mandrake": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), + license=self._get_license(const.CONFIG_OS_MANDRAKE)) + if os_distro == "mandriva": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), + license=self._get_license(const.CONFIG_OS_MANDRIVA)) + if os_distro == "mes": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license(const.CONFIG_OS_MES)) + if os_distro == "msdos": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license(const.CONFIG_OS_MSDOS)) + if os_distro == "netbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), + license=self._get_license(const.CONFIG_OS_NETBSD)) + if os_distro == "netware": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), + license=self._get_license(const.CONFIG_OS_NOVELL)) + if os_distro == "openbsd": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), + license=self._get_license(const.CONFIG_OS_OPENBSD)) + if os_distro == "opensolaris": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), + license=self._get_license(const.CONFIG_OS_SOLARIS)) + if os_distro == "opensuse": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), + license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) + if os_distro == "rocky": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license(const.CONFIG_OS_ROCKY)) + if os_distro == "rhel": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license(const.CONFIG_OS_RHEL)) + if os_distro == "sled": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license(const.CONFIG_OS_SLED)) + if os_distro == "ubuntu": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), + license=self._get_license(const.CONFIG_OS_UBUNTU)) + if os_distro == "windows": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), + license=self._get_license(const.CONFIG_OS_WINDOWS)) + if os_distro == "cirros": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), + license=self._get_license(const.CONFIG_OS_CIRROS)) + if os_distro == "almalinux": + return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), + license=self._get_license(const.CONFIG_OS_ALMALINUX)) + + raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") + + def _get_resource_policy(self, os: str) -> str: + policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] + if policy == "DEFAULT": + return const.DEFAULT_RESOURCE_POLICY + else: + return policy + + def _get_copyrightowner(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] + + def _get_license(self, os: str) -> str: + return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] + + def _is_secure_boot(self, image: OS_Image) -> bool: + try: + secure_boot = image.needs_secure_boot + if secure_boot: + return secure_boot + except AttributeError: + pass + return False + + def _get_firmeware_type(self, image: OS_Image) -> str: + try: + firmwareType = image.hw_firmware_type + if firmwareType: + return firmwareType + except AttributeError: + pass + + return const.DEFAULT_FIRMWARE_TYPE + + def _get_watchdog_action(self, image: OS_Image) -> str: + try: + action = image.hw_watchdog_action + if action: + return action + except AttributeError: + pass + + return const.DEFAULT_WATCHDOG_ACTION + + def _is_vmpu(self, image: OS_Image) -> bool: + try: + pmu = image.hw_pmu + if pmu: + return pmu + except AttributeError: + pass + return False + + def _get_video_ram(self, image: OS_Image) -> MemorySize: + try: + ram_size = image.hw_video_ram + if ram_size: + return MemorySize(value=float()) + except AttributeError: + pass + + def _is_multiqueue_enabled(self, image: OS_Image) -> bool: + try: + enabled = image.hw_vif_multiqueue_enabled + if enabled: + return enabled + except AttributeError: + pass + return False diff --git a/generator/test.py b/generator/test.py deleted file mode 100644 index e69de29..0000000 From afadbd3d3a3e96fa7b4a81c29136d588ce5c52e4 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 20 Dec 2023 12:03:09 +0100 Subject: [PATCH 152/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/exceptions.py | 5 + .../discovery/openstack/opentack_discovery.py | 2 +- .../openstack/vm_images_discovery.py | 276 +----------------- 3 files changed, 10 insertions(+), 273 deletions(-) create mode 100644 generator/common/exceptions.py diff --git a/generator/common/exceptions.py b/generator/common/exceptions.py new file mode 100644 index 0000000..de8920d --- /dev/null +++ b/generator/common/exceptions.py @@ -0,0 +1,5 @@ + +class MissingMandatoryAttribute(AttributeError): + def __init__(self, *args, **kwargs): + super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") + diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 3c2f5ba..d30fc75 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -28,10 +28,10 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config + def discover_properties(self) -> List[JsonLdObject]: """ Discover all attributes of OS Cloud. - @return: all attributes as list of YAMLRoot """ creds = list() diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index dc99fcc..aa4092f 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -72,8 +72,12 @@ class VmDiscovery: from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +from generator.common.exceptions import MissingMandatoryAttribute + from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image from typing import List @@ -84,7 +88,6 @@ class VmDiscovery: class VmDiscovery(): ->>>>>>> Discover mandatory attributes def __init__(self, conn: Connection, config: Dict) -> None: self.conn = conn @@ -138,14 +141,6 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_operation_system_info(os_image, gx_image) self._add_build_date(os_image, gx_image) self._add_license_included(os_image, gx_image) - self._add_patch_level(os_image, gx_image) - self._add_version(os_image, gx_image) - self._add_checksum(os_image, gx_image) - self._add_signature(os_image, gx_image) - self._add_hypervisor(os_image, gx_image) - self._add_aggregation_of(os_image, gx_image) - self._add_rng_model(os_image, gx_image) - self._add_disk_format(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -747,266 +742,3 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hwRngTypeOfImage = "None" - """ - # Discover all SCS mandatory properties - cpu_req = self._get_cpu_req(os_image.architecture) - ram_req = self._get_min_ram_req(os_image) - root_disk_req = self._get_min_disk_req(os_image) - operating_system = self._get_operation_system_info(os_image.os_version, os_image.os_distro) - - # Discover all SCS recommended attributes - secure_boot = self._is_secure_boot(os_image) - firmware_type = self._get_firmeware_type(os_image) - watchdog_action = self._get_watchdog_action(os_image) - v_pmu = self._is_vmpu(os_image) - video_ram_size = self._get_video_ram(os_image) - multiqueue = self._is_multiqueue_enabled(os_image) - - # Discover Gaia-X mandatory attributes - img_license = operating_system.license - copyright_owner = operating_system.copyrightOwnedBy - resource_policy = const.DEFAULT_RESOURCE_POLICY - - # read mandatory attributes from config or use default values - try: - img_license = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_LICENSE] - except KeyError: - pass - try: - copyright_owner = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_COPYRIGHT] - except KeyError: - pass - try: - resource_policy = self.config[const.CONFIG_VM_IMAGE][os_image.name][const.CONFIG_RESOURCE_POLICY] - except KeyError: - pass - - # print(os_image.os_secure_boot) - - return GX_Image(copyrightOwnedBy=copyright_owner, - license=img_license, - resourcePolicy=resource_policy, - cpuReq=cpu_req, - ramReq=ram_req, - rootDiskReq=root_disk_req, - operatingSystem=operating_system, - version=os_image.os_version, - secureBoot=secure_boot, - firmwareType=firmware_type, - watchDogAction=watchdog_action, - vPMU=v_pmu, - videoRamSize=video_ram_size, - multiQueues=multiqueue) - - @staticmethod - def _get_cpu_req(arch: str) -> CPU: - if arch == "i686": - return CPU(cpuArchitecture="x86-32") - if arch in ["x86_64", "ia64"]: - return CPU(cpuArchitecture="x86-64") - if arch == "aarch6": - return CPU(cpuArchitecture="AArch-32") - if arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - return CPU(cpuArchitecture="RISC-V") - return CPU(cpuArchitecture=cpu_arch_types.other) - - @staticmethod - def _get_min_ram_req(image: OS_Image) -> Memory: - # Memory size tend to be measured in MB (1,000,000 bytes) and not MiB (1.048576 bytes) the RAM industry. - # But OpenStack uses MiB. - size = MemorySize(value=float(image.min_ram * 1.048576), unit=const.UNIT_MB) - try: - hw_encryption = image.hw_mem_encryption - if hw_encryption: - return Memory(memorySize=size, hardwareEncryption=hw_encryption) - except AttributeError: - pass - return Memory(memorySize=size) - - @staticmethod - def _get_min_disk_req(image: OS_Image) -> Disk: - size = MemorySize(value=float(image.min_disk * 1.073741824), unit=const.UNIT_GB) - return Disk(diskSize=size, diskBusType=image.hw_disk_bus) - - def _get_operation_system_info(self, os_version: str, os_distro: str) -> OperatingSystem: - # Copyright owner and license not supported as Image properties, currently --> Default values are used - if os_distro == "arch": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), - license=self._get_license(const.CONFIG_OS_ARCH)) - if os_distro == "centos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CENTOS), - license=self._get_license(const.CONFIG_OS_CENTOS)) - if os_distro == "debian": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_DEBIAN), - license=self._get_license(const.CONFIG_OS_DEBIAN)) - if os_distro == "fedora": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FEDORA), - license=self._get_license(const.CONFIG_OS_FEDORA)) - if os_distro == "freebsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_FREEBSD), - license=self._get_license(const.CONFIG_OS_FREEBSD)) - if os_distro == "gentoo": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_GENTOO), - license=self._get_license(const.CONFIG_OS_GENTOO)) - if os_distro == "mandrake": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRAKE), - license=self._get_license(const.CONFIG_OS_MANDRAKE)) - if os_distro == "mandriva": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MANDRIVA), - license=self._get_license(const.CONFIG_OS_MANDRIVA)) - if os_distro == "mes": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), - license=self._get_license(const.CONFIG_OS_MES)) - if os_distro == "msdos": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), - license=self._get_license(const.CONFIG_OS_MSDOS)) - if os_distro == "netbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NETBSD), - license=self._get_license(const.CONFIG_OS_NETBSD)) - if os_distro == "netware": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_NOVELL), - license=self._get_license(const.CONFIG_OS_NOVELL)) - if os_distro == "openbsd": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPENBSD), - license=self._get_license(const.CONFIG_OS_OPENBSD)) - if os_distro == "opensolaris": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SOLARIS), - license=self._get_license(const.CONFIG_OS_SOLARIS)) - if os_distro == "opensuse": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_OPEN_SUSE), - license=self._get_license(const.CONFIG_OS_OPEN_SUSE)) - if os_distro == "rocky": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), - license=self._get_license(const.CONFIG_OS_ROCKY)) - if os_distro == "rhel": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), - license=self._get_license(const.CONFIG_OS_RHEL)) - if os_distro == "sled": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), - license=self._get_license(const.CONFIG_OS_SLED)) - if os_distro == "ubuntu": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_UBUNTU), - license=self._get_license(const.CONFIG_OS_UBUNTU)) - if os_distro == "windows": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_WINDOWS), - license=self._get_license(const.CONFIG_OS_WINDOWS)) - if os_distro == "cirros": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_CIRROS), - license=self._get_license(const.CONFIG_OS_CIRROS)) - if os_distro == "almalinux": - return OperatingSystem(version=os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ALMALINUX), - license=self._get_license(const.CONFIG_OS_ALMALINUX)) - - raise ValueError("Unsupported value for operating system distribution found: '" + os_distro + "'") - - def _get_resource_policy(self, os: str) -> str: - policy = self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_RESOURCE_POLICY] - if policy == "DEFAULT": - return const.DEFAULT_RESOURCE_POLICY - else: - return policy - - def _get_copyrightowner(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_COPYRIGHT] - - def _get_license(self, os: str) -> str: - return self.config[const.CONFIG_VM_IMAGE][os][const.CONFIG_LICENSE] - - def _is_secure_boot(self, image: OS_Image) -> bool: - try: - secure_boot = image.needs_secure_boot - if secure_boot: - return secure_boot - except AttributeError: - pass - return False - - def _get_firmeware_type(self, image: OS_Image) -> str: - try: - firmwareType = image.hw_firmware_type - if firmwareType: - return firmwareType - except AttributeError: - pass - - return const.DEFAULT_FIRMWARE_TYPE - - def _get_watchdog_action(self, image: OS_Image) -> str: - try: - action = image.hw_watchdog_action - if action: - return action - except AttributeError: - pass - - return const.DEFAULT_WATCHDOG_ACTION - - def _is_vmpu(self, image: OS_Image) -> bool: - try: - pmu = image.hw_pmu - if pmu: - return pmu - except AttributeError: - pass - return False - - def _get_video_ram(self, image: OS_Image) -> MemorySize: - try: - ram_size = image.hw_video_ram - if ram_size: - return MemorySize(value=float()) - except AttributeError: - pass - - def _is_multiqueue_enabled(self, image: OS_Image) -> bool: - try: - enabled = image.hw_vif_multiqueue_enabled - if enabled: - return enabled - except AttributeError: - pass - return False From d98a1655407a1acc56522bfa15f940c816873c03 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 21 Dec 2023 15:05:52 +0100 Subject: [PATCH 153/175] Support additional attributes Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 14 +++-- .../openstack/vm_images_discovery.py | 63 +++++++++++++++++-- 2 files changed, 66 insertions(+), 11 deletions(-) diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 57a648a..99d6757 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-19T11:59:13 +# Generation date: 2023-12-20T13:27:56 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -4262,14 +4262,18 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "ripemd-160", + setattr(cls, "sha-2", PermissibleValue( - text="ripemd-160", + text="sha-2", description="TBD")) setattr(cls, "sha-3", PermissibleValue( text="sha-3", description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) class KeyManagement(EnumDefinitionImpl): @@ -5378,7 +5382,7 @@ def _addvals(cls): class OSDistribution(EnumDefinitionImpl): """ - Possible values for operationg system distribution. + Possible values for operating system distribution. """ Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") @@ -5395,7 +5399,7 @@ class OSDistribution(EnumDefinitionImpl): _defn = EnumDefinition( name="OSDistribution", - description="Possible values for operationg system distribution.", + description="Possible values for operating system distribution.", ) @classmethod diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index aa4092f..ac9a27b 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -58,12 +58,6 @@ def _get_cpu_arch(os_image_arch: str) -> str: #raise MissingMandatoryAttribute(e.args) return CpuArch.other.text - -class VmDiscovery: - # def __init__(self) -> None: - # with open("config/config.yaml", "r") as config_file: - # self.config = yaml.safe_load(config_file) -======= import typing from generator.common.gx_schema import Architectures as cpu_arch_types @@ -73,6 +67,9 @@ class VmDiscovery: from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm + from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image @@ -141,6 +138,9 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_operation_system_info(os_image, gx_image) self._add_build_date(os_image, gx_image) self._add_license_included(os_image, gx_image) + self._add_patch_level(os_image, gx_image) + self._add_version(os_image, gx_image) + self._add_checksum(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -672,6 +672,57 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: algo = self._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) + + @staticmethod + def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.patchLevel = os_image.properties['patchlevel'] + except KeyError: + pass + + @staticmethod + def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.version = os_image.properties['internal_version'] + except KeyError: + pass + + @staticmethod + def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + algo = VmDiscovery._get_algo(os_image.hash_algo) + value = os_image.hash_value + gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + except AttributeError: + pass + + @staticmethod + def _get_algo(algo: str) -> str: + if algo in ['sha512', 'sha224', 'sha256' 'sha384']: + return 'sha-2' + if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + return algo + return ChecksumAlgorithm.other + + + @staticmethod + def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.maintenance = os_image.properties['maintained_until'] + except KeyError: + pass + + @staticmethod + def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + + @staticmethod + def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo + except AttributeError: pass From 8b4c660d406fc1c4bfa424ed5664067f495b8b63 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:00:59 +0100 Subject: [PATCH 154/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 gax-cpu.py diff --git a/gax-cpu.py b/gax-cpu.py new file mode 100644 index 0000000..22a8c02 --- /dev/null +++ b/gax-cpu.py @@ -0,0 +1,36 @@ +#!/usr/bin/env python3 +# vim: set ts=4 sw=4 et: +# +# gax-cpu.py +""" +These classes reflect the Gaia-X view on physical infra + +(c) Kurt Garloff , 3/2022 - 6/2022 +SPDX-License-Identifier: EPL-2.0 +""" + + +class CPU: + "CPU abstraction according to Gaia-X attributes" + def __init__(self): + "c'tor setting all vals to defaults" + # Gaia-X attrs + self.numberOfCores = 0 + self.numberOfThreads = 0 + self.frequency = 0 + self.boostFrequency = 0 + self.cacheSize = 0 + # This would not be interesting typically + self.allowedSocket = "" + # Virt. attrs -- not in GaX + self.dedicatedCore = False + self.dedicatedThread = False + self.limitOversubscr = False + + +class MEM: + "RAM of an instance" + def __init__(self): + "c'tor setting all vals to defaults" + self.memGB = 0 + self.ECC = True \ No newline at end of file From df3ab5602da7aa1d0af08774e8a301372d677dec Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:03 +0100 Subject: [PATCH 155/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gax-cpu.py b/gax-cpu.py index 22a8c02..c6bb0f7 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,4 +33,5 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True \ No newline at end of file + self.ECC = True + \ No newline at end of file From 2edbd1fb27032514ae01a96ffa1c0b458599e447 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:02:30 +0100 Subject: [PATCH 156/175] Restore gax-cpu.py Signed-off-by: Anja Strunk --- gax-cpu.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gax-cpu.py b/gax-cpu.py index c6bb0f7..22a8c02 100644 --- a/gax-cpu.py +++ b/gax-cpu.py @@ -33,5 +33,4 @@ class MEM: def __init__(self): "c'tor setting all vals to defaults" self.memGB = 0 - self.ECC = True - \ No newline at end of file + self.ECC = True \ No newline at end of file From c42d7c042b81c909eb9ace88cb67a938512ae431 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 22 Dec 2023 10:03:52 +0100 Subject: [PATCH 157/175] Remove unused files Signed-off-by: Anja Strunk --- generator/common/gaia-x.shacl | 2275 --------------------------------- 1 file changed, 2275 deletions(-) delete mode 100644 generator/common/gaia-x.shacl diff --git a/generator/common/gaia-x.shacl b/generator/common/gaia-x.shacl deleted file mode 100644 index e13e0ae..0000000 --- a/generator/common/gaia-x.shacl +++ /dev/null @@ -1,2275 +0,0 @@ -@prefix gx: . -@prefix rdf: . -@prefix sh: . -@prefix xsd: . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Abstract parent class for all physical quantities, such as frequency, power or length." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:CodeArtifact a sh:NodeShape ; - sh:closed false ; - sh:description "A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Code Artifact" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:CodeArtifact . - -gx:DataResource a sh:NodeShape ; - sh:closed false ; - sh:description "A dataset exposed through a service instance." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Resource" ; - sh:property [ sh:class gx:DataExchangeComponent ; - sh:description "A resolvable link to the data exchange component that exposes the data resource." ; - sh:minCount 1 ; - sh:name "exposed through" ; - sh:order 1 ; - sh:path gx:exposedThrough ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is obsolete." ; - sh:maxCount 1 ; - sh:name "obsolete dateTime" ; - sh:order 2 ; - sh:path gx:obsoleteDateTime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to participant legally enabling the data usage." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "produced by" ; - sh:order 0 ; - sh:path gx:producedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:Consent ; - sh:description "list of consents covering the processing activities from the data subjects as Natural Person when the dataset contains PII." ; - sh:name "consent" ; - sh:order 6 ; - sh:path gx:consent ], - [ sh:datatype xsd:boolean ; - sh:description "Boolean for Personal Identifier Information, which is determined by the Participant owning the Data Resource." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "contains PII" ; - sh:order 4 ; - sh:path gx:containsPII ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 9 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:Participant ; - sh:description "data controller Participant as defined in GDPR." ; - sh:name "data controller" ; - sh:order 5 ; - sh:path gx:dataController ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 7 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date time in ISO 8601 format after which data is expired and shall be deleted." ; - sh:maxCount 1 ; - sh:name "expiration dateTime" ; - sh:order 3 ; - sh:path gx:expirationDateTime ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 8 ; - sh:path gx:license ] ; - sh:targetClass gx:DataResource . - -gx:Device a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of a hardware or virtualized device." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 1 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 2 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 3 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:vendor ] ; - sh:targetClass gx:Device . - -gx:GaiaX a sh:NodeShape ; - sh:closed false ; - sh:description "Top level element of Gaia-X ecosystem." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:GaiaX . - -gx:GaiaXEntity a sh:NodeShape ; - sh:closed false ; - sh:description "Root class for Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Gaia-X Entity" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ] ; - sh:targetClass gx:GaiaXEntity . - -gx:Hypervisor a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing a hypervisor to provided virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:hypervisorType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ] ; - sh:targetClass gx:Hypervisor . - -gx:Image a sh:NodeShape ; - sh:closed false ; - sh:description "A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Image" ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 5 ; - sh:path gx:videoRamSize ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:encryption ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 9 ; - sh:path gx:secureBoot ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:signature ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 2 ; - sh:path gx:cpuReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:updateStrategy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 10 ; - sh:path gx:vPMU ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 24 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 11 ; - sh:path gx:multiQueues ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 23 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:checkSum ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 19 ; - sh:path gx:buildDate ], - [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 3 ; - sh:path gx:gpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:version ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 20 ; - sh:path gx:copyrightOwnedBy ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path gx:maintenance ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 25 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 18 ; - sh:path gx:patchLevel ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 6 ; - sh:path gx:rootDiskReq ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 22 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 13 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:checksum ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 4 ; - sh:path gx:ramReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 1 ; - sh:path gx:operatingSystem ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 0 ; - sh:path gx:fileSize ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 21 ; - sh:path gx:license ] ; - sh:targetClass gx:Image . - -gx:InstantiationRequirement a sh:NodeShape ; - sh:closed false ; - sh:description "A container class to gather all requirements for compute service offering instantiations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Instantiation Requirement" ; - sh:targetClass gx:InstantiationRequirement . - -gx:Issuer a sh:NodeShape ; - sh:closed false ; - sh:description "An issuer of W3C Verifiable Credentials and Verifiable Presentations." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Gaia-X terms and conditions signed by issuer." ; - sh:in ( "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 0 ; - sh:path gx:issuerTermsAndConditions ] ; - sh:targetClass gx:Issuer . - -gx:PXEImage a sh:NodeShape ; - sh:closed false ; - sh:description "PXE image for physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "PXE image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 4 ; - sh:path gx:gpuReq ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 5 ; - sh:path gx:ramReq ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 21 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 11 ; - sh:path gx:vPMU ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:checkSum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path gx:encryption ], - [ sh:description "Disk format. Default \"ISO\"." ; - sh:in ( "WINPE" "ISO" ) ; - sh:maxCount 1 ; - sh:name "disk format" ; - sh:order 0 ; - sh:path gx:pxeImageDiskFormat ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 23 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 20 ; - sh:path gx:buildDate ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path gx:checksum ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 10 ; - sh:path gx:secureBoot ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 1 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 14 ; - sh:path gx:licenseIncluded ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 26 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 22 ; - sh:path gx:license ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 19 ; - sh:path gx:patchLevel ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 25 ; - sh:path gx:name ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path gx:maintenance ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path gx:version ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 12 ; - sh:path gx:multiQueues ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 7 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 6 ; - sh:path gx:videoRamSize ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 3 ; - sh:path gx:cpuReq ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 2 ; - sh:path gx:operatingSystem ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:updateStrategy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 24 ; - sh:path gx:aggregationOfResources ] ; - sh:targetClass gx:PXEImage . - -gx:RegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:description "Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID." ; - sh:ignoredProperties ( rdf:type ) ; - sh:targetClass gx:RegistrationNumber . - -gx:Resource a sh:NodeShape ; - sh:closed false ; - sh:description "Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 1 ; - sh:path gx:name ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 0 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 2 ; - sh:path gx:description ] ; - sh:targetClass gx:Resource . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Power', according to http://qudt.org/quantitykind/Power." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:ConfidentialComputing a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:anyURI ; - sh:description "indicates whether confidential server has an associated attestation service." ; - sh:maxCount 1 ; - sh:name "attestation service URI" ; - sh:order 1 ; - sh:path gx:attestationServiceURI ], - [ sh:datatype xsd:string ; - sh:description "Particular confidential computing technology used by the flavors as defined in..." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:technology ] ; - sh:targetClass gx:ConfidentialComputing . - -gx:Consent a sh:NodeShape ; - sh:closed false ; - sh:description "Information on the legitimate processing of information related to PII." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Consent" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Purposes of the processing. It is recommended to use well know controlled vocabulary such as the Data Privacy Vocabulary:Purposes" ; - sh:minCount 1 ; - sh:name "purpose" ; - sh:order 2 ; - sh:path gx:purpose ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Data Protection Officer or Participant responsible for the management of personal or sensitive data" ; - sh:minCount 1 ; - sh:name "data protection contact point" ; - sh:order 1 ; - sh:path gx:dataProtectionContactPoint ], - [ sh:datatype xsd:string ; - sh:description "ContactPoint of the Participant to whom to formulate a withdrawal consent request" ; - sh:minCount 1 ; - sh:name "consent withdrawal contact point" ; - sh:order 3 ; - sh:path gx:consentWithdrawalContactPoint ], - [ sh:datatype xsd:string ; - sh:description "One of the reasons as detailed in the identified Personal Data Protection Regimes, formatted as a string matching :
" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal Basis" ; - sh:order 0 ; - sh:path gx:legalBasis ] ; - sh:targetClass gx:Consent . - -gx:DataExchangeComponent a sh:NodeShape ; - sh:closed false ; - sh:description "A service/resource used to make a data resource available." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Data Exchange Component" ; - sh:targetClass gx:DataExchangeComponent . - -gx:EORI a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The Economic Operators Registration and Identification number (EORI)." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:eori ] ; - sh:targetClass gx:EORI . - -gx:EUID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The European Unique Identifier (EUID) for business located in the European Economic Area, Iceland, Liechtenstein or Norway and registered in the Business Registers Interconnection System (BRIS). This number can be found via the EU Business registers portal." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:euid ] ; - sh:targetClass gx:EUID . - -gx:GPSLocation a sh:NodeShape ; - sh:closed false ; - sh:description "Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Coordinate Reference System identifier. Framework used to precisely measure locations on the surface of Earth as coordinates." ; - sh:maxCount 1 ; - sh:name "crs" ; - sh:order 3 ; - sh:path gx:crs ; - sh:pattern "^CRS" ], - [ sh:datatype xsd:string ; - sh:description "For three-dimensional point locations, a value representing vertical position through either height or depth. Positive direction and units are defined by CRS identifier." ; - sh:maxCount 1 ; - sh:name "altitude" ; - sh:order 2 ; - sh:path gx:altitude ], - [ sh:description "Coordinate representing x horizontal position such as latitude. Negative number south of equator and positive north of equator." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "latitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 0 ; - sh:path gx:latitude ], - [ sh:description "Coordinate representing y horizontal position such as longitude. Negative values west of Prime Meridian and positive values east of Prime Meridian." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "longitude" ; - sh:or ( [ sh:datatype xsd:string ] [ sh:class gx:GPSUnit ] ) ; - sh:order 1 ; - sh:path gx:longitude ] ; - sh:targetClass gx:GPSLocation . - -gx:LatestN a sh:NodeShape ; - sh:closed false ; - sh:description "Number of latest N outdated image versions, which will be valid." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:order 0 ; - sh:path gx:value ] ; - sh:targetClass gx:LatestN . - -gx:LeiCode a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Unique LEI number as defined by https://www.gleif.org." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path ] ; - sh:targetClass gx:LeiCode . - -gx:LocalRegistrationNumber a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The state issued company number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:local ] ; - sh:targetClass gx:LocalRegistrationNumber . - -gx:Participant a sh:NodeShape ; - sh:closed false ; - sh:description "An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 1 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 0 ; - sh:path gx:name ] ; - sh:targetClass gx:Participant . - -gx:ServerFlavor a sh:NodeShape ; - sh:closed false ; - sh:description "Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Server Flavor" ; - sh:property [ sh:class gx:ConfidentialComputing ; - sh:description "Details with respect to confidential computing capabilities of the flavor." ; - sh:maxCount 1 ; - sh:name "confidential computing" ; - sh:order 6 ; - sh:path gx:confidentialComputing ], - [ sh:class gx:Memory ; - sh:description "Size of RAM of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:ram ], - [ sh:datatype xsd:string ; - sh:description "Network capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:network ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) of this flavor is based on." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 9 ; - sh:path gx:hwRngTypeOfFlavor ], - [ sh:class gx:GPU ; - sh:description "GPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:gpu ], - [ sh:class gx:Disk ; - sh:description "Additional volume capabilities of boot volume of the flavor." ; - sh:name "additional volume" ; - sh:order 5 ; - sh:path gx:additionalVolume ], - [ sh:datatype xsd:boolean ; - sh:description "Hardware-assisted virtualization, a.k.a. accelerated virtualization or hardware virtualization, enables full virtualization. Full virtualization means to run an unmodified guest operation system in complete isolation by emulating a complete hardware environment." ; - sh:maxCount 1 ; - sh:name "Hardware-assisted virtualization" ; - sh:order 8 ; - sh:path gx:hardwareAssistedVirtualization ], - [ sh:class gx:SoftwareResource ; - sh:description "A resolvable link to Gaia-X credential of used hypervisor as Gaia-X software resources." ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path gx:hypervisor ], - [ sh:class gx:CPU ; - sh:description "CPU capabilities of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "CPU requirements" ; - sh:order 0 ; - sh:path gx:cpu ], - [ sh:class gx:Disk ; - sh:description "Boot volume capabilities of boot volume of the flavor." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "boot volume" ; - sh:order 4 ; - sh:path gx:bootVolume ] ; - sh:targetClass gx:ServerFlavor . - -gx:StandardConformity a sh:NodeShape ; - sh:closed false ; - sh:description "Details about standard applied to Gaia-X entities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Name of the standard." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "title" ; - sh:order 0 ; - sh:path gx:title ], - [ sh:datatype xsd:anyURI ; - sh:description "Provides a link to schemas or details about applied standards." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "standard reference" ; - sh:order 1 ; - sh:path gx:standardReference ], - [ sh:datatype xsd:string ; - sh:description "Publisher of the standard." ; - sh:maxCount 1 ; - sh:name "publisher" ; - sh:order 2 ; - sh:path gx:publisher ] ; - sh:targetClass gx:StandardConformity . - -gx:VMImage a sh:NodeShape ; - sh:closed false ; - sh:description "Image for virtual machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "VM image" ; - sh:property [ sh:class gx:GPU ; - sh:description "Details with respect to GPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "GPU requirements" ; - sh:order 8 ; - sh:path gx:gpuReq ], - [ sh:description "Disk format og the VM inage. Default \"RAW\"" ; - sh:in ( "RAW" "QCOW2" "VHD" "VMDK" "ISO" "CVF" "CVA" ) ; - sh:maxCount 1 ; - sh:name "VM Image disk format" ; - sh:order 0 ; - sh:path gx:vmImageDiskFormat ], - [ sh:class gx:MaintenanceSubscription ; - sh:description "Details on maintenance capabilities of vendor of image's operating system." ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path gx:maintenance ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 28 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:boolean ; - sh:description "If true, a virtual performance monitoring unit (vPMU) is enable in guest. Default: False" ; - sh:maxCount 1 ; - sh:name "Virtual performance monitoring unit" ; - sh:order 15 ; - sh:path gx:vPMU ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path gx:signature ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path gx:checksum ], - [ sh:class gx:Encryption ; - sh:description "Details with respect to encryption of the images." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path gx:encryption ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 25 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:boolean ; - sh:description "If true, instances of the image are only started, if signature of software, such as firmware or operating system, are valid. Default: False." ; - sh:maxCount 1 ; - sh:name "Secure Boot" ; - sh:order 14 ; - sh:path gx:secureBoot ], - [ sh:description "Type of physical phenomena hardware random number generator (RNG) this image prefers." ; - sh:in ( "Electrical noise" "Chaos-based" "Free-running oscillators" "Quantum" "None" ) ; - sh:maxCount 1 ; - sh:name "Hardware based random number generator (RNG)" ; - sh:order 3 ; - sh:path gx:hwRngTypeOfImage ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 29 ; - sh:path gx:name ], - [ sh:datatype xsd:boolean ; - sh:description "If true, one queue is set for each virtual CPU." ; - sh:maxCount 1 ; - sh:name "Multi queues" ; - sh:order 16 ; - sh:path gx:multiQueues ], - [ sh:description "Type of firmware which which guests are booted." ; - sh:in ( "BIOS" "UEFI" "other" ) ; - sh:maxCount 1 ; - sh:name "Firmware type" ; - sh:order 2 ; - sh:path gx:firmwareType ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 26 ; - sh:path gx:license ], - [ sh:class gx:Disk ; - sh:description "Minimal size of root disk required to run the image." ; - sh:maxCount 1 ; - sh:name "root disk requirements" ; - sh:order 11 ; - sh:path gx:rootDiskReq ], - [ sh:class gx:UpdateStrategy ; - sh:description "Details on provider's image update strategy of this image. An update strategy defines ..." ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path gx:updateStrategy ], - [ sh:class gx:CPU ; - sh:description "Details with respect to CPU capabilities required to run the image." ; - sh:maxCount 1 ; - sh:name "CPU requirements" ; - sh:order 7 ; - sh:path gx:cpuReq ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 22 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 23 ; - sh:path gx:patchLevel ], - [ sh:class gx:MemorySize ; - sh:description "Size of the image." ; - sh:maxCount 1 ; - sh:name "file size" ; - sh:order 5 ; - sh:path gx:fileSize ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 24 ; - sh:path gx:buildDate ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 30 ; - sh:path gx:description ], - [ sh:description "Hypervisor type required by the image" ; - sh:in ( "quemu" "KVM" "Xen" "ESXi" "Hyper-V" "Cloud Hypervisor" "other" ) ; - sh:maxCount 1 ; - sh:name "Hypervisor type" ; - sh:order 1 ; - sh:path gx:hypervisorType ], - [ sh:class gx:OperatingSystem ; - sh:description "A resolvable link to Gaia-X credential of operation system offered by this image." ; - sh:maxCount 1 ; - sh:name "Operating System" ; - sh:order 6 ; - sh:path gx:operatingSystem ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 27 ; - sh:path gx:resourcePolicy ], - [ sh:class gx:CheckSum ; - sh:description "Details with respect to check sum of the image." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path gx:checkSum ], - [ sh:class gx:MemorySize ; - sh:description "Maximum amount of RAM for the video image." ; - sh:maxCount 1 ; - sh:name "Video RAM size" ; - sh:order 10 ; - sh:path gx:videoRamSize ], - [ sh:description "Define the action to be performed if server hangs." ; - sh:in ( "disabled" "reset" "poweroff" "pause" "none" ) ; - sh:maxCount 1 ; - sh:name "Watchdog action" ; - sh:order 4 ; - sh:path gx:watchDogAction ], - [ sh:datatype xsd:boolean ; - sh:description "An image is a software that may require a commercial license to be used. This attribute indicates, if service usage fee includes that license (true) or customer has to bring its own license (False). Default: False" ; - sh:maxCount 1 ; - sh:name "License included" ; - sh:order 18 ; - sh:path gx:licenseIncluded ], - [ sh:class gx:Memory ; - sh:description "Minimal size of RAM required to run the image." ; - sh:maxCount 1 ; - sh:name "Ram requirements" ; - sh:order 9 ; - sh:path gx:ramReq ] ; - sh:targetClass gx:VMImage . - -gx:VatID a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The VAT identification number." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:vatID ] ; - sh:targetClass gx:VatID . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass . - -gx:GPSUnit a sh:NodeShape ; - sh:closed false ; - sh:description "Definition of a geographical point." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 180 ; - sh:minCount 1 ; - sh:minInclusive -180 ; - sh:name "degrees" ; - sh:order 0 ; - sh:path gx:degrees ], - [ sh:datatype xsd:float ; - sh:maxCount 1 ; - sh:maxInclusive 1 ; - sh:minInclusive 0 ; - sh:name "decimals" ; - sh:order 3 ; - sh:path gx:decimals ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "seconds" ; - sh:order 2 ; - sh:path gx:seconds ], - [ sh:datatype xsd:integer ; - sh:maxCount 1 ; - sh:maxInclusive 60 ; - sh:minInclusive 0 ; - sh:name "minutes" ; - sh:order 1 ; - sh:path gx:minutes ] ; - sh:targetClass gx:GPSUnit . - -gx:Encryption a sh:NodeShape ; - sh:closed false ; - sh:description "Encryption capabilities of a Gaia-X entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Define key management method. Allowed values are: managed, BYOK, HYOK" ; - sh:in ( "BYOK" "HYOK" "managed" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "key management" ; - sh:order 1 ; - sh:path gx:keyManagement ], - [ sh:description "Supported algorithm used to encrypt." ; - sh:in ( "RSA" "AES" "3DES" "Blowfish" "Twofish" "SDA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "encryption algorithm" ; - sh:order 0 ; - sh:path gx:cipher ] ; - sh:targetClass gx:Encryption . - -gx:MaintenanceSubscription a sh:NodeShape ; - sh:closed false ; - sh:description "A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service user needs a maintenance subscription account from the vendor of image's operating system in order to receive fixes. Default: False." ; - sh:maxCount 1 ; - sh:name "Subscription required" ; - sh:order 1 ; - sh:path gx:subscriptionRequired ], - [ sh:datatype xsd:date ; - sh:description "Date (UTC) until vendor of image's operating system promises maintenance at least." ; - sh:maxCount 1 ; - sh:name "Maintenance until" ; - sh:order 2 ; - sh:path gx:maintainedUntil ], - [ sh:datatype xsd:boolean ; - sh:description "True, if cloud service provider prepared already the image to reviece bug fixes, security fixes and (minor) function updates. Default: False" ; - sh:maxCount 1 ; - sh:name "Subscription included" ; - sh:order 0 ; - sh:path gx:subscriptionIncluded ] ; - sh:targetClass gx:MaintenanceSubscription . - -gx:UpdateStrategy a sh:NodeShape ; - sh:closed false ; - sh:description "Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Defines, how long outdated and hidden images are available by its ID. Allowed values are \"none\" (none information are given), \"notice\" (outdated version is valid until deprecation notice from provider), \"forever\" (Outdated version will never be deleted), non-negative integer n (latest n version keep available) and date in UTC (outdated version is valid until given date)." ; - sh:maxCount 1 ; - sh:name "Old versions Valid until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:in ( "forever" ) ] [ sh:class gx:LatestN ] [ sh:datatype xsd:date ] ) ; - sh:order 2 ; - sh:path gx:oldVersionsValidUntil ], - [ sh:datatype xsd:integer ; - sh:description "Time in hours passed after image's distributor published a critical hot fix and cloud provider updated this image with the critical patch. A critical bug is defined as a security vulnerability with a CVSS score of 9.0 or higher." ; - sh:maxCount 1 ; - sh:minInclusive 0 ; - sh:name "Hotfix hours" ; - sh:order 1 ; - sh:path gx:hotfixHours ], - [ sh:description "Frequency, in which the provider updates the image on a regular basis. Possible values are: yearly, quarterly, monthly, weekly, daily, critical_bug, and never." ; - sh:in ( "yearly" "quarterly" "weekly" "daily" "critical_bug" "never" ) ; - sh:maxCount 1 ; - sh:name "Replace Frequency" ; - sh:order 0 ; - sh:path gx:replaceFrequency ], - [ sh:description "Details, how long the image will be provided in image catalogue. Allowed values are \"none\" (none information are given), \"notice\" (image is available until deprecation notice from provider), and date in UTC (date until the image is available)." ; - sh:maxCount 1 ; - sh:name "Provided until" ; - sh:or ( [ sh:in ( "none" "notice" ) ] [ sh:datatype xsd:date ] ) ; - sh:order 3 ; - sh:path gx:providedUntil ] ; - sh:targetClass gx:UpdateStrategy . - - a sh:NodeShape ; - sh:closed false ; - sh:description "Full address of the entity." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "the street address of a postal address" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path ], - [ sh:class gx:GPSLocation ; - sh:description "GPS in ISO 6709:2008/Cor 1:2009 format." ; - sh:order 1 ; - sh:path gx:gps ], - [ sh:datatype xsd:string ; - sh:description "The v:locality property specifies the locality (e.g., city) of a postal address." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path ], - [ sh:description "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "AF" "EG" "AX" "AL" "DZ" "VI" "UM" "AS" "AD" "AO" "AI" "AQ" "AG" "GQ" "SY" "AR" "AM" "AW" "AZ" "ET" "AU" "BS" "BH" "BD" "BB" "BE" "BZ" "BJ" "BM" "BT" "VE" "BQ" "BA" "BW" "BV" "BR" "VG" "IO" "BN" "BG" "BF" "BI" "CV" "CL" "CN" "CK" "CR" "CI" "CW" "DK" "CD" "KP" "LA" "DE" "DM" "DO" "DJ" "EC" "MK" "SV" "ER" "EE" "FK" "FO" "FJ" "FI" "FM" "FR" "TF" "GF" "PF" "GA" "GM" "GE" "GH" "GI" "GD" "GR" "GL" "GP" "GU" "GT" "GG" "GN" "GW" "GY" "HT" "HM" "HN" "HK" "IN" "ID" "IM" "IQ" "IE" "IR" "IS" "IL" "IT" "JM" "JP" "YE" "JE" "JO" "KY" "KH" "CM" "CA" "KZ" "QA" "KE" "KG" "KI" "CC" "CO" "KM" "CG" "HR" "CU" "KW" "LS" "LV" "LB" "LR" "LY" "LI" "LT" "LU" "MO" "MG" "MW" "MY" "MV" "ML" "MT" "MP" "MA" "MH" "MQ" "MR" "MU" "YT" "MX" "MC" "MN" "MS" "ME" "MZ" "MM" "NA" "NR" "NP" "NC" "NZ" "NI" "NL" "NE" "NG" "NU" "NF" "False" "OM" "AT" "PK" "PW" "PS" "PA" "PG" "PY" "PE" "PH" "PN" "BO" "PL" "PT" "PR" "KR" "MD" "RE" "RW" "RO" "RU" "SB" "ZM" "WS" "SM" "ST" "SA" "SE" "CH" "SN" "RS" "SC" "SL" "ZW" "SG" "SK" "SI" "SO" "ES" "LK" "BL" "SH" "KN" "LC" "MF" "SX" "PM" "VC" "ZA" "SD" "GS" "SS" "SR" "SJ" "SZ" "TJ" "TW" "TH" "TL" "TG" "TK" "TO" "TT" "TD" "CZ" "TN" "TR" "TM" "TC" "TV" "UG" "UA" "HU" "UY" "UZ" "VU" "VA" "AE" "TZ" "US" "GB" "VN" "WF" "CX" "BY" "EH" "CF" "CY" ) ] [ sh:in ( "AFG" "ALA" "ALB" "DZA" "ASM" "AND" "AGO" "AIA" "ATA" "ATG" "ARG" "ARM" "ABW" "AUS" "AUT" "AZE" "BHS" "BHR" "BGD" "BRB" "BLR" "BEL" "BLZ" "BEN" "BMU" "BTN" "BOL" "BES" "BIH" "BWA" "BVT" "BRA" "IOT" "BRN" "BGR" "BFA" "BDI" "KHM" "CMR" "CAN" "CPV" "CYM" "CAF" "TCD" "CHL" "CHN" "CXR" "CCK" "COL" "COM" "COG" "COD" "COK" "CRI" "CIV" "HRV" "CUB" "CUW" "CYP" "CZE" "DNK" "DJI" "DMA" "DOM" "ECU" "EGY" "SLV" "GNQ" "ERI" "EST" "ETH" "FLK" "FRO" "FJI" "FIN" "FRA" "GUF" "PYF" "ATF" "GAB" "GMB" "GEO" "DEU" "GHA" "GIB" "GRC" "GRL" "GRD" "GLP" "GUM" "GTM" "GGY" "GIN" "GNB" "GUY" "HTI" "HMD" "VAT" "HND" "HKG" "HUN" "ISL" "IND" "IDN" "IRN" "IRQ" "IRL" "IMN" "ISR" "ITA" "JAM" "JPN" "JEY" "JOR" "KAZ" "KEN" "KIR" "PRK" "KOR" "KWT" "KGZ" "LAO" "LVA" "LBN" "LSO" "LBR" "LBY" "LIE" "LTU" "LUX" "MAC" "MKD" "MDG" "MWI" "MYS" "MDV" "MLI" "MLT" "MHL" "MTQ" "MRT" "MUS" "MYT" "MEX" "FSM" "MDA" "MCO" "MNG" "MNE" "MSR" "MAR" "MOZ" "MMR" "NAM" "NRU" "NPL" "NLD" "NCL" "NZL" "NIC" "NER" "NGA" "NIU" "NFK" "MNP" "NOR" "OMN" "PAK" "PLW" "PSE" "PAN" "PNG" "PRY" "PER" "PHL" "PCN" "POL" "PRT" "PRI" "QAT" "SRB" "REU" "ROU" "RUS" "RWA" "BLM" "SHN" "KNA" "LCA" "MAF" "SPM" "VCT" "WSM" "SMR" "STP" "SAU" "SEN" "SYC" "SLE" "SGP" "SXM" "SVK" "SVN" "SLB" "SOM" "ZAF" "SGS" "SSD" "ESP" "LKA" "SDN" "SUR" "SJM" "SWZ" "SWE" "CHE" "SYR" "TWN" "TJK" "TZA" "THA" "TLS" "TGO" "TKL" "TON" "TTO" "TUN" "TUR" "XTX" "TKM" "TCA" "TUV" "UGA" "UKR" "ARE" "GBR" "USA" "UMI" "URY" "UZB" "VUT" "VEN" "VNM" "VGB" "VIR" "WLF" "ESH" "YEM" "ZMB" "ZWE" "XKX" ) ] [ sh:in ( "4" "818" "248" "008" "10" "850" "581" "14" "16" "20" "660" "8" "028" "226" "760" "26" "41" "231" "30" "36" "048" "40" "42" "46" "084" "204" "48" "52" "58" "60" "62" "092" "086" "854" "108" "132" "152" "156" "184" "188" "384" "531" "208" "180" "408" "418" "276" "212" "214" "262" "218" "807" "222" "232" "233" "238" "234" "242" "246" "583" "250" "260" "254" "258" "266" "270" "268" "288" "292" "308" "300" "304" "312" "316" "320" "831" "324" "624" "328" "332" "334" "340" "344" "356" "360" "833" "368" "372" "364" "352" "376" "380" "388" "392" "887" "832" "400" "136" "116" "120" "124" "398" "634" "404" "417" "296" "166" "170" "174" "178" "191" "192" "414" "426" "428" "422" "430" "434" "438" "440" "442" "446" "450" "454" "458" "462" "466" "470" "580" "504" "584" "474" "478" "480" "175" "484" "492" "496" "500" "499" "508" "104" "516" "520" "524" "540" "554" "558" "528" "562" "566" "570" "574" "578" "512" "32" "586" "585" "275" "591" "598" "600" "604" "608" "612" "068" "616" "620" "630" "410" "498" "638" "646" "642" "643" "090" "894" "882" "674" "678" "682" "752" "756" "686" "688" "690" "694" "716" "702" "703" "705" "706" "724" "144" "652" "654" "659" "662" "663" "534" "666" "670" "710" "729" "239" "728" "740" "744" "748" "762" "158" "764" "626" "768" "772" "776" "780" "148" "203" "788" "792" "795" "796" "798" "800" "804" "348" "858" "860" "548" "336" "784" "834" "840" "826" "704" "876" "162" "112" "732" "140" "196" ) ] ) ; - sh:order 0 ; - sh:path gx:countryCode ], - [ sh:datatype xsd:string ; - sh:description "String of a street-address" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path ] ; - sh:targetClass . - -gx:CPU a sh:NodeShape ; - sh:closed false ; - sh:description "Computational processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:MemorySize ; - sh:description "Last Level Cache size of the CPU." ; - sh:maxCount 1 ; - sh:name "last level cache size" ; - sh:order 7 ; - sh:path gx:lastLevelCacheSize ], - [ sh:class ; - sh:description "Boost frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "boost CPU frequency" ; - sh:order 6 ; - sh:path gx:boostFrequency ], - [ sh:datatype xsd:string ; - sh:description "CPU flags as documented by lscpu and defined in https://github.com/torvalds/linux/blob/master/tools/arch/x86/include/asm/cpufeatures.h. Non-listed flags to be designated as 'other'." ; - sh:name "CPU flags" ; - sh:order 1 ; - sh:path gx:cpuFlag ], - [ sh:datatype xsd:integer ; - sh:description "Number of threads of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of threads" ; - sh:order 4 ; - sh:path gx:numberOfThreads ], - [ sh:class ; - sh:description "Base frequency of the CPU." ; - sh:maxCount 1 ; - sh:name "base CPU frequency" ; - sh:order 5 ; - sh:path gx:baseFrequency ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path gx:vendor ], - [ sh:description "Architecture of CPU as defined per .name string of structure static const X86CPUDefinition builtin_x86_defs[] defined in https://gitlab.com/qemu-project/qemu/-/blob/master/target/i386/cpu.c. Non-listed architectures to be designated as 'other'" ; - sh:in ( "x86-32" "x86-64" "AArch-32" "AArch-64" "RISC-V" "other" ) ; - sh:maxCount 1 ; - sh:name "CPU architecture" ; - sh:order 0 ; - sh:path gx:cpuArchitecture ], - [ sh:datatype xsd:boolean ; - sh:description "Is simultaneous multithreading (SMT) or hyper threading (HT) active in this CPU? Default \"False\"." ; - sh:maxCount 1 ; - sh:name "smt enabled" ; - sh:order 2 ; - sh:path gx:smtEnabled ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 12 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 10 ; - sh:path gx:generation ], - [ sh:class ; - sh:description "CPU Thermal Design Power." ; - sh:maxCount 1 ; - sh:name "thermal design power" ; - sh:order 8 ; - sh:path gx:thermalDesignPower ], - [ sh:datatype xsd:integer ; - sh:description "Number of cores of the CPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "Number of CPU cores" ; - sh:order 3 ; - sh:path gx:numberOfCores ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 11 ; - sh:path gx:defaultOversubscriptionRatio ] ; - sh:targetClass gx:CPU . - -gx:ComputeServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Compute Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 2 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 8 ; - sh:path gx:keyword ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 13 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 6 ; - sh:path gx:dataProtectionRegime ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 0 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 10 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 7 ; - sh:path gx:dataAccountExport ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 12 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 1 ; - sh:path gx:providedBy ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 11 ; - sh:path gx:hostedOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 9 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 4 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 5 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:ComputeServiceOffering . - -gx:DataAccountExport a sh:NodeShape ; - sh:closed false ; - sh:description "List of methods to export data from your account out of the service." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Type of Media Types (formerly known as MIME types) as defined by the IANA." ; - sh:in ( "1d-interleaved-parityfec" "cache-manifest" "calendar" "cql" "cql-expression" "cql-identifier" "css" "csv" "csv-schema" "directory - DEPRECATED by RFC6350" "dns" "ecmascript (OBSOLETED in favor of text/javascript)" "encaprtp" "enriched" "example" "fhirpath" "flexfec" "fwdred" "gff3" "grammar-ref-list" "hl7v2" "html" "javascript" "jcr-cnd" "markdown" "mizar" "n3" "parameters" "parityfec" "plain" "provenance-notation" "prs.fallenstein.rst" "prs.lines.tag" "prs.prop.logic" "RED" "rfc822-headers" "richtext" "rtf" "rtp-enc-aescm128" "rtploopback" "rtx" "SGML" "shacl" "shex" "spdx" "strings" "t140" "tab-separated-values" "troff" "turtle" "ulpfec" "uri-list" "vcard" "vnd.a" "vnd.abc" "vnd.ascii-art" "vnd.curl" "vnd.debian.copyright" "vnd.DMClientScript" "vnd.dvb.subtitle" "vnd.esmertec.theme-descriptor" "vnd.exchangeable" "vnd.familysearch.gedcom" "vnd.ficlab.flt" "vnd.fly" "vnd.fmi.flexstor" "vnd.gml" "vnd.graphviz" "vnd.hans" "vnd.hgl" "vnd.in3d.3dml" "vnd.in3d.spot" "vnd.IPTC.NewsML" "vnd.IPTC.NITF" "vnd.latex-z" "vnd.motorola.reflex" "vnd.ms-mediapackage" "vnd.net2phone.commcenter.command" "vnd.radisys.msml-basic-layout" "vnd.senx.warpscript" "vnd.si.uricatalogue" "vnd.sun.j2me.app-descriptor" "vnd.sosi" "vnd.trolltech.linguist" "vnd.wap.si" "vnd.wap.sl" "vnd.wap.wml" "vnd.wap.wmlscript" "vtt" "wgsl" "xml" "xml-external-parsed-entity" "3gpdash-qoe-report+xml" "3gppHal+json" "3gppHalForms+json" "3gpp-ims+xml" "A2L" "ace+cbor" "ace+json" "activemessage" "activity+json" "aif+cbor" "aif+json" "alto-cdni+json" "alto-cdnifilter+json" "alto-costmap+json" "alto-costmapfilter+json" "alto-directory+json" "alto-endpointprop+json" "alto-endpointpropparams+json" "alto-endpointcost+json" "alto-endpointcostparams+json" "alto-error+json" "alto-networkmapfilter+json" "alto-networkmap+json" "alto-propmap+json" "alto-propmapparams+json" "alto-updatestreamcontrol+json" "alto-updatestreamparams+json" "AML" "andrew-inset" "applefile" "at+jwt" "ATF" "ATFX" "atom+xml" "atomcat+xml" "atomdeleted+xml" "atomicmail" "atomsvc+xml" "atsc-dwd+xml" "atsc-dynamic-event-message" "atsc-held+xml" "atsc-rdt+json" "atsc-rsat+xml" "ATXML" "auth-policy+xml" "automationml-aml+xml" "automationml-amlx+zip" "bacnet-xdd+zip" "batch-SMTP" "beep+xml" "calendar+json" "calendar+xml" "call-completion" "CALS-1840" "captive+json" "cbor" "cbor-seq" "cccex" "ccmp+xml" "ccxml+xml" "cda+xml" "CDFX+XML" "cdmi-capability" "cdmi-container" "cdmi-domain" "cdmi-object" "cdmi-queue" "cdni" "CEA" "cea-2018+xml" "cellml+xml" "cfw" "cid-edhoc+cbor-seq" "city+json" "clr" "clue_info+xml" "clue+xml" "cms" "cnrp+xml" "coap-group+json" "coap-payload" "commonground" "concise-problem-details+cbor" "conference-info+xml" "cpl+xml" "cose" "cose-key" "cose-key-set" "cose-x509" "csrattrs" "csta+xml" "CSTAdata+xml" "csvm+json" "cwl" "cwl+json" "cwt" "cybercash" "dash+xml" "dash-patch+xml" "dashdelta" "davmount+xml" "dca-rft" "DCD" "dec-dx" "dialog-info+xml" "dicom" "dicom+json" "dicom+xml" "DII" "DIT" "dns+json" "dns-message" "dots+cbor" "dpop+jwt" "dskpp+xml" "dssc+der" "dssc+xml" "dvcs" "edhoc+cbor-seq" "EDI-consent" "EDIFACT" "EDI-X12" "efi" "elm+json" "elm+xml" "EmergencyCallData.cap+xml" "EmergencyCallData.Comment+xml" "EmergencyCallData.Control+xml" "EmergencyCallData.DeviceInfo+xml" "EmergencyCallData.eCall.MSD" "EmergencyCallData.LegacyESN+json" "EmergencyCallData.ProviderInfo+xml" "EmergencyCallData.ServiceInfo+xml" "EmergencyCallData.SubscriberInfo+xml" "EmergencyCallData.VEDS+xml" "emma+xml" "emotionml+xml" "epp+xml" "epub+zip" "eshop" "exi" "expect-ct-report+json" "express" "fastinfoset" "fastsoap" "fdf" "fdt+xml" "fhir+json" "fhir+xml" "fits" "font-sfnt - DEPRECATED in favor of font/sfnt" "font-tdpfr" "font-woff - DEPRECATED in favor of font/woff" "framework-attributes+xml" "geo+json" "geo+json-seq" "geopackage+sqlite3" "geoxacml+xml" "gltf-buffer" "gml+xml" "gzip" "H224" "held+xml" "hl7v2+xml" "http" "hyperstudio" "ibe-key-request+xml" "ibe-pkg-reply+xml" "ibe-pp-data" "iges" "im-iscomposing+xml" "index" "index.cmd" "index.obj" "index.response" "index.vnd" "inkml+xml" "IOTP" "ipfix" "ipp" "ISUP" "its+xml" "java-archive" "javascript (OBSOLETED in favor of text/javascript)" "jf2feed+json" "jose" "jose+json" "jrd+json" "jscalendar+json" "json" "json-patch+json" "json-seq" "jwk+json" "jwk-set+json" "jwt" "kpml-request+xml" "kpml-response+xml" "ld+json" "lgr+xml" "link-format" "linkset" "linkset+json" "load-control+xml" "logout+jwt" "lost+xml" "lostsync+xml" "lpf+zip" "LXF" "mac-binhex40" "macwriteii" "mads+xml" "manifest+json" "marc" "marcxml+xml" "mathematica" "mathml+xml" "mathml-content+xml" "mathml-presentation+xml" "mbms-associated-procedure-description+xml" "mbms-deregister+xml" "mbms-envelope+xml" "mbms-msk-response+xml" "mbms-msk+xml" "mbms-protection-description+xml" "mbms-reception-report+xml" "mbms-register-response+xml" "mbms-register+xml" "mbms-schedule+xml" "mbms-user-service-description+xml" "mbox" "media_control+xml" "media-policy-dataset+xml" "mediaservercontrol+xml" "merge-patch+json" "metalink4+xml" "mets+xml" "MF4" "mikey" "mipc" "missing-blocks+cbor-seq" "mmt-aei+xml" "mmt-usd+xml" "mods+xml" "moss-keys" "moss-signature" "mosskey-data" "mosskey-request" "mp21" "mp4" "mpeg4-generic" "mpeg4-iod" "mpeg4-iod-xmt" "mrb-consumer+xml" "mrb-publish+xml" "msc-ivr+xml" "msc-mixer+xml" "msword" "mud+json" "multipart-core" "mxf" "n-quads" "n-triples" "nasdata" "news-checkgroups" "news-groupinfo" "news-transmission" "nlsml+xml" "node" "nss" "oauth-authz-req+jwt" "oblivious-dns-message" "ocsp-request" "ocsp-response" "octet-stream" "ODA" "odm+xml" "ODX" "oebps-package+xml" "ogg" "ohttp-keys" "opc-nodeset+xml" "oscore" "oxps" "p21" "p21+zip" "p2p-overlay+xml" "passport" "patch-ops-error+xml" "pdf" "PDX" "pem-certificate-chain" "pgp-encrypted" "pgp-keys" "pgp-signature" "pidf-diff+xml" "pidf+xml" "pkcs10" "pkcs7-mime" "pkcs7-signature" "pkcs8" "pkcs8-encrypted" "pkcs12" "pkix-attr-cert" "pkix-cert" "pkix-crl" "pkix-pkipath" "pkixcmp" "pls+xml" "poc-settings+xml" "postscript" "ppsp-tracker+json" "problem+json" "problem+xml" "provenance+xml" "prs.alvestrand.titrax-sheet" "prs.cww" "prs.cyn" "prs.hpub+zip" "prs.implied-document+xml" "prs.implied-executable" "prs.implied-structure" "prs.nprend" "prs.plucker" "prs.rdf-xml-crypt" "prs.vcfbzip2" "prs.xsf+xml" "pskc+xml" "pvd+json" "rdf+xml" "route-apd+xml" "route-s-tsid+xml" "route-usd+xml" "QSIG" "raptorfec" "rdap+json" "reginfo+xml" "relax-ng-compact-syntax" "remote-printing (OBSOLETE)" "reputon+json" "resource-lists-diff+xml" "resource-lists+xml" "rfc+xml" "riscos" "rlmi+xml" "rls-services+xml" "rpki-checklist" "rpki-ghostbusters" "rpki-manifest" "rpki-publication" "rpki-roa" "rpki-updown" "samlassertion+xml" "samlmetadata+xml" "sarif-external-properties+json" "sarif+json" "sbe" "sbml+xml" "scaip+xml" "scim+json" "scvp-cv-request" "scvp-cv-response" "scvp-vp-request" "scvp-vp-response" "sdp" "secevent+jwt" "senml-etch+cbor" "senml-etch+json" "senml-exi" "senml+cbor" "senml+json" "senml+xml" "sensml-exi" "sensml+cbor" "sensml+json" "sensml+xml" "sep-exi" "sep+xml" "session-info" "set-payment" "set-payment-initiation" "set-registration" "set-registration-initiation" "sgml-open-catalog" "shf+xml" "sieve" "simple-filter+xml" "simple-message-summary" "simpleSymbolContainer" "sipc" "slate" "smil (OBSOLETED in favor of application/smil+xml)" "smil+xml" "smpte336m" "soap+fastinfoset" "soap+xml" "sparql-query" "spdx+json" "sparql-results+xml" "spirits-event+xml" "sql" "srgs" "srgs+xml" "sru+xml" "ssml+xml" "stix+json" "swid+cbor" "swid+xml" "tamp-apex-update" "tamp-apex-update-confirm" "tamp-community-update" "tamp-community-update-confirm" "tamp-error" "tamp-sequence-adjust" "tamp-sequence-adjust-confirm" "tamp-status-query" "tamp-status-response" "tamp-update" "tamp-update-confirm" "taxii+json" "td+json" "tei+xml" "TETRA_ISI" "thraud+xml" "timestamp-query" "timestamp-reply" "timestamped-data" "tlsrpt+gzip" "tlsrpt+json" "tm+json" "tnauthlist" "token-introspection+jwt" "trickle-ice-sdpfrag" "trig" "ttml+xml" "tve-trigger" "tzif" "tzif-leap" "urc-grpsheet+xml" "urc-ressheet+xml" "urc-targetdesc+xml" "urc-uisocketdesc+xml" "vcard+json" "vcard+xml" "vemmi" "vnd.1000minds.decision-model+xml" "vnd.1ob" "vnd.3gpp.5gnas" "vnd.3gpp.access-transfer-events+xml" "vnd.3gpp.bsf+xml" "vnd.3gpp.crs+xml" "vnd.3gpp.current-location-discovery+xml" "vnd.3gpp.GMOP+xml" "vnd.3gpp.gtpc" "vnd.3gpp.interworking-data" "vnd.3gpp.lpp" "vnd.3gpp.mc-signalling-ear" "vnd.3gpp.mcdata-affiliation-command+xml" "vnd.3gpp.mcdata-info+xml" "vnd.3gpp.mcdata-msgstore-ctrl-request+xml" "vnd.3gpp.mcdata-payload" "vnd.3gpp.mcdata-regroup+xml" "vnd.3gpp.mcdata-service-config+xml" "vnd.3gpp.mcdata-signalling" "vnd.3gpp.mcdata-ue-config+xml" "vnd.3gpp.mcdata-user-profile+xml" "vnd.3gpp.mcptt-affiliation-command+xml" "vnd.3gpp.mcptt-floor-request+xml" "vnd.3gpp.mcptt-info+xml" "vnd.3gpp.mcptt-location-info+xml" "vnd.3gpp.mcptt-mbms-usage-info+xml" "vnd.3gpp.mcptt-regroup+xml" "vnd.3gpp.mcptt-service-config+xml" "vnd.3gpp.mcptt-signed+xml" "vnd.3gpp.mcptt-ue-config+xml" "vnd.3gpp.mcptt-ue-init-config+xml" "vnd.3gpp.mcptt-user-profile+xml" "vnd.3gpp.mcvideo-affiliation-command+xml" "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" "vnd.3gpp.mcvideo-info+xml" "vnd.3gpp.mcvideo-location-info+xml" "vnd.3gpp.mcvideo-mbms-usage-info+xml" "vnd.3gpp.mcvideo-regroup+xml" "vnd.3gpp.mcvideo-service-config+xml" "vnd.3gpp.mcvideo-transmission-request+xml" "vnd.3gpp.mcvideo-ue-config+xml" "vnd.3gpp.mcvideo-user-profile+xml" "vnd.3gpp.mid-call+xml" "vnd.3gpp.ngap" "vnd.3gpp.pfcp" "vnd.3gpp.pic-bw-large" "vnd.3gpp.pic-bw-small" "vnd.3gpp.pic-bw-var" "vnd.3gpp-prose-pc3a+xml" "vnd.3gpp-prose-pc3ach+xml" "vnd.3gpp-prose-pc3ch+xml" "vnd.3gpp-prose-pc8+xml" "vnd.3gpp-prose+xml" "vnd.3gpp.s1ap" "vnd.3gpp.seal-group-doc+xml" "vnd.3gpp.seal-info+xml" "vnd.3gpp.seal-location-info+xml" "vnd.3gpp.seal-mbms-usage-info+xml" "vnd.3gpp.seal-network-QoS-management-info+xml" "vnd.3gpp.seal-ue-config-info+xml" "vnd.3gpp.seal-unicast-info+xml" "vnd.3gpp.seal-user-profile-info+xml" "vnd.3gpp.sms" "vnd.3gpp.sms+xml" "vnd.3gpp.srvcc-ext+xml" "vnd.3gpp.SRVCC-info+xml" "vnd.3gpp.state-and-event-info+xml" "vnd.3gpp.ussd+xml" "vnd.3gpp.vae-info+xml" "vnd.3gpp-v2x-local-service-information" "vnd.3gpp2.bcmcsinfo+xml" "vnd.3gpp2.sms" "vnd.3gpp2.tcap" "vnd.3gpp.v2x" "vnd.3lightssoftware.imagescal" "vnd.3M.Post-it-Notes" "vnd.accpac.simply.aso" "vnd.accpac.simply.imp" "vnd.acm.addressxfer+json" "vnd.acm.chatbot+json" "vnd.acucobol" "vnd.acucorp" "vnd.adobe.flash.movie" "vnd.adobe.formscentral.fcdt" "vnd.adobe.fxp" "vnd.adobe.partial-upload" "vnd.adobe.xdp+xml" "vnd.aether.imp" "vnd.afpc.afplinedata" "vnd.afpc.afplinedata-pagedef" "vnd.afpc.cmoca-cmresource" "vnd.afpc.foca-charset" "vnd.afpc.foca-codedfont" "vnd.afpc.foca-codepage" "vnd.afpc.modca" "vnd.afpc.modca-cmtable" "vnd.afpc.modca-formdef" "vnd.afpc.modca-mediummap" "vnd.afpc.modca-objectcontainer" "vnd.afpc.modca-overlay" "vnd.afpc.modca-pagesegment" "vnd.age" "vnd.ah-barcode" "vnd.ahead.space" "vnd.airzip.filesecure.azf" "vnd.airzip.filesecure.azs" "vnd.amadeus+json" "vnd.amazon.mobi8-ebook" "vnd.americandynamics.acc" "vnd.amiga.ami" "vnd.amundsen.maze+xml" "vnd.android.ota" "vnd.anki" "vnd.anser-web-certificate-issue-initiation" "vnd.antix.game-component" "vnd.apache.arrow.file" "vnd.apache.arrow.stream" "vnd.apache.thrift.binary" "vnd.apache.thrift.compact" "vnd.apache.thrift.json" "vnd.apexlang" "vnd.api+json" "vnd.aplextor.warrp+json" "vnd.apothekende.reservation+json" "vnd.apple.installer+xml" "vnd.apple.keynote" "vnd.apple.mpegurl" "vnd.apple.numbers" "vnd.apple.pages" "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" "vnd.aristanetworks.swi" "vnd.artisan+json" "vnd.artsquare" "vnd.astraea-software.iota" "vnd.audiograph" "vnd.autopackage" "vnd.avalon+json" "vnd.avistar+xml" "vnd.balsamiq.bmml+xml" "vnd.banana-accounting" "vnd.bbf.usp.error" "vnd.bbf.usp.msg" "vnd.bbf.usp.msg+json" "vnd.balsamiq.bmpr" "vnd.bekitzur-stech+json" "vnd.belightsoft.lhzd+zip" "vnd.belightsoft.lhzl+zip" "vnd.bint.med-content" "vnd.biopax.rdf+xml" "vnd.blink-idb-value-wrapper" "vnd.blueice.multipass" "vnd.bluetooth.ep.oob" "vnd.bluetooth.le.oob" "vnd.bmi" "vnd.bpf" "vnd.bpf3" "vnd.businessobjects" "vnd.byu.uapi+json" "vnd.cab-jscript" "vnd.canon-cpdl" "vnd.canon-lips" "vnd.capasystems-pg+json" "vnd.cendio.thinlinc.clientconf" "vnd.century-systems.tcp_stream" "vnd.chemdraw+xml" "vnd.chess-pgn" "vnd.chipnuts.karaoke-mmd" "vnd.ciedi" "vnd.cinderella" "vnd.cirpack.isdn-ext" "vnd.citationstyles.style+xml" "vnd.claymore" "vnd.cloanto.rp9" "vnd.clonk.c4group" "vnd.cluetrust.cartomobile-config" "vnd.cluetrust.cartomobile-config-pkg" "vnd.cncf.helm.chart.content.v1.tar+gzip" "vnd.cncf.helm.chart.provenance.v1.prov" "vnd.cncf.helm.config.v1+json" "vnd.coffeescript" "vnd.collabio.xodocuments.document" "vnd.collabio.xodocuments.document-template" "vnd.collabio.xodocuments.presentation" "vnd.collabio.xodocuments.presentation-template" "vnd.collabio.xodocuments.spreadsheet" "vnd.collabio.xodocuments.spreadsheet-template" "vnd.collection.doc+json" "vnd.collection+json" "vnd.collection.next+json" "vnd.comicbook-rar" "vnd.comicbook+zip" "vnd.commerce-battelle" "vnd.commonspace" "vnd.coreos.ignition+json" "vnd.cosmocaller" "vnd.contact.cmsg" "vnd.crick.clicker" "vnd.crick.clicker.keyboard" "vnd.crick.clicker.palette" "vnd.crick.clicker.template" "vnd.crick.clicker.wordbank" "vnd.criticaltools.wbs+xml" "vnd.cryptii.pipe+json" "vnd.crypto-shade-file" "vnd.cryptomator.encrypted" "vnd.cryptomator.vault" "vnd.ctc-posml" "vnd.ctct.ws+xml" "vnd.cups-pdf" "vnd.cups-postscript" "vnd.cups-ppd" "vnd.cups-raster" "vnd.cups-raw" "vnd.cyan.dean.root+xml" "vnd.cybank" "vnd.cyclonedx+json" "vnd.cyclonedx+xml" "vnd.d2l.coursepackage1p0+zip" "vnd.d3m-dataset" "vnd.d3m-problem" "vnd.dart" "vnd.data-vision.rdz" "vnd.datalog" "vnd.datapackage+json" "vnd.dataresource+json" "vnd.dbf" "vnd.debian.binary-package" "vnd.dece.data" "vnd.dece.ttml+xml" "vnd.dece.unspecified" "vnd.dece.zip" "vnd.denovo.fcselayout-link" "vnd.desmume.movie" "vnd.dir-bi.plate-dl-nosuffix" "vnd.dm.delegation+xml" "vnd.dna" "vnd.document+json" "vnd.dolby.mobile.1" "vnd.dolby.mobile.2" "vnd.doremir.scorecloud-binary-document" "vnd.dpgraph" "vnd.dreamfactory" "vnd.drive+json" "vnd.dtg.local" "vnd.dtg.local.flash" "vnd.dtg.local.html" "vnd.dvb.ait" "vnd.dvb.dvbisl+xml" "vnd.dvb.dvbj" "vnd.dvb.esgcontainer" "vnd.dvb.ipdcdftnotifaccess" "vnd.dvb.ipdcesgaccess" "vnd.dvb.ipdcesgaccess2" "vnd.dvb.ipdcesgpdd" "vnd.dvb.ipdcroaming" "vnd.dvb.iptv.alfec-base" "vnd.dvb.iptv.alfec-enhancement" "vnd.dvb.notif-aggregate-root+xml" "vnd.dvb.notif-container+xml" "vnd.dvb.notif-generic+xml" "vnd.dvb.notif-ia-msglist+xml" "vnd.dvb.notif-ia-registration-request+xml" "vnd.dvb.notif-ia-registration-response+xml" "vnd.dvb.notif-init+xml" "vnd.dvb.pfr" "vnd.dvb.service" "vnd.dxr" "vnd.dynageo" "vnd.dzr" "vnd.easykaraoke.cdgdownload" "vnd.ecip.rlp" "vnd.ecdis-update" "vnd.eclipse.ditto+json" "vnd.ecowin.chart" "vnd.ecowin.filerequest" "vnd.ecowin.fileupdate" "vnd.ecowin.series" "vnd.ecowin.seriesrequest" "vnd.ecowin.seriesupdate" "vnd.efi.img" "vnd.efi.iso" "vnd.eln+zip" "vnd.emclient.accessrequest+xml" "vnd.enliven" "vnd.enphase.envoy" "vnd.eprints.data+xml" "vnd.epson.esf" "vnd.epson.msf" "vnd.epson.quickanime" "vnd.epson.salt" "vnd.epson.ssf" "vnd.ericsson.quickcall" "vnd.espass-espass+zip" "vnd.eszigno3+xml" "vnd.etsi.aoc+xml" "vnd.etsi.asic-s+zip" "vnd.etsi.asic-e+zip" "vnd.etsi.cug+xml" "vnd.etsi.iptvcommand+xml" "vnd.etsi.iptvdiscovery+xml" "vnd.etsi.iptvprofile+xml" "vnd.etsi.iptvsad-bc+xml" "vnd.etsi.iptvsad-cod+xml" "vnd.etsi.iptvsad-npvr+xml" "vnd.etsi.iptvservice+xml" "vnd.etsi.iptvsync+xml" "vnd.etsi.iptvueprofile+xml" "vnd.etsi.mcid+xml" "vnd.etsi.mheg5" "vnd.etsi.overload-control-policy-dataset+xml" "vnd.etsi.pstn+xml" "vnd.etsi.sci+xml" "vnd.etsi.simservs+xml" "vnd.etsi.timestamp-token" "vnd.etsi.tsl+xml" "vnd.etsi.tsl.der" "vnd.eu.kasparian.car+json" "vnd.eudora.data" "vnd.evolv.ecig.profile" "vnd.evolv.ecig.settings" "vnd.evolv.ecig.theme" "vnd.exstream-empower+zip" "vnd.exstream-package" "vnd.ezpix-album" "vnd.ezpix-package" "vnd.f-secure.mobile" "vnd.fastcopy-disk-image" "vnd.familysearch.gedcom+zip" "vnd.fdsn.mseed" "vnd.fdsn.seed" "vnd.ffsns" "vnd.ficlab.flb+zip" "vnd.filmit.zfc" "vnd.fints" "vnd.firemonkeys.cloudcell" "vnd.FloGraphIt" "vnd.fluxtime.clip" "vnd.font-fontforge-sfd" "vnd.framemaker" "vnd.freelog.comic" "vnd.frogans.fnc (OBSOLETE)" "vnd.frogans.ltf (OBSOLETE)" "vnd.fsc.weblaunch" "vnd.fujifilm.fb.docuworks" "vnd.fujifilm.fb.docuworks.binder" "vnd.fujifilm.fb.docuworks.container" "vnd.fujifilm.fb.jfi+xml" "vnd.fujitsu.oasys" "vnd.fujitsu.oasys2" "vnd.fujitsu.oasys3" "vnd.fujitsu.oasysgp" "vnd.fujitsu.oasysprs" "vnd.fujixerox.ART4" "vnd.fujixerox.ART-EX" "vnd.fujixerox.ddd" "vnd.fujixerox.docuworks" "vnd.fujixerox.docuworks.binder" "vnd.fujixerox.docuworks.container" "vnd.fujixerox.HBPL" "vnd.fut-misnet" "vnd.futoin+cbor" "vnd.futoin+json" "vnd.fuzzysheet" "vnd.genomatix.tuxedo" "vnd.genozip" "vnd.gentics.grd+json" "vnd.gentoo.catmetadata+xml" "vnd.gentoo.ebuild" "vnd.gentoo.eclass" "vnd.gentoo.gpkg" "vnd.gentoo.manifest" "vnd.gentoo.xpak" "vnd.gentoo.pkgmetadata+xml" "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" "vnd.geocube+xml (OBSOLETED by request)" "vnd.geogebra.file" "vnd.geogebra.slides" "vnd.geogebra.tool" "vnd.geometry-explorer" "vnd.geonext" "vnd.geoplan" "vnd.geospace" "vnd.gerber" "vnd.globalplatform.card-content-mgt" "vnd.globalplatform.card-content-mgt-response" "vnd.gmx - DEPRECATED" "vnd.gnu.taler.exchange+json" "vnd.gnu.taler.merchant+json" "vnd.google-earth.kml+xml" "vnd.google-earth.kmz" "vnd.gov.sk.e-form+xml" "vnd.gov.sk.e-form+zip" "vnd.gov.sk.xmldatacontainer+xml" "vnd.gpxsee.map+xml" "vnd.grafeq" "vnd.gridmp" "vnd.groove-account" "vnd.groove-help" "vnd.groove-identity-message" "vnd.groove-injector" "vnd.groove-tool-message" "vnd.groove-tool-template" "vnd.groove-vcard" "vnd.hal+json" "vnd.hal+xml" "vnd.HandHeld-Entertainment+xml" "vnd.hbci" "vnd.hc+json" "vnd.hcl-bireports" "vnd.hdt" "vnd.heroku+json" "vnd.hhe.lesson-player" "vnd.hp-HPGL" "vnd.hp-hpid" "vnd.hp-hps" "vnd.hp-jlyt" "vnd.hp-PCL" "vnd.hp-PCLXL" "vnd.hsl" "vnd.httphone" "vnd.hydrostatix.sof-data" "vnd.hyper-item+json" "vnd.hyper+json" "vnd.hyperdrive+json" "vnd.hzn-3d-crossword" "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" "vnd.ibm.electronic-media" "vnd.ibm.MiniPay" "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" "vnd.ibm.rights-management" "vnd.ibm.secure-container" "vnd.iccprofile" "vnd.ieee.1905" "vnd.igloader" "vnd.imagemeter.folder+zip" "vnd.imagemeter.image+zip" "vnd.immervision-ivp" "vnd.immervision-ivu" "vnd.ims.imsccv1p1" "vnd.ims.imsccv1p2" "vnd.ims.imsccv1p3" "vnd.ims.lis.v2.result+json" "vnd.ims.lti.v2.toolconsumerprofile+json" "vnd.ims.lti.v2.toolproxy.id+json" "vnd.ims.lti.v2.toolproxy+json" "vnd.ims.lti.v2.toolsettings+json" "vnd.ims.lti.v2.toolsettings.simple+json" "vnd.informedcontrol.rms+xml" "vnd.infotech.project" "vnd.infotech.project+xml" "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" "vnd.innopath.wamp.notification" "vnd.insors.igm" "vnd.intercon.formnet" "vnd.intergeo" "vnd.intertrust.digibox" "vnd.intertrust.nncp" "vnd.intu.qbo" "vnd.intu.qfx" "vnd.ipfs.ipns-record" "vnd.ipld.car" "vnd.ipld.dag-cbor" "vnd.ipld.dag-json" "vnd.ipld.raw" "vnd.iptc.g2.catalogitem+xml" "vnd.iptc.g2.conceptitem+xml" "vnd.iptc.g2.knowledgeitem+xml" "vnd.iptc.g2.newsitem+xml" "vnd.iptc.g2.newsmessage+xml" "vnd.iptc.g2.packageitem+xml" "vnd.iptc.g2.planningitem+xml" "vnd.ipunplugged.rcprofile" "vnd.irepository.package+xml" "vnd.is-xpr" "vnd.isac.fcs" "vnd.jam" "vnd.iso11783-10+zip" "vnd.japannet-directory-service" "vnd.japannet-jpnstore-wakeup" "vnd.japannet-payment-wakeup" "vnd.japannet-registration" "vnd.japannet-registration-wakeup" "vnd.japannet-setstore-wakeup" "vnd.japannet-verification" "vnd.japannet-verification-wakeup" "vnd.jcp.javame.midlet-rms" "vnd.jisp" "vnd.joost.joda-archive" "vnd.jsk.isdn-ngn" "vnd.kahootz" "vnd.kde.karbon" "vnd.kde.kchart" "vnd.kde.kformula" "vnd.kde.kivio" "vnd.kde.kontour" "vnd.kde.kpresenter" "vnd.kde.kspread" "vnd.kde.kword" "vnd.kenameaapp" "vnd.kidspiration" "vnd.Kinar" "vnd.koan" "vnd.kodak-descriptor" "vnd.las" "vnd.las.las+json" "vnd.las.las+xml" "vnd.laszip" "vnd.leap+json" "vnd.liberty-request+xml" "vnd.llamagraphics.life-balance.desktop" "vnd.llamagraphics.life-balance.exchange+xml" "vnd.logipipe.circuit+zip" "vnd.loom" "vnd.lotus-1-2-3" "vnd.lotus-approach" "vnd.lotus-freelance" "vnd.lotus-notes" "vnd.lotus-organizer" "vnd.lotus-screencam" "vnd.lotus-wordpro" "vnd.macports.portpkg" "vnd.mapbox-vector-tile" "vnd.marlin.drm.actiontoken+xml" "vnd.marlin.drm.conftoken+xml" "vnd.marlin.drm.license+xml" "vnd.marlin.drm.mdcf" "vnd.mason+json" "vnd.maxar.archive.3tz+zip" "vnd.maxmind.maxmind-db" "vnd.mcd" "vnd.mdl" "vnd.mdl-mbsdf" "vnd.medcalcdata" "vnd.mediastation.cdkey" "vnd.medicalholodeck.recordxr" "vnd.meridian-slingshot" "vnd.mermaid" "vnd.MFER" "vnd.mfmp" "vnd.micro+json" "vnd.micrografx.flo" "vnd.micrografx.igx" "vnd.microsoft.portable-executable" "vnd.microsoft.windows.thumbnail-cache" "vnd.miele+json" "vnd.mif" "vnd.minisoft-hp3000-save" "vnd.mitsubishi.misty-guard.trustweb" "vnd.Mobius.DAF" "vnd.Mobius.DIS" "vnd.Mobius.MBK" "vnd.Mobius.MQY" "vnd.Mobius.MSL" "vnd.Mobius.PLC" "vnd.Mobius.TXF" "vnd.modl" "vnd.mophun.application" "vnd.mophun.certificate" "vnd.motorola.flexsuite" "vnd.motorola.flexsuite.adsi" "vnd.motorola.flexsuite.fis" "vnd.motorola.flexsuite.gotap" "vnd.motorola.flexsuite.kmr" "vnd.motorola.flexsuite.ttc" "vnd.motorola.flexsuite.wem" "vnd.motorola.iprm" "vnd.mozilla.xul+xml" "vnd.ms-artgalry" "vnd.ms-asf" "vnd.ms-cab-compressed" "vnd.ms-3mfdocument" "vnd.ms-excel" "vnd.ms-excel.addin.macroEnabled.12" "vnd.ms-excel.sheet.binary.macroEnabled.12" "vnd.ms-excel.sheet.macroEnabled.12" "vnd.ms-excel.template.macroEnabled.12" "vnd.ms-fontobject" "vnd.ms-htmlhelp" "vnd.ms-ims" "vnd.ms-lrm" "vnd.ms-office.activeX+xml" "vnd.ms-officetheme" "vnd.ms-playready.initiator+xml" "vnd.ms-powerpoint" "vnd.ms-powerpoint.addin.macroEnabled.12" "vnd.ms-powerpoint.presentation.macroEnabled.12" "vnd.ms-powerpoint.slide.macroEnabled.12" "vnd.ms-powerpoint.slideshow.macroEnabled.12" "vnd.ms-powerpoint.template.macroEnabled.12" "vnd.ms-PrintDeviceCapabilities+xml" "vnd.ms-PrintSchemaTicket+xml" "vnd.ms-project" "vnd.ms-tnef" "vnd.ms-windows.devicepairing" "vnd.ms-windows.nwprinting.oob" "vnd.ms-windows.printerpairing" "vnd.ms-windows.wsd.oob" "vnd.ms-wmdrm.lic-chlg-req" "vnd.ms-wmdrm.lic-resp" "vnd.ms-wmdrm.meter-chlg-req" "vnd.ms-wmdrm.meter-resp" "vnd.ms-word.document.macroEnabled.12" "vnd.ms-word.template.macroEnabled.12" "vnd.ms-works" "vnd.ms-wpl" "vnd.ms-xpsdocument" "vnd.msa-disk-image" "vnd.mseq" "vnd.msign" "vnd.multiad.creator" "vnd.multiad.creator.cif" "vnd.musician" "vnd.music-niff" "vnd.muvee.style" "vnd.mynfc" "vnd.nacamar.ybrid+json" "vnd.ncd.control" "vnd.ncd.reference" "vnd.nearst.inv+json" "vnd.nebumind.line" "vnd.nervana" "vnd.netfpx" "vnd.neurolanguage.nlu" "vnd.nimn" "vnd.nintendo.snes.rom" "vnd.nintendo.nitro.rom" "vnd.nitf" "vnd.noblenet-directory" "vnd.noblenet-sealer" "vnd.noblenet-web" "vnd.nokia.catalogs" "vnd.nokia.conml+wbxml" "vnd.nokia.conml+xml" "vnd.nokia.iptv.config+xml" "vnd.nokia.iSDS-radio-presets" "vnd.nokia.landmark+wbxml" "vnd.nokia.landmark+xml" "vnd.nokia.landmarkcollection+xml" "vnd.nokia.ncd" "vnd.nokia.n-gage.ac+xml" "vnd.nokia.n-gage.data" "vnd.nokia.n-gage.symbian.install (OBSOLETE" "vnd.nokia.pcd+wbxml" "vnd.nokia.pcd+xml" "vnd.nokia.radio-preset" "vnd.nokia.radio-presets" "vnd.novadigm.EDM" "vnd.novadigm.EDX" "vnd.novadigm.EXT" "vnd.ntt-local.content-share" "vnd.ntt-local.file-transfer" "vnd.ntt-local.ogw_remote-access" "vnd.ntt-local.sip-ta_remote" "vnd.ntt-local.sip-ta_tcp_stream" "vnd.oasis.opendocument.base" "vnd.oasis.opendocument.chart" "vnd.oasis.opendocument.chart-template" "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" "vnd.oasis.opendocument.formula" "vnd.oasis.opendocument.formula-template" "vnd.oasis.opendocument.graphics" "vnd.oasis.opendocument.graphics-template" "vnd.oasis.opendocument.image" "vnd.oasis.opendocument.image-template" "vnd.oasis.opendocument.presentation" "vnd.oasis.opendocument.presentation-template" "vnd.oasis.opendocument.spreadsheet" "vnd.oasis.opendocument.spreadsheet-template" "vnd.oasis.opendocument.text" "vnd.oasis.opendocument.text-master" "vnd.oasis.opendocument.text-master-template" "vnd.oasis.opendocument.text-template" "vnd.oasis.opendocument.text-web" "vnd.obn" "vnd.ocf+cbor" "vnd.oci.image.manifest.v1+json" "vnd.oftn.l10n+json" "vnd.oipf.contentaccessdownload+xml" "vnd.oipf.contentaccessstreaming+xml" "vnd.oipf.cspg-hexbinary" "vnd.oipf.dae.svg+xml" "vnd.oipf.dae.xhtml+xml" "vnd.oipf.mippvcontrolmessage+xml" "vnd.oipf.pae.gem" "vnd.oipf.spdiscovery+xml" "vnd.oipf.spdlist+xml" "vnd.oipf.ueprofile+xml" "vnd.oipf.userprofile+xml" "vnd.olpc-sugar" "vnd.oma.bcast.associated-procedure-parameter+xml" "vnd.oma.bcast.drm-trigger+xml" "vnd.oma.bcast.imd+xml" "vnd.oma.bcast.ltkm" "vnd.oma.bcast.notification+xml" "vnd.oma.bcast.provisioningtrigger" "vnd.oma.bcast.sgboot" "vnd.oma.bcast.sgdd+xml" "vnd.oma.bcast.sgdu" "vnd.oma.bcast.simple-symbol-container" "vnd.oma.bcast.smartcard-trigger+xml" "vnd.oma.bcast.sprov+xml" "vnd.oma.bcast.stkm" "vnd.oma.cab-address-book+xml" "vnd.oma.cab-feature-handler+xml" "vnd.oma.cab-pcc+xml" "vnd.oma.cab-subs-invite+xml" "vnd.oma.cab-user-prefs+xml" "vnd.oma.dcd" "vnd.oma.dcdc" "vnd.oma.dd2+xml" "vnd.oma.drm.risd+xml" "vnd.oma.group-usage-list+xml" "vnd.oma.lwm2m+cbor" "vnd.oma.lwm2m+json" "vnd.oma.lwm2m+tlv" "vnd.oma.pal+xml" "vnd.oma.poc.detailed-progress-report+xml" "vnd.oma.poc.final-report+xml" "vnd.oma.poc.groups+xml" "vnd.oma.poc.invocation-descriptor+xml" "vnd.oma.poc.optimized-progress-report+xml" "vnd.oma.push" "vnd.oma.scidm.messages+xml" "vnd.oma.xcap-directory+xml" "vnd.omads-email+xml" "vnd.omads-file+xml" "vnd.omads-folder+xml" "vnd.omaloc-supl-init" "vnd.oma-scws-config" "vnd.oma-scws-http-request" "vnd.oma-scws-http-response" "vnd.onepager" "vnd.onepagertamp" "vnd.onepagertamx" "vnd.onepagertat" "vnd.onepagertatp" "vnd.onepagertatx" "vnd.onvif.metadata" "vnd.openblox.game-binary" "vnd.openblox.game+xml" "vnd.openeye.oeb" "vnd.openstreetmap.data+xml" "vnd.opentimestamps.ots" "vnd.openxmlformats-officedocument.custom-properties+xml" "vnd.openxmlformats-officedocument.customXmlProperties+xml" "vnd.openxmlformats-officedocument.drawing+xml" "vnd.openxmlformats-officedocument.drawingml.chart+xml" "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" "vnd.openxmlformats-officedocument.drawingml.diagramData+xml" "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" "vnd.openxmlformats-officedocument.extended-properties+xml" "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" "vnd.openxmlformats-officedocument.presentationml.comments+xml" "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" "vnd.openxmlformats-officedocument.presentationml.presentation" "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" "vnd.openxmlformats-officedocument.presentationml.presProps+xml" "vnd.openxmlformats-officedocument.presentationml.slide" "vnd.openxmlformats-officedocument.presentationml.slide+xml" "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" "vnd.openxmlformats-officedocument.presentationml.slideshow" "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" "vnd.openxmlformats-officedocument.presentationml.tags+xml" "vnd.openxmlformats-officedocument.presentationml.template" "vnd.openxmlformats-officedocument.presentationml.template.main+xml" "vnd.openxmlformats-officedocument.presentationml.viewProps+xml" "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheet" "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" "vnd.openxmlformats-officedocument.spreadsheetml.table+xml" "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" "vnd.openxmlformats-officedocument.spreadsheetml.template" "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" "vnd.openxmlformats-officedocument.theme+xml" "vnd.openxmlformats-officedocument.themeOverride+xml" "vnd.openxmlformats-officedocument.vmlDrawing" "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document" "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" "vnd.openxmlformats-officedocument.wordprocessingml.template" "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" "vnd.openxmlformats-package.core-properties+xml" "vnd.openxmlformats-package.digital-signature-xmlsignature+xml" "vnd.openxmlformats-package.relationships+xml" "vnd.oracle.resource+json" "vnd.orange.indata" "vnd.osa.netdeploy" "vnd.osgeo.mapguide.package" "vnd.osgi.bundle" "vnd.osgi.dp" "vnd.osgi.subsystem" "vnd.otps.ct-kip+xml" "vnd.oxli.countgraph" "vnd.pagerduty+json" "vnd.palm" "vnd.panoply" "vnd.paos.xml" "vnd.patentdive" "vnd.patientecommsdoc" "vnd.pawaafile" "vnd.pcos" "vnd.pg.format" "vnd.pg.osasli" "vnd.piaccess.application-licence" "vnd.picsel" "vnd.pmi.widget" "vnd.poc.group-advertisement+xml" "vnd.pocketlearn" "vnd.powerbuilder6" "vnd.powerbuilder6-s" "vnd.powerbuilder7" "vnd.powerbuilder75" "vnd.powerbuilder75-s" "vnd.powerbuilder7-s" "vnd.preminet" "vnd.previewsystems.box" "vnd.proteus.magazine" "vnd.psfs" "vnd.pt.mundusmundi" "vnd.publishare-delta-tree" "vnd.pvi.ptid1" "vnd.pwg-multiplexed" "vnd.pwg-xhtml-print+xml" "vnd.qualcomm.brew-app-res" "vnd.quarantainenet" "vnd.Quark.QuarkXPress" "vnd.quobject-quoxdocument" "vnd.radisys.moml+xml" "vnd.radisys.msml-audit-conf+xml" "vnd.radisys.msml-audit-conn+xml" "vnd.radisys.msml-audit-dialog+xml" "vnd.radisys.msml-audit-stream+xml" "vnd.radisys.msml-audit+xml" "vnd.radisys.msml-conf+xml" "vnd.radisys.msml-dialog-base+xml" "vnd.radisys.msml-dialog-fax-detect+xml" "vnd.radisys.msml-dialog-fax-sendrecv+xml" "vnd.radisys.msml-dialog-group+xml" "vnd.radisys.msml-dialog-speech+xml" "vnd.radisys.msml-dialog-transform+xml" "vnd.radisys.msml-dialog+xml" "vnd.radisys.msml+xml" "vnd.rainstor.data" "vnd.rapid" "vnd.rar" "vnd.realvnc.bed" "vnd.recordare.musicxml" "vnd.recordare.musicxml+xml" "vnd.relpipe" "vnd.RenLearn.rlprint" "vnd.resilient.logic" "vnd.restful+json" "vnd.rig.cryptonote" "vnd.route66.link66+xml" "vnd.rs-274x" "vnd.ruckus.download" "vnd.s3sms" "vnd.sailingtracker.track" "vnd.sar" "vnd.sbm.cid" "vnd.sbm.mid2" "vnd.scribus" "vnd.sealed.3df" "vnd.sealed.csf" "vnd.sealed.doc" "vnd.sealed.eml" "vnd.sealed.mht" "vnd.sealed.net" "vnd.sealed.ppt" "vnd.sealed.tiff" "vnd.sealed.xls" "vnd.sealedmedia.softseal.html" "vnd.sealedmedia.softseal.pdf" "vnd.seemail" "vnd.seis+json" "vnd.sema" "vnd.semd" "vnd.semf" "vnd.shade-save-file" "vnd.shana.informed.formdata" "vnd.shana.informed.formtemplate" "vnd.shana.informed.interchange" "vnd.shana.informed.package" "vnd.shootproof+json" "vnd.shopkick+json" "vnd.shp" "vnd.shx" "vnd.sigrok.session" "vnd.SimTech-MindMapper" "vnd.siren+json" "vnd.smaf" "vnd.smart.notebook" "vnd.smart.teacher" "vnd.smintio.portals.archive" "vnd.snesdev-page-table" "vnd.software602.filler.form+xml" "vnd.software602.filler.form-xml-zip" "vnd.solent.sdkm+xml" "vnd.spotfire.dxp" "vnd.spotfire.sfs" "vnd.sqlite3" "vnd.sss-cod" "vnd.sss-dtf" "vnd.sss-ntf" "vnd.stepmania.package" "vnd.stepmania.stepchart" "vnd.street-stream" "vnd.sun.wadl+xml" "vnd.sus-calendar" "vnd.svd" "vnd.swiftview-ics" "vnd.sybyl.mol2" "vnd.sycle+xml" "vnd.syft+json" "vnd.syncml.dm.notification" "vnd.syncml.dmddf+xml" "vnd.syncml.dmtnds+wbxml" "vnd.syncml.dmtnds+xml" "vnd.syncml.dmddf+wbxml" "vnd.syncml.dm+wbxml" "vnd.syncml.dm+xml" "vnd.syncml.ds.notification" "vnd.syncml+xml" "vnd.tableschema+json" "vnd.tao.intent-module-archive" "vnd.tcpdump.pcap" "vnd.think-cell.ppttc+json" "vnd.tml" "vnd.tmd.mediaflex.api+xml" "vnd.tmobile-livetv" "vnd.tri.onesource" "vnd.trid.tpt" "vnd.triscape.mxs" "vnd.trueapp" "vnd.truedoc" "vnd.ubisoft.webplayer" "vnd.ufdl" "vnd.uiq.theme" "vnd.umajin" "vnd.unity" "vnd.uoml+xml" "vnd.uplanet.alert" "vnd.uplanet.alert-wbxml" "vnd.uplanet.bearer-choice" "vnd.uplanet.bearer-choice-wbxml" "vnd.uplanet.cacheop" "vnd.uplanet.cacheop-wbxml" "vnd.uplanet.channel" "vnd.uplanet.channel-wbxml" "vnd.uplanet.list" "vnd.uplanet.listcmd" "vnd.uplanet.listcmd-wbxml" "vnd.uplanet.list-wbxml" "vnd.uri-map" "vnd.uplanet.signal" "vnd.valve.source.material" "vnd.vcx" "vnd.vd-study" "vnd.vectorworks" "vnd.vel+json" "vnd.verimatrix.vcas" "vnd.veritone.aion+json" "vnd.veryant.thin" "vnd.ves.encrypted" "vnd.vidsoft.vidconference" "vnd.visio" "vnd.visionary" "vnd.vividence.scriptfile" "vnd.vsf" "vnd.wap.sic" "vnd.wap.slc" "vnd.wap.wbxml" "vnd.wap.wmlc" "vnd.wap.wmlscriptc" "vnd.wasmflow.wafl" "vnd.webturbo" "vnd.wfa.dpp" "vnd.wfa.p2p" "vnd.wfa.wsc" "vnd.windows.devicepairing" "vnd.wmc" "vnd.wmf.bootstrap" "vnd.wolfram.mathematica" "vnd.wolfram.mathematica.package" "vnd.wolfram.player" "vnd.wordlift" "vnd.wordperfect" "vnd.wqd" "vnd.wrq-hp3000-labelled" "vnd.wt.stf" "vnd.wv.csp+xml" "vnd.wv.csp+wbxml" "vnd.wv.ssp+xml" "vnd.xacml+json" "vnd.xara" "vnd.xfdl" "vnd.xfdl.webform" "vnd.xmi+xml" "vnd.xmpie.cpkg" "vnd.xmpie.dpkg" "vnd.xmpie.plan" "vnd.xmpie.ppkg" "vnd.xmpie.xlim" "vnd.yamaha.hv-dic" "vnd.yamaha.hv-script" "vnd.yamaha.hv-voice" "vnd.yamaha.openscoreformat.osfpvg+xml" "vnd.yamaha.openscoreformat" "vnd.yamaha.remote-setup" "vnd.yamaha.smaf-audio" "vnd.yamaha.smaf-phrase" "vnd.yamaha.through-ngn" "vnd.yamaha.tunnel-udpencap" "vnd.yaoweme" "vnd.yellowriver-custom-menu" "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" "vnd.zul" "vnd.zzazz.deck+xml" "voicexml+xml" "voucher-cms+json" "vq-rtcpxr" "wasm" "watcherinfo+xml" "webpush-options+json" "whoispp-query" "whoispp-response" "widget" "wita" "wordperfect5.1" "wsdl+xml" "wspolicy+xml" "x-pki-message" "x-www-form-urlencoded" "x-x509-ca-cert" "x-x509-ca-ra-cert" "x-x509-next-ca-cert" "x400-bp" "xacml+xml" "xcap-att+xml" "xcap-caps+xml" "xcap-diff+xml" "xcap-el+xml" "xcap-error+xml" "xcap-ns+xml" "xcon-conference-info-diff+xml" "xcon-conference-info+xml" "xenc+xml" "xfdf" "xhtml+xml" "xliff+xml" "xml-dtd" "xml-patch+xml" "xmpp+xml" "xop+xml" "xslt+xml" "xv+xml" "yaml" "yang" "yang-data+cbor" "yang-data+json" "yang-data+xml" "yang-patch+json" "yang-patch+xml" "yin+xml" "zip" "zlib" "zstd" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "format type" ; - sh:order 2 ; - sh:path gx:formatType ], - [ sh:description "Type of data support: digital, physical." ; - sh:in ( "digital" "physical" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "access type" ; - sh:order 1 ; - sh:path gx:accessType ], - [ sh:description "The mean to request data retrieval: API, email, webform, unregisteredLetter, registeredLetter, supportCenter." ; - sh:in ( "API" "email" "webform" "unregisteredLetter" "registeredLetter" "supportCenter" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "request type" ; - sh:order 0 ; - sh:path gx:requestType ] ; - sh:targetClass gx:DataAccountExport . - -gx:Endpoint a sh:NodeShape ; - sh:closed false ; - sh:description "An endpoint is a mean to access and interact with a service or a resource." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class gx:StandardConformity ; - sh:description "Provides information about applied standards." ; - sh:minCount 1 ; - sh:name "standard conformity" ; - sh:order 1 ; - sh:path gx:standardConformity ], - [ sh:datatype xsd:string ; - sh:description "The formal description (e.g. openAPI Description) of the endpoint." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:formalDescription ], - [ sh:datatype xsd:anyURI ; - sh:description "The URL of the endpoint where it can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint URL" ; - sh:order 0 ; - sh:path gx:endpointURL ] ; - sh:targetClass gx:Endpoint . - -gx:GPU a sh:NodeShape ; - sh:closed false ; - sh:description "Graphical processing unit of virtual and physical machines." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 6 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:description "Interconnection of multiple GPUs within a server system" ; - sh:in ( "NVLink" "RoCE2" "Xe Link" "Infinity Fabric" "other" "none" ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:gpuInterconnection ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path gx:vendor ], - [ sh:datatype xsd:integer ; - sh:description "Number of processing units, also called compute units, execution units or streaming multiprocessors, of the GPU." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "gpu processing units" ; - sh:order 2 ; - sh:path gx:gpuProcessingUnits ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 5 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 7 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:datatype xsd:boolean ; - sh:description "If true, GPU is provided via passthrough, otherwise GPU is virtualized." ; - sh:maxCount 1 ; - sh:name "GPU path through" ; - sh:order 3 ; - sh:path gx:gpuPassthrough ], - [ sh:class gx:MemorySize ; - sh:description "Size of memory of the GPU." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:gpuMemory ] ; - sh:targetClass gx:GPU . - -gx:InfrastructureServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational, storage and/pr network capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Infrastructure Service Offering" ; - sh:property [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ] ; - sh:targetClass gx:InfrastructureServiceOffering . - -gx:Memory a sh:NodeShape ; - sh:closed false ; - sh:description "Details with respect to properties and capabilities of RAM." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:boolean ; - sh:description "If true, encryption of memory at the hardware level is enabled. Default: False." ; - sh:maxCount 1 ; - sh:name "Hardware Encryption enabled" ; - sh:order 4 ; - sh:path gx:hardwareEncryption ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 7 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "Memory size of RAM." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "memory size" ; - sh:order 0 ; - sh:path gx:memorySize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path gx:vendor ], - [ sh:datatype xsd:boolean ; - sh:description "Error connection code allows to detect and correct bit errors in data. True, if error-correction-code is supported by the ram, false otherwise. Default \"False\"" ; - sh:maxCount 1 ; - sh:name "error correction code (ecc)" ; - sh:order 3 ; - sh:path gx:eccEnabled ], - [ sh:description "DRAM technology name defined by JEDEC" ; - sh:in ( "DDR4" "DDR5" "GDDR5" "GDDR6" "other" ) ; - sh:maxCount 1 ; - sh:name "memory class" ; - sh:order 1 ; - sh:path gx:memoryClass ], - [ sh:description "Rank defines the number of memory chip banks and the buffering used to access these." ; - sh:in ( "1R RDIMM" "2R RDIMM" "4R LRDIMM" "8R LRDIMM" "other" ) ; - sh:maxCount 1 ; - sh:name "memory rank" ; - sh:order 2 ; - sh:path gx:memoryRank ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 6 ; - sh:path gx:generation ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 8 ; - sh:path gx:supportedOversubscriptionRatio ] ; - sh:targetClass gx:Memory . - -gx:ServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Service Offering" ; - sh:property [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 4 ; - sh:path gx:servicePolicy ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 3 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 12 ; - sh:path gx:description ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 7 ; - sh:path gx:keyword ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 1 ; - sh:path gx:dependsOn ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 5 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 0 ; - sh:path gx:providedBy ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 2 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 11 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 9 ; - sh:path gx:endpoint ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 8 ; - sh:path gx:provisionType ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 10 ; - sh:path gx:hostedOn ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 6 ; - sh:path gx:dataAccountExport ] ; - sh:targetClass gx:ServiceOffering . - -gx:TermsAndConditions a sh:NodeShape ; - sh:closed false ; - sh:description "Terms and Conditions applying to a service offering." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "sha256 hash of the document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:hash ], - [ sh:datatype xsd:anyURI ; - sh:description "A resolvable link to document." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:url ] ; - sh:targetClass gx:TermsAndConditions . - -gx:VirtualMachineServiceOffering a sh:NodeShape ; - sh:closed false ; - sh:description "A digital service available for order and offering computational capabilities." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Machine Service Offering" ; - sh:property [ sh:description "A list of resolvable links to Gaia-X Credentials of resources related to the service and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:PhysicalResource ] [ sh:class gx:VirtualResource ] [ sh:class gx:SoftwareResource ] [ sh:class gx:OperatingSystem ] ) ; - sh:order 5 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Ome or more policies expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints, the policy should express a simple default: " ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:servicePolicy ], - [ sh:description "One or more data protection regimes applying to the service offering." ; - sh:in ( "GDPR2016" "LGPD2019" "PDPA2012" "CCPA2018" "VCDPA2021" ) ; - sh:name "data protection regime" ; - sh:order 8 ; - sh:path gx:dataProtectionRegime ], - [ sh:class gx:DataAccountExport ; - sh:description "One or more methods to export data out of the service." ; - sh:minCount 1 ; - sh:name "data account export" ; - sh:order 9 ; - sh:path gx:dataAccountExport ], - [ sh:description "List of Resource references where service is hosted and can be instantiated. Can refer to availabilty zones, data centers, regions, etc." ; - sh:name "hosted on" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 13 ; - sh:path gx:hostedOn ], - [ sh:class gx:VMImage ; - sh:description "Compute Service Code Artifacts" ; - sh:minCount 1 ; - sh:name "code artifact" ; - sh:order 0 ; - sh:path gx:codeArtifact ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 15 ; - sh:path gx:description ], - [ sh:description "A list of resolvable links to Gaia-X Credentials of service offerings related to the service and that can exist independently of it." ; - sh:name "depends on" ; - sh:or ( [ sh:class gx:ServiceOffering ] [ sh:class gx:InfrastructureServiceOffering ] [ sh:class gx:ComputeServiceOffering ] [ sh:class gx:VirtualMachineServiceOffering ] ) ; - sh:order 4 ; - sh:path gx:dependsOn ], - [ sh:description "Provision type of the service" ; - sh:in ( "private" "public" "hybrid" ) ; - sh:maxCount 1 ; - sh:name "provision type" ; - sh:order 11 ; - sh:path gx:provisionType ], - [ sh:class gx:TermsAndConditions ; - sh:description "One or more Terms and Conditions applying to that service." ; - sh:minCount 1 ; - sh:name "terms and conditions" ; - sh:order 6 ; - sh:path gx:serviceOfferingTermsAndConditions ], - [ sh:description "How compute resources of different tenants are separated. Default value = hw-virtualized." ; - sh:in ( "hw-virtualized" "sw-virtualized" "os-virtualized" "os-hw-virtualized" "hw-partitioned" "physical" ) ; - sh:maxCount 1 ; - sh:name "tenant separation" ; - sh:order 2 ; - sh:path gx:tenantSeparation ], - [ sh:class gx:ServerFlavor ; - sh:description "Set of technical requirements or conditions to instantiate this service offering." ; - sh:minCount 1 ; - sh:name "instantiation requirement" ; - sh:order 1 ; - sh:path gx:instantiationReq ], - [ sh:datatype xsd:string ; - sh:description "Keywords that describe / tag the service." ; - sh:order 10 ; - sh:path gx:keyword ], - [ sh:class gx:LegalPerson ; - sh:description "A resolvable link to Gaia-X Credential of the participant providing the service." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "provided by" ; - sh:order 3 ; - sh:path gx:providedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 14 ; - sh:path gx:name ], - [ sh:class gx:Endpoint ; - sh:description "Endpoint through which the Service Offering can be accessed." ; - sh:maxCount 1 ; - sh:name "endpoint" ; - sh:order 12 ; - sh:path gx:endpoint ] ; - sh:targetClass gx:VirtualMachineServiceOffering . - -gx:Disk a sh:NodeShape ; - sh:closed false ; - sh:description "Capabilities of a physical or virtual hard drive." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Default over-subscription ratio defines the amount of default over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "default over-subscription ratio" ; - sh:order 5 ; - sh:path gx:defaultOversubscriptionRatio ], - [ sh:class gx:MemorySize ; - sh:description "The size of the hard drive." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Disk size" ; - sh:order 0 ; - sh:path gx:diskSize ], - [ sh:datatype xsd:string ; - sh:description "Vendor of the device." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:vendor ], - [ sh:datatype xsd:string ; - sh:description "Type of disk controller the disk is attached to." ; - sh:maxCount 1 ; - sh:name "Disk Bus Type" ; - sh:order 2 ; - sh:path gx:diskBusType ], - [ sh:datatype xsd:integer ; - sh:description "Over-subscription means assigning more capacity to virtual machines that the physical device has. Supported over-subscription ratio defines the amount of supported over-subscription as a value larger or equal to 1.0. 1.0 means no over-subscription." ; - sh:maxCount 1 ; - sh:minInclusive 1 ; - sh:name "supported over-subscription ratio" ; - sh:order 6 ; - sh:path gx:supportedOversubscriptionRatio ], - [ sh:description "The type of storage drive." ; - sh:in ( "local SSD" "local HDD" "shared network storage" "high-perf NVMe" "other" ) ; - sh:maxCount 1 ; - sh:name "Disk Type" ; - sh:order 1 ; - sh:path gx:diskType ], - [ sh:datatype xsd:string ; - sh:description "Vendor specific generation of the device." ; - sh:maxCount 1 ; - sh:name "Generation of the device" ; - sh:order 4 ; - sh:path gx:generation ] ; - sh:targetClass gx:Disk . - -gx:SoftwareResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Gaia-X Virtual Resource describing an executable program." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Software Resource" ; - sh:property [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 6 ; - sh:path gx:license ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 9 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 7 ; - sh:path gx:resourcePolicy ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 10 ; - sh:path gx:description ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 8 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 3 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path gx:checksum ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 5 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 4 ; - sh:path gx:buildDate ] ; - sh:targetClass gx:SoftwareResource . - -gx:OperatingSystem a sh:NodeShape ; - sh:closed false ; - sh:description "A special Gaia-X Software Resource describing an operating system." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Operation System" ; - sh:property [ sh:datatype xsd:dateTime ; - sh:description "Date and time the software was build, formated according to ISO 8601 (UTC - 24 hours)." ; - sh:maxCount 1 ; - sh:name "Build Date" ; - sh:order 5 ; - sh:path gx:buildDate ], - [ sh:class gx:Signature ; - sh:description "Details with respect to signature of the software." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path gx:signature ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 8 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 6 ; - sh:path gx:copyrightOwnedBy ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 7 ; - sh:path gx:license ], - [ sh:description "The common name of the distribution of the operating system as defined in http://libosinfo.org/." ; - sh:in ( "Alpine Linux" "Arch Linux" "CentOS Linux" "Debian" "Fedora" "FreeBSD" "Gentoo Linux" "Mandrakelinux" "Mandriva Linux" "Mandriva Enterprise Server" "MS-DOS" "NetBSD" "Novell NetWare" "OpenBSD" "OpenSolaris" "openSUSE" "Rocky Linux" "Red Hat Enterprise Linux" "SUSE Linux Enterprise Desktop" "Ubuntu" "Microsoft Windows" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "Operation System Distribution" ; - sh:order 0 ; - sh:path gx:osDistribution ], - [ sh:datatype xsd:string ; - sh:description "Software specific patch number describing patch level of the software." ; - sh:maxCount 1 ; - sh:name "Patch level" ; - sh:order 4 ; - sh:path gx:patchLevel ], - [ sh:class gx:CheckSum ; - sh:description "Details on checksum of the software." ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path gx:checksum ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 9 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "Version of the software." ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path gx:version ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 10 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 11 ; - sh:path gx:description ] ; - sh:targetClass gx:OperatingSystem . - -gx:Signature a sh:NodeShape ; - sh:closed false ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "Value of the signature" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:signatureValue ], - [ sh:description "Defines the algorithm used to calculate or verify the signature." ; - sh:in ( "RSA-Signature" "ECDSA" "DSA" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:signatureAlgorithm ] ; - sh:targetClass gx:Signature . - -gx:CheckSum a sh:NodeShape ; - sh:closed false ; - sh:description "Detail on how to calculate or verify a checksum." ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Algorithm used to create checksum." ; - sh:in ( "md5" "sha-1" "ripemd-160" "sha-3" "blake2" "blake3" "other" ) ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path gx:checkSumCalculation ], - [ sh:datatype xsd:string ; - sh:description "Value of the check sum." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path gx:checkSumValue ] ; - sh:targetClass gx:CheckSum . - -gx:MemorySize a sh:NodeShape ; - sh:closed false ; - sh:description "The number of bits, that can be stored on a digital storage." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Memory size" ; - sh:property [ sh:datatype xsd:float ; - sh:description "Value of physical quantity. See https://qudt.org/schema/qudt/value" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:minInclusive 0 ; - sh:order 0 ; - sh:path ], - [ sh:datatype xsd:string ; - sh:description "Unit of physical quantity. See https://qudt.org/schema/qudt/Unit" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path ] ; - sh:targetClass gx:MemorySize . - -gx:LegalPerson a sh:NodeShape ; - sh:closed false ; - sh:description "A legal person, who is uniquely identified by its registration number." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Legal Person" ; - sh:property [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class ; - sh:description "The full legal address of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:name "legal address" ; - sh:order 1 ; - sh:path gx:legalAddress ], - [ sh:class ; - sh:description "Full physical location of the headquarter of the organization." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:headquartersAddress ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants with a legal mandate on this entity, e.g., as a subsidiary." ; - sh:order 4 ; - sh:path gx:subOrganisationOf ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants that this entity is a subOrganization of, if any." ; - sh:order 3 ; - sh:path gx:parentOrganizationOf ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:description "Country's registration number, which identifies one specific entity. Valid formats are local, EUID, EORI, vatID, leiCode." ; - sh:minCount 1 ; - sh:name "registration number" ; - sh:or ( [ sh:class gx:LocalRegistrationNumber ] [ sh:class gx:VatID ] [ sh:class gx:LeiCode ] [ sh:class gx:EORI ] [ sh:class gx:EUID ] ) ; - sh:order 0 ; - sh:path gx:registrationNumber ] ; - sh:targetClass gx:LegalPerson . - -gx:PhysicalResource a sh:NodeShape ; - sh:closed false ; - sh:description "A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Physical Resource" ; - sh:property [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant manufacturing the resource." ; - sh:name "manufactured by" ; - sh:order 2 ; - sh:path gx:manufacturedBy ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 6 ; - sh:path gx:description ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participant owning the resource." ; - sh:name "owned by" ; - sh:order 1 ; - sh:path gx:ownedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 5 ; - sh:path gx:name ], - [ sh:class gx:LegalPerson ; - sh:description "A list of resolvable links to Gaia-X Credentials of participants maintaining the resource in operational condition and thus having physical access to it." ; - sh:minCount 1 ; - sh:name "maintained by" ; - sh:order 0 ; - sh:path gx:maintainedBy ], - [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 4 ; - sh:path gx:aggregationOfResources ], - [ sh:class ; - sh:description "A list of physical locations." ; - sh:minCount 1 ; - sh:order 3 ; - sh:path gx:location ] ; - sh:targetClass gx:PhysicalResource . - -gx:VirtualResource a sh:NodeShape ; - sh:closed false ; - sh:description "It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc." ; - sh:ignoredProperties ( rdf:type ) ; - sh:name "Virtual Resource" ; - sh:property [ sh:description "A resolvable link of resources related to the resource and that can exist independently of it." ; - sh:name "aggregation of" ; - sh:or ( [ sh:class gx:VirtualResource ] [ sh:class gx:PhysicalResource ] ) ; - sh:order 3 ; - sh:path gx:aggregationOfResources ], - [ sh:datatype xsd:string ; - sh:description "A list of policy expressed using a DSL (e.g., Rego or ODRL) (access control, throttling, usage, retention, ...). If there is no specified usage policy constraints on the VirtualResource, the policy should express a simple default: allow intent" ; - sh:minCount 1 ; - sh:order 2 ; - sh:path gx:resourcePolicy ], - [ sh:description "A list of copyright owners either as a free form string or as resolvable link to Gaia-X Credential of participants. A copyright owner is a person or organization that has the right to exploit the resource. Copyright owner does not necessarily refer to the author of the resource, who is a natural person and may differ from copyright owner." ; - sh:minCount 1 ; - sh:name "copyright owned by" ; - sh:or ( [ sh:class gx:LegalPerson ] [ sh:datatype xsd:string ] ) ; - sh:order 0 ; - sh:path gx:copyrightOwnedBy ], - [ sh:datatype xsd:string ; - sh:description "A human readable name of the entity." ; - sh:maxCount 1 ; - sh:name "name" ; - sh:order 4 ; - sh:path gx:name ], - [ sh:datatype xsd:string ; - sh:description "A free text description of the entity." ; - sh:maxCount 1 ; - sh:name "description" ; - sh:order 5 ; - sh:path gx:description ], - [ sh:description "A list of SPDX identifiers or URL to document." ; - sh:minCount 1 ; - sh:or ( [ sh:in ( "0BSD" "AAL" "Abstyles" "AdaCore-doc" "Adobe-2006" "Adobe-Glyph" "ADSL" "AFL-1.1" "AFL-1.2" "AFL-2.0" "AFL-2.1" "AFL-3.0" "Afmparse" "AGPL-1.0-only" "AGPL-1.0-or-later" "AGPL-3.0-only" "AGPL-3.0-or-later" "Aladdin" "AMDPLPA" "AML" "AMPAS" "ANTLR-PD" "ANTLR-PD-fallback" "Apache-1.0" "Apache-1.1" "Apache-2.0" "APAFML" "APL-1.0" "App-s2p" "APSL-1.0" "APSL-1.1" "APSL-1.2" "APSL-2.0" "Arphic-1999" "Artistic-1.0" "Artistic-1.0-cl8" "Artistic-1.0-Perl" "Artistic-2.0" "ASWF-Digital-Assets-1.0" "ASWF-Digital-Assets-1.1" "Baekmuk" "Bahyph" "Barr" "Beerware" "Bitstream-Charter" "Bitstream-Vera" "BitTorrent-1.0" "BitTorrent-1.1" "blessing" "BlueOak-1.0.0" "Boehm-GC" "Borceux" "Brian-Gladman-3-Clause" "BSD-1-Clause" "BSD-2-Clause" "BSD-2-Clause-Patent" "BSD-2-Clause-Views" "BSD-3-Clause" "BSD-3-Clause-Attribution" "BSD-3-Clause-Clear" "BSD-3-Clause-LBNL" "BSD-3-Clause-Modification" "BSD-3-Clause-No-Military-License" "BSD-3-Clause-No-Nuclear-License" "BSD-3-Clause-No-Nuclear-License-2014" "BSD-3-Clause-No-Nuclear-Warranty" "BSD-3-Clause-Open-MPI" "BSD-4-Clause" "BSD-4-Clause-Shortened" "BSD-4-Clause-UC" "BSD-4.3RENO" "BSD-4.3TAHOE" "BSD-Advertising-Acknowledgement" "BSD-Attribution-HPND-disclaimer" "BSD-Protection" "BSD-Source-Code" "BSL-1.0" "BUSL-1.1" "bzip2-1.0.6" "C-UDA-1.0" "CAL-1.0" "CAL-1.0-Combined-Work-Exception" "Caldera" "CATOSL-1.1" "CC-BY-1.0" "CC-BY-2.0" "CC-BY-2.5" "CC-BY-2.5-AU" "CC-BY-3.0" "CC-BY-3.0-AT" "CC-BY-3.0-DE" "CC-BY-3.0-IGO" "CC-BY-3.0-NL" "CC-BY-3.0-US" "CC-BY-4.0" "CC-BY-NC-1.0" "CC-BY-NC-2.0" "CC-BY-NC-2.5" "CC-BY-NC-3.0" "CC-BY-NC-3.0-DE" "CC-BY-NC-4.0" "CC-BY-NC-ND-1.0" "CC-BY-NC-ND-2.0" "CC-BY-NC-ND-2.5" "CC-BY-NC-ND-3.0" "CC-BY-NC-ND-3.0-DE" "CC-BY-NC-ND-3.0-IGO" "CC-BY-NC-ND-4.0" "CC-BY-NC-SA-1.0" "CC-BY-NC-SA-2.0" "CC-BY-NC-SA-2.0-DE" "CC-BY-NC-SA-2.0-FR" "CC-BY-NC-SA-2.0-UK" "CC-BY-NC-SA-2.5" "CC-BY-NC-SA-3.0" "CC-BY-NC-SA-3.0-DE" "CC-BY-NC-SA-3.0-IGO" "CC-BY-NC-SA-4.0" "CC-BY-ND-1.0" "CC-BY-ND-2.0" "CC-BY-ND-2.5" "CC-BY-ND-3.0" "CC-BY-ND-3.0-DE" "CC-BY-ND-4.0" "CC-BY-SA-1.0" "CC-BY-SA-2.0" "CC-BY-SA-2.0-UK" "CC-BY-SA-2.1-JP" "CC-BY-SA-2.5" "CC-BY-SA-3.0" "CC-BY-SA-3.0-AT" "CC-BY-SA-3.0-DE" "CC-BY-SA-3.0-IGO" "CC-BY-SA-4.0" "CC-PDDC" "CC0-1.0" "CDDL-1.0" "CDDL-1.1" "CDL-1.0" "CDLA-Permissive-1.0" "CDLA-Permissive-2.0" "CDLA-Sharing-1.0" "CECILL-1.0" "CECILL-1.1" "CECILL-2.0" "CECILL-2.1" "CECILL-B" "CECILL-C" "CERN-OHL-1.1" "CERN-OHL-1.2" "CERN-OHL-P-2.0" "CERN-OHL-S-2.0" "CERN-OHL-W-2.0" "CFITSIO" "checkmk" "ClArtistic" "Clips" "CMU-Mach" "CNRI-Jython" "CNRI-Python" "CNRI-Python-GPL-Compatible" "COIL-1.0" "Community-Spec-1.0" "Condor-1.1" "copyleft-next-0.3.0" "copyleft-next-0.3.1" "Cornell-Lossless-JPEG" "CPAL-1.0" "CPL-1.0" "CPOL-1.02" "Crossword" "CrystalStacker" "CUA-OPL-1.0" "Cube" "curl" "D-FSL-1.0" "diffmark" "DL-DE-BY-2.0" "DOC" "Dotseqn" "DRL-1.0" "DSDP" "dtoa" "dvipdfm" "ECL-1.0" "ECL-2.0" "EFL-1.0" "EFL-2.0" "eGenix" "Elastic-2.0" "Entessa" "EPICS" "EPL-1.0" "EPL-2.0" "ErlPL-1.1" "etalab-2.0" "EUDatagrid" "EUPL-1.0" "EUPL-1.1" "EUPL-1.2" "Eurosym" "Fair" "FDK-AAC" "Frameworx-1.0" "FreeBSD-DOC" "FreeImage" "FSFAP" "FSFUL" "FSFULLR" "FSFULLRWD" "FTL" "GD" "GFDL-1.1-invariants-only" "GFDL-1.1-invariants-or-later" "GFDL-1.1-no-invariants-only" "GFDL-1.1-no-invariants-or-later" "GFDL-1.1-only" "GFDL-1.1-or-later" "GFDL-1.2-invariants-only" "GFDL-1.2-invariants-or-later" "GFDL-1.2-no-invariants-only" "GFDL-1.2-no-invariants-or-later" "GFDL-1.2-only" "GFDL-1.2-or-later" "GFDL-1.3-invariants-only" "GFDL-1.3-invariants-or-later" "GFDL-1.3-no-invariants-only" "GFDL-1.3-no-invariants-or-later" "GFDL-1.3-only" "GFDL-1.3-or-later" "Giftware" "GL2PS" "Glide" "Glulxe" "GLWTPL" "gnuplot" "GPL-1.0-only" "GPL-1.0-or-later" "GPL-2.0-only" "GPL-2.0-or-later" "GPL-3.0-only" "GPL-3.0-or-later" "Graphics-Gems" "gSOAP-1.3b" "HaskellReport" "Hippocratic-2.1" "HP-1986" "HPND" "HPND-export-US" "HPND-Markus-Kuhn" "HPND-sell-variant" "HPND-sell-variant-MIT-disclaimer" "HTMLTIDY" "IBM-pibs" "ICU" "IEC-Code-Components-EULA" "IJG" "IJG-short" "ImageMagick" "iMatix" "Imlib2" "Info-ZIP" "Inner-Net-2.0" "Intel" "Intel-ACPI" "Interbase-1.0" "IPA" "IPL-1.0" "ISC" "Jam" "JasPer-2.0" "JPL-image" "JPNIC" "JSON" "Kazlib" "Knuth-CTAN" "LAL-1.2" "LAL-1.3" "Latex2e" "Latex2e-translated-notice" "Leptonica" "LGPL-2.0-only" "LGPL-2.0-or-later" "LGPL-2.1-only" "LGPL-2.1-or-later" "LGPL-3.0-only" "LGPL-3.0-or-later" "LGPLLR" "Libpng" "libpng-2.0" "libselinux-1.0" "libtiff" "libutil-David-Nugent" "LiLiQ-P-1.1" "LiLiQ-R-1.1" "LiLiQ-Rplus-1.1" "Linux-man-pages-1-para" "Linux-man-pages-copyleft" "Linux-man-pages-copyleft-2-para" "Linux-man-pages-copyleft-var" "Linux-OpenIB" "LOOP" "LPL-1.0" "LPL-1.02" "LPPL-1.0" "LPPL-1.1" "LPPL-1.2" "LPPL-1.3a" "LPPL-1.3c" "LZMA-SDK-9.11-to-9.20" "LZMA-SDK-9.22" "MakeIndex" "Martin-Birgmeier" "metamail" "Minpack" "MirOS" "MIT" "MIT-0" "MIT-advertising" "MIT-CMU" "MIT-enna" "MIT-feh" "MIT-Festival" "MIT-Modern-Variant" "MIT-open-group" "MIT-Wu" "MITNFA" "Motosoto" "mpi-permissive" "mpich2" "MPL-1.0" "MPL-1.1" "MPL-2.0" "MPL-2.0-no-copyleft-exception" "mplus" "MS-LPL" "MS-PL" "MS-RL" "MTLL" "MulanPSL-1.0" "MulanPSL-2.0" "Multics" "Mup" "NAIST-2003" "NASA-1.3" "Naumen" "NBPL-1.0" "NCGL-UK-2.0" "NCSA" "Net-SNMP" "NetCDF" "Newsletr" "NGPL" "NICTA-1.0" "NIST-PD" "NIST-PD-fallback" "NIST-Software" "NLOD-1.0" "NLOD-2.0" "NLPL" "Nokia" "NOSL" "Noweb" "NPL-1.0" "NPL-1.1" "NPOSL-3.0" "NRL" "NTP" "NTP-0" "O-UDA-1.0" "OCCT-PL" "OCLC-2.0" "ODbL-1.0" "ODC-By-1.0" "OFFIS" "OFL-1.0" "OFL-1.0-no-RFN" "OFL-1.0-RFN" "OFL-1.1" "OFL-1.1-no-RFN" "OFL-1.1-RFN" "OGC-1.0" "OGDL-Taiwan-1.0" "OGL-Canada-2.0" "OGL-UK-1.0" "OGL-UK-2.0" "OGL-UK-3.0" "OGTSL" "OLDAP-1.1" "OLDAP-1.2" "OLDAP-1.3" "OLDAP-1.4" "OLDAP-2.0" "OLDAP-2.0.1" "OLDAP-2.1" "OLDAP-2.2" "OLDAP-2.2.1" "OLDAP-2.2.2" "OLDAP-2.3" "OLDAP-2.4" "OLDAP-2.5" "OLDAP-2.6" "OLDAP-2.7" "OLDAP-2.8" "OLFL-1.3" "OML" "OpenPBS-2.3" "OpenSSL" "OPL-1.0" "OPL-UK-3.0" "OPUBL-1.0" "OSET-PL-2.1" "OSL-1.0" "OSL-1.1" "OSL-2.0" "OSL-2.1" "OSL-3.0" "Parity-6.0.0" "Parity-7.0.0" "PDDL-1.0" "PHP-3.0" "PHP-3.01" "Plexus" "PolyForm-Noncommercial-1.0.0" "PolyForm-Small-Business-1.0.0" "PostgreSQL" "PSF-2.0" "psfrag" "psutils" "Python-2.0" "Python-2.0.1" "Qhull" "QPL-1.0" "QPL-1.0-INRIA-2004" "Rdisc" "RHeCos-1.1" "RPL-1.1" "RPL-1.5" "RPSL-1.0" "RSA-MD" "RSCPL" "Ruby" "SAX-PD" "Saxpath" "SCEA" "SchemeReport" "Sendmail" "Sendmail-8.23" "SGI-B-1.0" "SGI-B-1.1" "SGI-B-2.0" "SGP4" "SHL-0.5" "SHL-0.51" "SimPL-2.0" "SISSL" "SISSL-1.2" "Sleepycat" "SMLNJ" "SMPPL" "SNIA" "snprintf" "Spencer-86" "Spencer-94" "Spencer-99" "SPL-1.0" "SSH-OpenSSH" "SSH-short" "SSPL-1.0" "SugarCRM-1.1.3" "SunPro" "SWL" "Symlinks" "TAPR-OHL-1.0" "TCL" "TCP-wrappers" "TermReadKey" "TMate" "TORQUE-1.1" "TOSL" "TPDL" "TPL-1.0" "TTWL" "TU-Berlin-1.0" "TU-Berlin-2.0" "UCAR" "UCL-1.0" "Unicode-DFS-2015" "Unicode-DFS-2016" "Unicode-TOU" "UnixCrypt" "Unlicense" "UPL-1.0" "Vim" "VOSTROM" "VSL-1.0" "W3C" "W3C-19980720" "W3C-20150513" "w3m" "Watcom-1.0" "Widget-Workshop" "Wsuipa" "WTFPL" "X11" "X11-distribute-modifications-variant" "Xdebug-1.03" "Xerox" "Xfig" "XFree86-1.1" "xinetd" "xlock" "Xnet" "xpp" "XSkat" "YPL-1.0" "YPL-1.1" "Zed" "Zend-2.0" "Zimbra-1.3" "Zimbra-1.4" "Zlib" "zlib-acknowledgement" "ZPL-1.1" "ZPL-2.0" "ZPL-2.1" ) ] [ sh:datatype xsd:anyURI ] ) ; - sh:order 1 ; - sh:path gx:license ] ; - sh:targetClass gx:VirtualResource . - From b3343231572f56570c35ac0c98665401dcfe175a Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 3 Jan 2024 13:55:06 +0100 Subject: [PATCH 158/175] Add JSON-LD serialization Signed-off-by: Anja Strunk --- generator/cli.py | 3 + generator/common/gx_schema.py | 110 +- generator/common/gx_schema_org.py | 9224 +++++++++++++++++ generator/common/json_ld.py | 140 + .../discovery/openstack/opentack_discovery.py | 10 +- .../openstack/vm_images_discovery.py | 34 +- test.py | 0 7 files changed, 9467 insertions(+), 54 deletions(-) create mode 100644 generator/common/gx_schema_org.py create mode 100644 test.py diff --git a/generator/cli.py b/generator/cli.py index e691f57..0244287 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -5,6 +5,8 @@ from generator.discovery.openstack.opentack_discovery import OsCloud +import json +import generator.common.json_ld as json_ld @click.group() def cli(): @@ -33,6 +35,7 @@ def openstack(cloud, timeout, config): with open(config, "r") as config_file: os_cloud = OsCloud(conn, yaml.safe_load(config_file)) props = os_cloud.discover_properties() + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 99d6757..d64bb65 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 +# Generation date: 2023-12-28T18:05:45 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -90,7 +90,7 @@ class Address(YAMLRoot): class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: str = None + countryCode: Union[CountryNameAlpha2, str] = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -128,8 +128,8 @@ class GPSLocation(YAMLRoot): class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: str = None - longitude: str = None + latitude: Union[GPSUnit, dict] = None + longitude: Union[GPSUnit, dict] = None altitude: Optional[str] = None crs: Optional[str] = None @@ -281,6 +281,7 @@ class Signature(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Signature signature: str = None + hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -289,6 +290,11 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.signature, str): self.signature = str(self.signature) + if self._is_empty(self.hashAlgorithm): + self.MissingRequiredField("hashAlgorithm") + if not isinstance(self.hashAlgorithm, ChecksumAlgorithm): + self.hashAlgorithm = ChecksumAlgorithm(self.hashAlgorithm) + if self._is_empty(self.signatureAlgorithm): self.MissingRequiredField("signatureAlgorithm") if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): @@ -525,8 +531,8 @@ class UpdateStrategy(YAMLRoot): replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None + oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None + providedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -850,7 +856,7 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -897,7 +903,7 @@ class Resource(GaiaXEntity): class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -920,8 +926,8 @@ class VirtualResource(Resource): class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -998,8 +1004,8 @@ class SoftwareResource(VirtualResource): class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1038,8 +1044,8 @@ class CodeArtifact(SoftwareResource): class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1055,8 +1061,8 @@ class Image(CodeArtifact): class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1131,8 +1137,8 @@ class PXEImage(Image): class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1155,8 +1161,8 @@ class OperatingSystem(SoftwareResource): class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1181,8 +1187,8 @@ class Hypervisor(SoftwareResource): class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1211,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() + hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1450,8 +1456,8 @@ class DataResource(VirtualResource): class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1561,8 +1567,8 @@ class VMImage(Image): class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None + copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None + license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -4262,9 +4268,21 @@ def _addvals(cls): PermissibleValue( text="sha-1", description="TBD")) - setattr(cls, "sha-2", + setattr(cls, "sha-224", + PermissibleValue( + text="sha-224", + description="TBD")) + setattr(cls, "sha-256", + PermissibleValue( + text="sha-256", + description="TBD")) + setattr(cls, "sha-512", PermissibleValue( - text="sha-2", + text="sha-512", + description="TBD")) + setattr(cls, "sha-384", + PermissibleValue( + text="sha-384", description="TBD")) setattr(cls, "sha-3", PermissibleValue( @@ -8778,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) + model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8793,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) + model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) + model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8865,6 +8883,9 @@ class slots: slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), + model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) + slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) @@ -8968,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9028,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9076,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9103,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9220,4 +9241,7 @@ class slots: model_uri=GX.confidentialComputing__technology, domain=None, range=str) slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + +Process finished with exit code 0 + diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py new file mode 100644 index 0000000..7821417 --- /dev/null +++ b/generator/common/gx_schema_org.py @@ -0,0 +1,9224 @@ +# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 +# Generation date: 2023-12-20T13:27:56 +# Schema: gaia-x +# +# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x +# description: +# license: https://creativecommons.org/publicdomain/zero/1.0/ + +import dataclasses +import re +from jsonasobj2 import JsonObj, as_dict +from typing import Optional, List, Union, Dict, ClassVar, Any +from dataclasses import dataclass +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions + +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs +from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from rdflib import Namespace, URIRef +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime + +metamodel_version = "1.7.0" +version = None + +# Overwrite dataclasses _init_fn to add **kwargs in __init__ +dataclasses._init_fn = dataclasses_init_fn_with_kwargs + +# Namespaces +GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') +LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') +QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') +SCHEMA = CurieNamespace('schema', 'http://schema.org/') +VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +DEFAULT_ = GX + + +# Types + +# Class references +class LocalRegistrationNumberLocal(extended_str): + pass + + +class VatIDVatID(extended_str): + pass + + +class LeiCodeLeiCode(extended_str): + pass + + +class EORIEori(extended_str): + pass + + +class EUIDEuid(extended_str): + pass + + +class LegalPersonRegistrationNumber(extended_str): + pass + + +class GaiaX(YAMLRoot): + """ + Top level element of Gaia-X ecosystem. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_curie: ClassVar[str] = "gx:GaiaX" + class_name: ClassVar[str] = "GaiaX" + class_model_uri: ClassVar[URIRef] = GX.GaiaX + + + +@dataclass +class Address(YAMLRoot): + """ + Full address of the entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_curie: ClassVar[str] = "vcard:Address" + class_name: ClassVar[str] = "Address" + class_model_uri: ClassVar[URIRef] = GX.Address + + countryCode: str = None + gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + streetAddress: Optional[str] = None + postalCode: Optional[str] = None + locality: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.countryCode): + self.MissingRequiredField("countryCode") + if not isinstance(self.countryCode, str): + self.countryCode = str(self.countryCode) + + self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + + if self.streetAddress is not None and not isinstance(self.streetAddress, str): + self.streetAddress = str(self.streetAddress) + + if self.postalCode is not None and not isinstance(self.postalCode, str): + self.postalCode = str(self.postalCode) + + if self.locality is not None and not isinstance(self.locality, str): + self.locality = str(self.locality) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSLocation(YAMLRoot): + """ + Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_curie: ClassVar[str] = "gx:GPSLocation" + class_name: ClassVar[str] = "GPSLocation" + class_model_uri: ClassVar[URIRef] = GX.GPSLocation + + latitude: str = None + longitude: str = None + altitude: Optional[str] = None + crs: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.latitude): + self.MissingRequiredField("latitude") + if not isinstance(self.latitude, str): + self.latitude = str(self.latitude) + + if self._is_empty(self.longitude): + self.MissingRequiredField("longitude") + if not isinstance(self.longitude, str): + self.longitude = str(self.longitude) + + if self.altitude is not None and not isinstance(self.altitude, str): + self.altitude = str(self.altitude) + + if self.crs is not None and not isinstance(self.crs, str): + self.crs = str(self.crs) + + super().__post_init__(**kwargs) + + +@dataclass +class GPSUnit(YAMLRoot): + """ + Definition of a geographical point. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_curie: ClassVar[str] = "gx:GPSUnit" + class_name: ClassVar[str] = "GPSUnit" + class_model_uri: ClassVar[URIRef] = GX.GPSUnit + + degrees: int = None + minutes: Optional[int] = None + seconds: Optional[int] = None + decimals: Optional[float] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.degrees): + self.MissingRequiredField("degrees") + if not isinstance(self.degrees, int): + self.degrees = int(self.degrees) + + if self.minutes is not None and not isinstance(self.minutes, int): + self.minutes = int(self.minutes) + + if self.seconds is not None and not isinstance(self.seconds, int): + self.seconds = int(self.seconds) + + if self.decimals is not None and not isinstance(self.decimals, float): + self.decimals = float(self.decimals) + + super().__post_init__(**kwargs) + + +@dataclass +class GaiaXEntity(YAMLRoot): + """ + Root class for Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_curie: ClassVar[str] = "gx:GaiaXEntity" + class_name: ClassVar[str] = "GaiaXEntity" + class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity + + name: Optional[str] = None + description: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.name is not None and not isinstance(self.name, str): + self.name = str(self.name) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + super().__post_init__(**kwargs) + + +@dataclass +class Encryption(YAMLRoot): + """ + Encryption capabilities of a Gaia-X entity. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_curie: ClassVar[str] = "gx:Encryption" + class_name: ClassVar[str] = "Encryption" + class_model_uri: ClassVar[URIRef] = GX.Encryption + + cipher: Union[str, "EncryptionAlgorithm"] = None + keyManagement: Union[str, "KeyManagement"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cipher): + self.MissingRequiredField("cipher") + if not isinstance(self.cipher, EncryptionAlgorithm): + self.cipher = EncryptionAlgorithm(self.cipher) + + if self._is_empty(self.keyManagement): + self.MissingRequiredField("keyManagement") + if not isinstance(self.keyManagement, KeyManagement): + self.keyManagement = KeyManagement(self.keyManagement) + + super().__post_init__(**kwargs) + + +@dataclass +class CheckSum(YAMLRoot): + """ + Detail on how to calculate or verify a checksum. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_curie: ClassVar[str] = "gx:CheckSum" + class_name: ClassVar[str] = "CheckSum" + class_model_uri: ClassVar[URIRef] = GX.CheckSum + + checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None + checkSum: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.checkSumCalculation): + self.MissingRequiredField("checkSumCalculation") + if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): + self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) + + if self._is_empty(self.checkSum): + self.MissingRequiredField("checkSum") + if not isinstance(self.checkSum, str): + self.checkSum = str(self.checkSum) + + super().__post_init__(**kwargs) + + +@dataclass +class Signature(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_curie: ClassVar[str] = "gx:Signature" + class_name: ClassVar[str] = "Signature" + class_model_uri: ClassVar[URIRef] = GX.Signature + + signature: str = None + signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.signature): + self.MissingRequiredField("signature") + if not isinstance(self.signature, str): + self.signature = str(self.signature) + + if self._is_empty(self.signatureAlgorithm): + self.MissingRequiredField("signatureAlgorithm") + if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): + self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) + + super().__post_init__(**kwargs) + + +@dataclass +class Device(YAMLRoot): + """ + Details with respect to properties and capabilities of a hardware or virtualized device. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Device + class_class_curie: ClassVar[str] = "gx:Device" + class_name: ClassVar[str] = "Device" + class_model_uri: ClassVar[URIRef] = GX.Device + + vendor: Optional[str] = None + generation: Optional[str] = None + defaultOversubscriptionRatio: Optional[int] = None + supportedOversubscriptionRatio: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vendor is not None and not isinstance(self.vendor, str): + self.vendor = str(self.vendor) + + if self.generation is not None and not isinstance(self.generation, str): + self.generation = str(self.generation) + + if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) + + if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): + self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + + super().__post_init__(**kwargs) + + +@dataclass +class CPU(Device): + """ + Computational processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_curie: ClassVar[str] = "gx:CPU" + class_name: ClassVar[str] = "CPU" + class_model_uri: ClassVar[URIRef] = GX.CPU + + cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" + cpuFlag: Optional[Union[str, List[str]]] = empty_list() + smtEnabled: Optional[Union[bool, Bool]] = False + numberOfCores: Optional[int] = None + numberOfThreads: Optional[int] = None + baseFrequency: Optional[Union[dict, "Frequency"]] = None + boostFrequency: Optional[Union[dict, "Frequency"]] = None + lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None + thermalDesignPower: Optional[Union[dict, "Power"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + self.cpuArchitecture = Architectures(self.cpuArchitecture) + + if not isinstance(self.cpuFlag, list): + self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] + self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] + + if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): + self.smtEnabled = Bool(self.smtEnabled) + + if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): + self.numberOfCores = int(self.numberOfCores) + + if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + self.numberOfThreads = int(self.numberOfThreads) + + if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) + + if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) + + if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) + + if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) + + super().__post_init__(**kwargs) + + +@dataclass +class Disk(Device): + """ + Capabilities of a physical or virtual hard drive. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_curie: ClassVar[str] = "gx:Disk" + class_name: ClassVar[str] = "Disk" + class_model_uri: ClassVar[URIRef] = GX.Disk + + diskSize: Union[dict, "MemorySize"] = None + diskType: Optional[Union[str, "DiskTypes"]] = "other" + diskBusType: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.diskSize): + self.MissingRequiredField("diskSize") + if not isinstance(self.diskSize, MemorySize): + self.diskSize = MemorySize(**as_dict(self.diskSize)) + + if self.diskType is not None and not isinstance(self.diskType, DiskTypes): + self.diskType = DiskTypes(self.diskType) + + if self.diskBusType is not None and not isinstance(self.diskBusType, str): + self.diskBusType = str(self.diskBusType) + + super().__post_init__(**kwargs) + + +@dataclass +class Endpoint(YAMLRoot): + """ + An endpoint is a mean to access and interact with a service or a resource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_curie: ClassVar[str] = "gx:Endpoint" + class_name: ClassVar[str] = "Endpoint" + class_model_uri: ClassVar[URIRef] = GX.Endpoint + + standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + endpointURL: Optional[Union[str, URI]] = None + formalDescription: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.standardConformity): + self.MissingRequiredField("standardConformity") + self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + + if self.endpointURL is not None and not isinstance(self.endpointURL, URI): + self.endpointURL = URI(self.endpointURL) + + if self.formalDescription is not None and not isinstance(self.formalDescription, str): + self.formalDescription = str(self.formalDescription) + + super().__post_init__(**kwargs) + + +@dataclass +class GPU(Device): + """ + Graphical processing unit of virtual and physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_curie: ClassVar[str] = "gx:GPU" + class_name: ClassVar[str] = "GPU" + class_model_uri: ClassVar[URIRef] = GX.GPU + + gpuMemory: Optional[Union[dict, "MemorySize"]] = None + gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" + gpuProcessingUnits: Optional[int] = None + gpuPassthrough: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): + self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) + + if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) + + if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + self.gpuProcessingUnits = int(self.gpuProcessingUnits) + + if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + self.gpuPassthrough = Bool(self.gpuPassthrough) + + super().__post_init__(**kwargs) + + +@dataclass +class MaintenanceSubscription(YAMLRoot): + """ + A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" + class_name: ClassVar[str] = "MaintenanceSubscription" + class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + + subscriptionIncluded: Optional[Union[bool, Bool]] = False + subscriptionRequired: Optional[Union[bool, Bool]] = False + maintainedUntil: Optional[Union[str, XSDDate]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + self.subscriptionIncluded = Bool(self.subscriptionIncluded) + + if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + self.subscriptionRequired = Bool(self.subscriptionRequired) + + if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + self.maintainedUntil = XSDDate(self.maintainedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class UpdateStrategy(YAMLRoot): + """ + Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the + lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own + unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them + referencable by its ID for a transition period for customers' convenience. This class defines important aspects of + providers image update policy. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_curie: ClassVar[str] = "gx:UpdateStrategy" + class_name: ClassVar[str] = "UpdateStrategy" + class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy + + replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None + hotfixHours: Optional[int] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + self.replaceFrequency = UpdateFrequency(self.replaceFrequency) + + if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): + self.hotfixHours = int(self.hotfixHours) + + if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) + + if self.providedUntil is not None and not isinstance(self.providedUntil, str): + self.providedUntil = str(self.providedUntil) + + super().__post_init__(**kwargs) + + +@dataclass +class LatestN(YAMLRoot): + """ + Number of latest N outdated image versions, which will be valid. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_curie: ClassVar[str] = "gx:LatestN" + class_name: ClassVar[str] = "Latest_N" + class_model_uri: ClassVar[URIRef] = GX.LatestN + + value: Optional[int] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.value is not None and not isinstance(self.value, int): + self.value = int(self.value) + + super().__post_init__(**kwargs) + + +class InstantiationRequirement(YAMLRoot): + """ + A container class to gather all requirements for compute service offering instantiations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" + class_name: ClassVar[str] = "InstantiationRequirement" + class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement + + +@dataclass +class Issuer(YAMLRoot): + """ + An issuer of W3C Verifiable Credentials and Verifiable Presentations. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_curie: ClassVar[str] = "gx:Issuer" + class_name: ClassVar[str] = "Issuer" + class_model_uri: ClassVar[URIRef] = GX.Issuer + + issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.issuerTermsAndConditions): + self.MissingRequiredField("issuerTermsAndConditions") + if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): + self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + + super().__post_init__(**kwargs) + + +class RegistrationNumber(YAMLRoot): + """ + Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, + EODI, and EUID. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_curie: ClassVar[str] = "gx:RegistrationNumber" + class_name: ClassVar[str] = "RegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber + + +@dataclass +class LocalRegistrationNumber(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" + class_name: ClassVar[str] = "LocalRegistrationNumber" + class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + + local: Union[str, LocalRegistrationNumberLocal] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.local): + self.MissingRequiredField("local") + if not isinstance(self.local, LocalRegistrationNumberLocal): + self.local = LocalRegistrationNumberLocal(self.local) + + super().__post_init__(**kwargs) + + +@dataclass +class VatID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_curie: ClassVar[str] = "gx:VatID" + class_name: ClassVar[str] = "VatID" + class_model_uri: ClassVar[URIRef] = GX.VatID + + vatID: Union[str, VatIDVatID] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.vatID): + self.MissingRequiredField("vatID") + if not isinstance(self.vatID, VatIDVatID): + self.vatID = VatIDVatID(self.vatID) + + super().__post_init__(**kwargs) + + +@dataclass +class LeiCode(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_curie: ClassVar[str] = "gx:LeiCode" + class_name: ClassVar[str] = "LeiCode" + class_model_uri: ClassVar[URIRef] = GX.LeiCode + + leiCode: Union[str, LeiCodeLeiCode] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.leiCode): + self.MissingRequiredField("leiCode") + if not isinstance(self.leiCode, LeiCodeLeiCode): + self.leiCode = LeiCodeLeiCode(self.leiCode) + + super().__post_init__(**kwargs) + + +@dataclass +class EORI(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_curie: ClassVar[str] = "gx:EORI" + class_name: ClassVar[str] = "EORI" + class_model_uri: ClassVar[URIRef] = GX.EORI + + eori: Union[str, EORIEori] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.eori): + self.MissingRequiredField("eori") + if not isinstance(self.eori, EORIEori): + self.eori = EORIEori(self.eori) + + super().__post_init__(**kwargs) + + +@dataclass +class EUID(RegistrationNumber): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_curie: ClassVar[str] = "gx:EUID" + class_name: ClassVar[str] = "EUID" + class_model_uri: ClassVar[URIRef] = GX.EUID + + euid: Union[str, EUIDEuid] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.euid): + self.MissingRequiredField("euid") + if not isinstance(self.euid, EUIDEuid): + self.euid = EUIDEuid(self.euid) + + super().__post_init__(**kwargs) + + +@dataclass +class Memory(Device): + """ + Details with respect to properties and capabilities of RAM. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_curie: ClassVar[str] = "gx:Memory" + class_name: ClassVar[str] = "Memory" + class_model_uri: ClassVar[URIRef] = GX.Memory + + memorySize: Union[dict, "MemorySize"] = None + memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" + memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" + eccEnabled: Optional[Union[bool, Bool]] = False + hardwareEncryption: Optional[Union[bool, Bool]] = False + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.memorySize): + self.MissingRequiredField("memorySize") + if not isinstance(self.memorySize, MemorySize): + self.memorySize = MemorySize(**as_dict(self.memorySize)) + + if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + self.memoryClass = MemoryClasses(self.memoryClass) + + if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): + self.memoryRank = MemoryRanks(self.memoryRank) + + if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): + self.eccEnabled = Bool(self.eccEnabled) + + if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + self.hardwareEncryption = Bool(self.hardwareEncryption) + + super().__post_init__(**kwargs) + + +@dataclass +class Quantity(YAMLRoot): + """ + Abstract parent class for all physical quantities, such as frequency, power or length. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_curie: ClassVar[str] = "qudt:Quantity" + class_name: ClassVar[str] = "Quantity" + class_model_uri: ClassVar[URIRef] = GX.Quantity + + value: float = None + unit: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.value): + self.MissingRequiredField("value") + if not isinstance(self.value, float): + self.value = float(self.value) + + if self._is_empty(self.unit): + self.MissingRequiredField("unit") + if not isinstance(self.unit, str): + self.unit = str(self.unit) + + super().__post_init__(**kwargs) + + +@dataclass +class Frequency(Quantity): + """ + Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" + class_name: ClassVar[str] = "Frequency" + class_model_uri: ClassVar[URIRef] = GX.Frequency + + value: float = None + unit: str = None + +@dataclass +class MemorySize(Quantity): + """ + The number of bits, that can be stored on a digital storage. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_curie: ClassVar[str] = "gx:MemorySize" + class_name: ClassVar[str] = "MemorySize" + class_model_uri: ClassVar[URIRef] = GX.MemorySize + + value: float = None + unit: str = None + +@dataclass +class Power(Quantity): + """ + Definition of 'Power', according to http://qudt.org/quantitykind/Power. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] + class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" + class_name: ClassVar[str] = "Power" + class_model_uri: ClassVar[URIRef] = GX.Power + + value: float = None + unit: str = None + +class Participant(GaiaXEntity): + """ + An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_curie: ClassVar[str] = "gx:Participant" + class_name: ClassVar[str] = "Participant" + class_model_uri: ClassVar[URIRef] = GX.Participant + + +@dataclass +class LegalPerson(Participant): + """ + A legal person, who is uniquely identified by its registration number. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_curie: ClassVar[str] = "gx:LegalPerson" + class_name: ClassVar[str] = "LegalPerson" + class_model_uri: ClassVar[URIRef] = GX.LegalPerson + + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + legalAddress: Union[dict, Address] = None + headquartersAddress: Union[dict, Address] = None + parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.registrationNumber): + self.MissingRequiredField("registrationNumber") + if not isinstance(self.registrationNumber, list): + self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] + self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + + if self._is_empty(self.legalAddress): + self.MissingRequiredField("legalAddress") + if not isinstance(self.legalAddress, Address): + self.legalAddress = Address(**as_dict(self.legalAddress)) + + if self._is_empty(self.headquartersAddress): + self.MissingRequiredField("headquartersAddress") + if not isinstance(self.headquartersAddress, Address): + self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) + + if not isinstance(self.parentOrganizationOf, list): + self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] + self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + + if not isinstance(self.subOrganisationOf, list): + self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + + super().__post_init__(**kwargs) + + +@dataclass +class Resource(GaiaXEntity): + """ + Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist + independently of it. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_curie: ClassVar[str] = "gx:Resource" + class_name: ClassVar[str] = "Resource" + class_model_uri: ClassVar[URIRef] = GX.Resource + + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualResource(Resource): + """ + It represents static data in any form and necessary information such as dataset, configuration file, license, + keypair, an AI model, neural network weights, etc. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_curie: ClassVar[str] = "gx:VirtualResource" + class_name: ClassVar[str] = "VirtualResource" + class_model_uri: ClassVar[URIRef] = GX.VirtualResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.copyrightOwnedBy): + self.MissingRequiredField("copyrightOwnedBy") + if not isinstance(self.copyrightOwnedBy, list): + self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + + if self._is_empty(self.license): + self.MissingRequiredField("license") + if not isinstance(self.license, list): + self.license = [self.license] if self.license is not None else [] + self.license = [v if isinstance(v, str) else str(v) for v in self.license] + + if self._is_empty(self.resourcePolicy): + self.MissingRequiredField("resourcePolicy") + if not isinstance(self.resourcePolicy, list): + self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] + self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + + super().__post_init__(**kwargs) + + +@dataclass +class PhysicalResource(Resource): + """ + A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are + entities that have a weight and position in physical space. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_curie: ClassVar[str] = "gx:PhysicalResource" + class_name: ClassVar[str] = "PhysicalResource" + class_model_uri: ClassVar[URIRef] = GX.PhysicalResource + + maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + location: Union[Union[dict, Address], List[Union[dict, Address]]] = None + ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.maintainedBy): + self.MissingRequiredField("maintainedBy") + if not isinstance(self.maintainedBy, list): + self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] + self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + + if self._is_empty(self.location): + self.MissingRequiredField("location") + self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + + if not isinstance(self.ownedBy, list): + self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] + self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + + if not isinstance(self.manufacturedBy, list): + self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] + self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + + super().__post_init__(**kwargs) + + +@dataclass +class SoftwareResource(VirtualResource): + """ + A Gaia-X Virtual Resource describing an executable program. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_curie: ClassVar[str] = "gx:SoftwareResource" + class_name: ClassVar[str] = "SoftwareResource" + class_model_uri: ClassVar[URIRef] = GX.SoftwareResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + checksum: Optional[Union[dict, CheckSum]] = None + signature: Optional[Union[dict, Signature]] = None + version: Optional[str] = None + patchLevel: Optional[str] = None + buildDate: Optional[Union[str, XSDDateTime]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.checksum is not None and not isinstance(self.checksum, CheckSum): + self.checksum = CheckSum(**as_dict(self.checksum)) + + if self.signature is not None and not isinstance(self.signature, Signature): + self.signature = Signature(**as_dict(self.signature)) + + if self.version is not None and not isinstance(self.version, str): + self.version = str(self.version) + + if self.patchLevel is not None and not isinstance(self.patchLevel, str): + self.patchLevel = str(self.patchLevel) + + if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): + self.buildDate = XSDDateTime(self.buildDate) + + super().__post_init__(**kwargs) + + +@dataclass +class CodeArtifact(SoftwareResource): + """ + A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_curie: ClassVar[str] = "gx:CodeArtifact" + class_name: ClassVar[str] = "CodeArtifact" + class_model_uri: ClassVar[URIRef] = GX.CodeArtifact + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + +@dataclass +class Image(CodeArtifact): + """ + A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of + OperatingSystem and CodeArtifact. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Image + class_class_curie: ClassVar[str] = "gx:Image" + class_name: ClassVar[str] = "Image" + class_model_uri: ClassVar[URIRef] = GX.Image + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + fileSize: Optional[Union[dict, "MemorySize"]] = None + operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None + cpuReq: Optional[Union[dict, CPU]] = None + gpuReq: Optional[Union[dict, GPU]] = None + ramReq: Optional[Union[dict, "Memory"]] = None + videoRamSize: Optional[Union[dict, "MemorySize"]] = None + rootDiskReq: Optional[Union[dict, Disk]] = None + encryption: Optional[Union[dict, Encryption]] = None + secureBoot: Optional[Union[bool, Bool]] = False + vPMU: Optional[Union[bool, Bool]] = False + multiQueues: Optional[Union[bool, Bool]] = False + updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None + licenseIncluded: Optional[Union[bool, Bool]] = False + maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): + self.fileSize = MemorySize(**as_dict(self.fileSize)) + + if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) + + if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): + self.cpuReq = CPU(**as_dict(self.cpuReq)) + + if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): + self.gpuReq = GPU(**as_dict(self.gpuReq)) + + if self.ramReq is not None and not isinstance(self.ramReq, Memory): + self.ramReq = Memory(**as_dict(self.ramReq)) + + if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) + + if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): + self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) + + if self.encryption is not None and not isinstance(self.encryption, Encryption): + self.encryption = Encryption(**as_dict(self.encryption)) + + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): + self.secureBoot = Bool(self.secureBoot) + + if self.vPMU is not None and not isinstance(self.vPMU, Bool): + self.vPMU = Bool(self.vPMU) + + if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): + self.multiQueues = Bool(self.multiQueues) + + if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) + + if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + self.licenseIncluded = Bool(self.licenseIncluded) + + if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) + + super().__post_init__(**kwargs) + + +@dataclass +class PXEImage(Image): + """ + PXE image for physical machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_curie: ClassVar[str] = "gx:PXEImage" + class_name: ClassVar[str] = "PXE_Image" + class_model_uri: ClassVar[URIRef] = GX.PXEImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) + + super().__post_init__(**kwargs) + + +@dataclass +class OperatingSystem(SoftwareResource): + """ + A special Gaia-X Software Resource describing an operating system. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_curie: ClassVar[str] = "gx:OperatingSystem" + class_name: ClassVar[str] = "OperatingSystem" + class_model_uri: ClassVar[URIRef] = GX.OperatingSystem + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + osDistribution: Union[str, "OSDistribution"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.osDistribution): + self.MissingRequiredField("osDistribution") + if not isinstance(self.osDistribution, OSDistribution): + self.osDistribution = OSDistribution(self.osDistribution) + + super().__post_init__(**kwargs) + + +@dataclass +class Hypervisor(SoftwareResource): + """ + A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_curie: ClassVar[str] = "gx:Hypervisor" + class_name: ClassVar[str] = "Hypervisor" + class_model_uri: ClassVar[URIRef] = GX.Hypervisor + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + hypervisorType: Union[str, "HypervisorType"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.hypervisorType): + self.MissingRequiredField("hypervisorType") + if not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + super().__post_init__(**kwargs) + + +@dataclass +class ServiceOffering(GaiaXEntity): + """ + A digital service available for order. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_curie: ClassVar[str] = "gx:ServiceOffering" + class_name: ClassVar[str] = "ServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() + dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + keyword: Optional[Union[str, List[str]]] = empty_list() + provisionType: Optional[Union[str, "ProvisionTypes"]] = None + endpoint: Optional[Union[dict, Endpoint]] = None + hostedOn: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.providedBy): + self.MissingRequiredField("providedBy") + if not isinstance(self.providedBy, LegalPersonRegistrationNumber): + self.providedBy = LegalPersonRegistrationNumber(self.providedBy) + + if self._is_empty(self.serviceOfferingTermsAndConditions): + self.MissingRequiredField("serviceOfferingTermsAndConditions") + self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + + if self._is_empty(self.servicePolicy): + self.MissingRequiredField("servicePolicy") + if not isinstance(self.servicePolicy, list): + self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] + self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + + if self._is_empty(self.dataAccountExport): + self.MissingRequiredField("dataAccountExport") + self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + + if not isinstance(self.dependsOn, list): + self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] + self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] + + if not isinstance(self.aggregationOfResources, list): + self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] + self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + + if not isinstance(self.dataProtectionRegime, list): + self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] + self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + + if not isinstance(self.keyword, list): + self.keyword = [self.keyword] if self.keyword is not None else [] + self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] + + if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + self.provisionType = ProvisionTypes(self.provisionType) + + if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): + self.endpoint = Endpoint(**as_dict(self.endpoint)) + + if not isinstance(self.hostedOn, list): + self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] + self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] + + super().__post_init__(**kwargs) + + +@dataclass +class InfrastructureServiceOffering(ServiceOffering): + """ + A digital service available for order and offering computational, storage and/pr network capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" + class_name: ClassVar[str] = "InfrastructureServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + +@dataclass +class ComputeServiceOffering(InfrastructureServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" + class_name: ClassVar[str] = "ComputeServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + self.tenantSeparation = TenantSeparation(self.tenantSeparation) + + super().__post_init__(**kwargs) + + +@dataclass +class VirtualMachineServiceOffering(ComputeServiceOffering): + """ + A digital service available for order and offering computational capabilities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" + class_name: ClassVar[str] = "VirtualMachineServiceOffering" + class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + + providedBy: Union[str, LegalPersonRegistrationNumber] = None + serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None + dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None + instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + servicePolicy: Union[str, List[str]] = "default:allow intent" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.codeArtifact): + self.MissingRequiredField("codeArtifact") + self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + + if self._is_empty(self.instantiationReq): + self.MissingRequiredField("instantiationReq") + self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class TermsAndConditions(YAMLRoot): + """ + Terms and Conditions applying to a service offering. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_curie: ClassVar[str] = "gx:TermsAndConditions" + class_name: ClassVar[str] = "TermsAndConditions" + class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions + + url: Union[str, URI] = None + hash: str = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.url): + self.MissingRequiredField("url") + if not isinstance(self.url, URI): + self.url = URI(self.url) + + if self._is_empty(self.hash): + self.MissingRequiredField("hash") + if not isinstance(self.hash, str): + self.hash = str(self.hash) + + super().__post_init__(**kwargs) + + +@dataclass +class DataAccountExport(YAMLRoot): + """ + List of methods to export data from your account out of the service. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_curie: ClassVar[str] = "gx:DataAccountExport" + class_name: ClassVar[str] = "DataAccountExport" + class_model_uri: ClassVar[URIRef] = GX.DataAccountExport + + requestType: Union[str, "RequestTypes"] = None + accessType: Union[str, "AccessTypes"] = None + formatType: Union[str, "MIMETypes"] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.requestType): + self.MissingRequiredField("requestType") + if not isinstance(self.requestType, RequestTypes): + self.requestType = RequestTypes(self.requestType) + + if self._is_empty(self.accessType): + self.MissingRequiredField("accessType") + if not isinstance(self.accessType, AccessTypes): + self.accessType = AccessTypes(self.accessType) + + if self._is_empty(self.formatType): + self.MissingRequiredField("formatType") + if not isinstance(self.formatType, MIMETypes): + self.formatType = MIMETypes(self.formatType) + + super().__post_init__(**kwargs) + + +@dataclass +class StandardConformity(YAMLRoot): + """ + Details about standard applied to Gaia-X entities. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_curie: ClassVar[str] = "gx:StandardConformity" + class_name: ClassVar[str] = "StandardConformity" + class_model_uri: ClassVar[URIRef] = GX.StandardConformity + + title: str = None + standardReference: Union[str, URI] = None + publisher: Optional[str] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.title): + self.MissingRequiredField("title") + if not isinstance(self.title, str): + self.title = str(self.title) + + if self._is_empty(self.standardReference): + self.MissingRequiredField("standardReference") + if not isinstance(self.standardReference, URI): + self.standardReference = URI(self.standardReference) + + if self.publisher is not None and not isinstance(self.publisher, str): + self.publisher = str(self.publisher) + + super().__post_init__(**kwargs) + + +@dataclass +class DataResource(VirtualResource): + """ + A dataset exposed through a service instance. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_curie: ClassVar[str] = "gx:DataResource" + class_name: ClassVar[str] = "DataResource" + class_model_uri: ClassVar[URIRef] = GX.DataResource + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + producedBy: Union[str, LegalPersonRegistrationNumber] = None + exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + containsPII: Union[bool, Bool] = None + obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None + expirationDateTime: Optional[Union[str, XSDDateTime]] = None + dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() + consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.producedBy): + self.MissingRequiredField("producedBy") + if not isinstance(self.producedBy, LegalPersonRegistrationNumber): + self.producedBy = LegalPersonRegistrationNumber(self.producedBy) + + if self._is_empty(self.exposedThrough): + self.MissingRequiredField("exposedThrough") + if not isinstance(self.exposedThrough, list): + self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] + self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + + if self._is_empty(self.containsPII): + self.MissingRequiredField("containsPII") + if not isinstance(self.containsPII, Bool): + self.containsPII = Bool(self.containsPII) + + if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) + + if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + self.expirationDateTime = XSDDateTime(self.expirationDateTime) + + if not isinstance(self.dataController, list): + self.dataController = [self.dataController] if self.dataController is not None else [] + self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] + + self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + + super().__post_init__(**kwargs) + + +@dataclass +class Consent(YAMLRoot): + """ + Information on the legitimate processing of information related to PII. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_curie: ClassVar[str] = "gx:Consent" + class_name: ClassVar[str] = "Consent" + class_model_uri: ClassVar[URIRef] = GX.Consent + + legalBasis: str = None + dataProtectionContactPoint: Union[str, List[str]] = None + purpose: Union[str, List[str]] = None + consentWithdrawalContactPoint: Union[str, List[str]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.legalBasis): + self.MissingRequiredField("legalBasis") + if not isinstance(self.legalBasis, str): + self.legalBasis = str(self.legalBasis) + + if self._is_empty(self.dataProtectionContactPoint): + self.MissingRequiredField("dataProtectionContactPoint") + if not isinstance(self.dataProtectionContactPoint, list): + self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] + self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + + if self._is_empty(self.purpose): + self.MissingRequiredField("purpose") + if not isinstance(self.purpose, list): + self.purpose = [self.purpose] if self.purpose is not None else [] + self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] + + if self._is_empty(self.consentWithdrawalContactPoint): + self.MissingRequiredField("consentWithdrawalContactPoint") + if not isinstance(self.consentWithdrawalContactPoint, list): + self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] + self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + + super().__post_init__(**kwargs) + + +class DataExchangeComponent(YAMLRoot): + """ + A service/resource used to make a data resource available. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" + class_name: ClassVar[str] = "DataExchangeComponent" + class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent + + +@dataclass +class VMImage(Image): + """ + Image for virtual machines. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_curie: ClassVar[str] = "gx:VMImage" + class_name: ClassVar[str] = "VM_Image" + class_model_uri: ClassVar[URIRef] = GX.VMImage + + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None + resourcePolicy: Union[str, List[str]] = None + vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" + hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" + firmwareType: Optional[Union[str, "FirmType"]] = "other" + hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" + watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) + + if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + self.hypervisorType = HypervisorType(self.hypervisorType) + + if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + self.firmwareType = FirmType(self.firmwareType) + + if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) + + if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + self.watchDogAction = WatchDogActions(self.watchDogAction) + + super().__post_init__(**kwargs) + + +@dataclass +class ServerFlavor(YAMLRoot): + """ + Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or + virtual servers that can be launched. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_curie: ClassVar[str] = "gx:ServerFlavor" + class_name: ClassVar[str] = "ServerFlavor" + class_model_uri: ClassVar[URIRef] = GX.ServerFlavor + + cpu: Union[dict, CPU] = None + ram: Union[dict, Memory] = None + bootVolume: Union[dict, Disk] = None + gpu: Optional[Union[dict, GPU]] = None + network: Optional[str] = None + additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None + hypervisor: Optional[Union[dict, SoftwareResource]] = None + hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False + hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.cpu): + self.MissingRequiredField("cpu") + if not isinstance(self.cpu, CPU): + self.cpu = CPU(**as_dict(self.cpu)) + + if self._is_empty(self.ram): + self.MissingRequiredField("ram") + if not isinstance(self.ram, Memory): + self.ram = Memory(**as_dict(self.ram)) + + if self._is_empty(self.bootVolume): + self.MissingRequiredField("bootVolume") + if not isinstance(self.bootVolume, Disk): + self.bootVolume = Disk(**as_dict(self.bootVolume)) + + if self.gpu is not None and not isinstance(self.gpu, GPU): + self.gpu = GPU(**as_dict(self.gpu)) + + if self.network is not None and not isinstance(self.network, str): + self.network = str(self.network) + + self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) + + if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): + self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) + + if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) + + if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): + self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + + if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) + + super().__post_init__(**kwargs) + + +@dataclass +class ConfidentialComputing(YAMLRoot): + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" + class_name: ClassVar[str] = "ConfidentialComputing" + class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing + + technology: str = None + attestationServiceURI: Optional[Union[str, URI]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self._is_empty(self.technology): + self.MissingRequiredField("technology") + if not isinstance(self.technology, str): + self.technology = str(self.technology) + + if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + self.attestationServiceURI = URI(self.attestationServiceURI) + + super().__post_init__(**kwargs) + + +# Enumerations +class CountryNameAlpha2(EnumDefinitionImpl): + + AF = PermissibleValue( + text="AF", + description="Alpha2 code for Afghanistan.") + EG = PermissibleValue( + text="EG", + description="Alpha2 code for Egypt.") + AX = PermissibleValue( + text="AX", + description="Alpha2 code for Aland Islands.") + AL = PermissibleValue( + text="AL", + description="Alpha2 code for Albania.") + DZ = PermissibleValue( + text="DZ", + description="Alpha2 code for Algeria.") + VI = PermissibleValue( + text="VI", + description="Alpha2 code for Virgin Islands (U.S.).") + UM = PermissibleValue( + text="UM", + description="Alpha2 code for United States Minor Outlying Islands (the).") + AS = PermissibleValue( + text="AS", + description="Alpha2 code for American Samoa.") + AD = PermissibleValue( + text="AD", + description="Alpha2 code for Andorra.") + AO = PermissibleValue( + text="AO", + description="Alpha2 code for Angola.") + AI = PermissibleValue( + text="AI", + description="Alpha2 code for Anguilla.") + AQ = PermissibleValue( + text="AQ", + description="Alpha2 code for Antarctica.") + AG = PermissibleValue( + text="AG", + description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue( + text="GQ", + description="Alpha2 code for Equatorial Guinea.") + SY = PermissibleValue( + text="SY", + description="Alpha2 code for Syrian Arab Republic.") + AR = PermissibleValue( + text="AR", + description="Alpha2 code for Argentina.") + AM = PermissibleValue( + text="AM", + description="Alpha2 code for Armenia.") + AW = PermissibleValue( + text="AW", + description="Alpha2 code for Aruba.") + AZ = PermissibleValue( + text="AZ", + description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue( + text="ET", + description="Alpha2 code for Ethiopia.") + AU = PermissibleValue( + text="AU", + description="Alpha2 code for Australia.") + BS = PermissibleValue( + text="BS", + description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue( + text="BH", + description="Alpha2 code for Bahrain.") + BD = PermissibleValue( + text="BD", + description="Alpha2 code for Bangladesh.") + BB = PermissibleValue( + text="BB", + description="Alpha2 code for Barbados.") + BE = PermissibleValue( + text="BE", + description="Alpha2 code for Belgium.") + BZ = PermissibleValue( + text="BZ", + description="Alpha2 code for Belize.") + BJ = PermissibleValue( + text="BJ", + description="Alpha2 code for Benin.") + BM = PermissibleValue( + text="BM", + description="Alpha2 code for Bermuda.") + BT = PermissibleValue( + text="BT", + description="Alpha2 code for Bhutan.") + VE = PermissibleValue( + text="VE", + description="Alpha2 code for Venezuela (Bolivarian Republic of).") + BQ = PermissibleValue( + text="BQ", + description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + BA = PermissibleValue( + text="BA", + description="Alpha2 code for Bosnia and Herzegovina.") + BW = PermissibleValue( + text="BW", + description="Alpha2 code for Botswana.") + BV = PermissibleValue( + text="BV", + description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue( + text="BR", + description="Alpha2 code for Brazil.") + VG = PermissibleValue( + text="VG", + description="Alpha2 code for Virgin Islands (British).") + IO = PermissibleValue( + text="IO", + description="Alpha2 code for British Indian Ocean Territory (the).") + BN = PermissibleValue( + text="BN", + description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue( + text="BG", + description="Alpha2 code for Bulgaria.") + BF = PermissibleValue( + text="BF", + description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue( + text="BI", + description="Alpha2 code for Burundi.") + CV = PermissibleValue( + text="CV", + description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue( + text="CL", + description="Alpha2 code for Chile.") + CN = PermissibleValue( + text="CN", + description="Alpha2 code for China.") + CK = PermissibleValue( + text="CK", + description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue( + text="CR", + description="Alpha2 code for Costa Rica.") + CI = PermissibleValue( + text="CI", + description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue( + text="CW", + description="Alpha2 code for Curacao.") + DK = PermissibleValue( + text="DK", + description="Alpha2 code for Denmark.") + CD = PermissibleValue( + text="CD", + description="Alpha2 code for Congo (the Democratic Republic of the).") + KP = PermissibleValue( + text="KP", + description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + LA = PermissibleValue( + text="LA", + description="Alpha2 code for Lao Peoples Democratic Republic (the).") + DE = PermissibleValue( + text="DE", + description="Alpha2 code for Germany.") + DM = PermissibleValue( + text="DM", + description="Alpha2 code for Dominica.") + DO = PermissibleValue( + text="DO", + description="Alpha2 code for Dominican Republic (the).") + DJ = PermissibleValue( + text="DJ", + description="Alpha2 code for Djibouti.") + EC = PermissibleValue( + text="EC", + description="Alpha2 code for Ecuador.") + MK = PermissibleValue( + text="MK", + description="Alpha2 code for Republic of North Macedonia.") + SV = PermissibleValue( + text="SV", + description="Alpha2 code for El Salvador.") + ER = PermissibleValue( + text="ER", + description="Alpha2 code for Eritrea.") + EE = PermissibleValue( + text="EE", + description="Alpha2 code for Estonia.") + FK = PermissibleValue( + text="FK", + description="Alpha2 code for Falkland Islands (the) [Malvinas].") + FO = PermissibleValue( + text="FO", + description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue( + text="FJ", + description="Alpha2 code for Fiji.") + FI = PermissibleValue( + text="FI", + description="Alpha2 code for Finland.") + FM = PermissibleValue( + text="FM", + description="Alpha2 code for Micronesia (Federated States of).") + FR = PermissibleValue( + text="FR", + description="Alpha2 code for France.") + TF = PermissibleValue( + text="TF", + description="Alpha2 code for French Southern Territories (the).") + GF = PermissibleValue( + text="GF", + description="Alpha2 code for French Guiana.") + PF = PermissibleValue( + text="PF", + description="Alpha2 code for French Polynesia.") + GA = PermissibleValue( + text="GA", + description="Alpha2 code for Gabon.") + GM = PermissibleValue( + text="GM", + description="Alpha2 code for Gambia (the).") + GE = PermissibleValue( + text="GE", + description="Alpha2 code for Georgia.") + GH = PermissibleValue( + text="GH", + description="Alpha2 code for Ghana.") + GI = PermissibleValue( + text="GI", + description="Alpha2 code for Gibraltar.") + GD = PermissibleValue( + text="GD", + description="Alpha2 code for Grenada.") + GR = PermissibleValue( + text="GR", + description="Alpha2 code for Greece.") + GL = PermissibleValue( + text="GL", + description="Alpha2 code for Greenland.") + GP = PermissibleValue( + text="GP", + description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue( + text="GU", + description="Alpha2 code for Guam.") + GT = PermissibleValue( + text="GT", + description="Alpha2 code for Guatemala.") + GG = PermissibleValue( + text="GG", + description="Alpha2 code for Guernsey.") + GN = PermissibleValue( + text="GN", + description="Alpha2 code for Guinea.") + GW = PermissibleValue( + text="GW", + description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue( + text="GY", + description="Alpha2 code for Guyana.") + HT = PermissibleValue( + text="HT", + description="Alpha2 code for Haiti.") + HM = PermissibleValue( + text="HM", + description="Alpha2 code for Heard Island and McDonald Islands.") + HN = PermissibleValue( + text="HN", + description="Alpha2 code for Honduras.") + HK = PermissibleValue( + text="HK", + description="Alpha2 code for Hong Kong.") + IN = PermissibleValue( + text="IN", + description="Alpha2 code for India.") + ID = PermissibleValue( + text="ID", + description="Alpha2 code for Indonesia.") + IM = PermissibleValue( + text="IM", + description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue( + text="IQ", + description="Alpha2 code for Iraq.") + IE = PermissibleValue( + text="IE", + description="Alpha2 code for Ireland.") + IR = PermissibleValue( + text="IR", + description="Alpha2 code for Iran (Islamic Republic of).") + IS = PermissibleValue( + text="IS", + description="Alpha2 code for Iceland.") + IL = PermissibleValue( + text="IL", + description="Alpha2 code for Israel.") + IT = PermissibleValue( + text="IT", + description="Alpha2 code for Italy.") + JM = PermissibleValue( + text="JM", + description="Alpha2 code for Jamaica.") + JP = PermissibleValue( + text="JP", + description="Alpha2 code for Japan.") + YE = PermissibleValue( + text="YE", + description="Alpha2 code for Yemen.") + JE = PermissibleValue( + text="JE", + description="Alpha2 code for Jersey.") + JO = PermissibleValue( + text="JO", + description="Alpha2 code for Jordan.") + KY = PermissibleValue( + text="KY", + description="Alpha2 code for Cayman Islands (the).") + KH = PermissibleValue( + text="KH", + description="Alpha2 code for Cambodia.") + CM = PermissibleValue( + text="CM", + description="Alpha2 code for Cameroon.") + CA = PermissibleValue( + text="CA", + description="Alpha2 code for Canada.") + KZ = PermissibleValue( + text="KZ", + description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue( + text="QA", + description="Alpha2 code for Qatar.") + KE = PermissibleValue( + text="KE", + description="Alpha2 code for Kenya.") + KG = PermissibleValue( + text="KG", + description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue( + text="KI", + description="Alpha2 code for Kiribati.") + CC = PermissibleValue( + text="CC", + description="Alpha2 code for Cocos (Keeling) Islands (the).") + CO = PermissibleValue( + text="CO", + description="Alpha2 code for Colombia.") + KM = PermissibleValue( + text="KM", + description="Alpha2 code for Comoros (the).") + CG = PermissibleValue( + text="CG", + description="Alpha2 code for Congo (the).") + HR = PermissibleValue( + text="HR", + description="Alpha2 code for Croatia.") + CU = PermissibleValue( + text="CU", + description="Alpha2 code for Cuba.") + KW = PermissibleValue( + text="KW", + description="Alpha2 code for Kuwait.") + LS = PermissibleValue( + text="LS", + description="Alpha2 code for Lesotho.") + LV = PermissibleValue( + text="LV", + description="Alpha2 code for Latvia.") + LB = PermissibleValue( + text="LB", + description="Alpha2 code for Lebanon.") + LR = PermissibleValue( + text="LR", + description="Alpha2 code for Liberia.") + LY = PermissibleValue( + text="LY", + description="Alpha2 code for Libya.") + LI = PermissibleValue( + text="LI", + description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue( + text="LT", + description="Alpha2 code for Lithuania.") + LU = PermissibleValue( + text="LU", + description="Alpha2 code for Luxembourg.") + MO = PermissibleValue( + text="MO", + description="Alpha2 code for Macao.") + MG = PermissibleValue( + text="MG", + description="Alpha2 code for Madagascar.") + MW = PermissibleValue( + text="MW", + description="Alpha2 code for Malawi.") + MY = PermissibleValue( + text="MY", + description="Alpha2 code for Malaysia.") + MV = PermissibleValue( + text="MV", + description="Alpha2 code for Maldives.") + ML = PermissibleValue( + text="ML", + description="Alpha2 code for Mali.") + MT = PermissibleValue( + text="MT", + description="Alpha2 code for Malta.") + MP = PermissibleValue( + text="MP", + description="Alpha2 code for Northern Mariana Islands (the).") + MA = PermissibleValue( + text="MA", + description="Alpha2 code for Morocco.") + MH = PermissibleValue( + text="MH", + description="Alpha2 code for Marshall Islands (the).") + MQ = PermissibleValue( + text="MQ", + description="Alpha2 code for Martinique.") + MR = PermissibleValue( + text="MR", + description="Alpha2 code for Mauritania.") + MU = PermissibleValue( + text="MU", + description="Alpha2 code for Mauritius.") + YT = PermissibleValue( + text="YT", + description="Alpha2 code for Mayotte.") + MX = PermissibleValue( + text="MX", + description="Alpha2 code for Mexico.") + MC = PermissibleValue( + text="MC", + description="Alpha2 code for Monaco.") + MN = PermissibleValue( + text="MN", + description="Alpha2 code for Mongolia.") + MS = PermissibleValue( + text="MS", + description="Alpha2 code for Montserrat.") + ME = PermissibleValue( + text="ME", + description="Alpha2 code for Montenegro.") + MZ = PermissibleValue( + text="MZ", + description="Alpha2 code for Mozambique.") + MM = PermissibleValue( + text="MM", + description="Alpha2 code for Myanmar.") + NA = PermissibleValue( + text="NA", + description="Alpha2 code for Namibia.") + NR = PermissibleValue( + text="NR", + description="Alpha2 code for Nauru.") + NP = PermissibleValue( + text="NP", + description="Alpha2 code for Nepal.") + NC = PermissibleValue( + text="NC", + description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue( + text="NZ", + description="Alpha2 code for New Zealand.") + NI = PermissibleValue( + text="NI", + description="Alpha2 code for Nicaragua.") + NL = PermissibleValue( + text="NL", + description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue( + text="NE", + description="Alpha2 code for Niger (the).") + NG = PermissibleValue( + text="NG", + description="Alpha2 code for Nigeria.") + NU = PermissibleValue( + text="NU", + description="Alpha2 code for Niue.") + NF = PermissibleValue( + text="NF", + description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue( + text="OM", + description="Alpha2 code for Oman.") + AT = PermissibleValue( + text="AT", + description="Alpha2 code for Austria.") + PK = PermissibleValue( + text="PK", + description="Alpha2 code for Pakistan.") + PW = PermissibleValue( + text="PW", + description="Alpha2 code for Palau.") + PS = PermissibleValue( + text="PS", + description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue( + text="PA", + description="Alpha2 code for Panama.") + PG = PermissibleValue( + text="PG", + description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue( + text="PY", + description="Alpha2 code for Paraguay.") + PE = PermissibleValue( + text="PE", + description="Alpha2 code for Peru.") + PH = PermissibleValue( + text="PH", + description="Alpha2 code for Philippines (the).") + PN = PermissibleValue( + text="PN", + description="Alpha2 code for Pitcairn.") + BO = PermissibleValue( + text="BO", + description="Alpha2 code for Bolivia (Plurinational State of).") + PL = PermissibleValue( + text="PL", + description="Alpha2 code for Poland.") + PT = PermissibleValue( + text="PT", + description="Alpha2 code for Portugal.") + PR = PermissibleValue( + text="PR", + description="Alpha2 code for Puerto Rico.") + KR = PermissibleValue( + text="KR", + description="Alpha2 code for Korea (the Republic of).") + MD = PermissibleValue( + text="MD", + description="Alpha2 code for Moldova (the Republic of).") + RE = PermissibleValue( + text="RE", + description="Alpha2 code for Reunion.") + RW = PermissibleValue( + text="RW", + description="Alpha2 code for Rwanda.") + RO = PermissibleValue( + text="RO", + description="Alpha2 code for Romania.") + RU = PermissibleValue( + text="RU", + description="Alpha2 code for Russian Federation (the).") + SB = PermissibleValue( + text="SB", + description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue( + text="ZM", + description="Alpha2 code for Zambia.") + WS = PermissibleValue( + text="WS", + description="Alpha2 code for Samoa.") + SM = PermissibleValue( + text="SM", + description="Alpha2 code for San Marino.") + ST = PermissibleValue( + text="ST", + description="Alpha2 code for Sao Tome and Principe.") + SA = PermissibleValue( + text="SA", + description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue( + text="SE", + description="Alpha2 code for Sweden.") + CH = PermissibleValue( + text="CH", + description="Alpha2 code for Switzerland.") + SN = PermissibleValue( + text="SN", + description="Alpha2 code for Senegal.") + RS = PermissibleValue( + text="RS", + description="Alpha2 code for Serbia.") + SC = PermissibleValue( + text="SC", + description="Alpha2 code for Seychelles.") + SL = PermissibleValue( + text="SL", + description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue( + text="ZW", + description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue( + text="SG", + description="Alpha2 code for Singapore.") + SK = PermissibleValue( + text="SK", + description="Alpha2 code for Slovakia.") + SI = PermissibleValue( + text="SI", + description="Alpha2 code for Slovenia.") + SO = PermissibleValue( + text="SO", + description="Alpha2 code for Somalia.") + ES = PermissibleValue( + text="ES", + description="Alpha2 code for Spain.") + LK = PermissibleValue( + text="LK", + description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue( + text="BL", + description="Alpha2 code for Saint Barthelemy.") + SH = PermissibleValue( + text="SH", + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + KN = PermissibleValue( + text="KN", + description="Alpha2 code for Saint Kitts and Nevis.") + LC = PermissibleValue( + text="LC", + description="Alpha2 code for Saint Lucia.") + MF = PermissibleValue( + text="MF", + description="Alpha2 code for Saint Martin (French part).") + SX = PermissibleValue( + text="SX", + description="Alpha2 code for Sint Maarten (Dutch part).") + PM = PermissibleValue( + text="PM", + description="Alpha2 code for Saint Pierre and Miquelon.") + VC = PermissibleValue( + text="VC", + description="Alpha2 code for Saint Vincent and the Grenadines.") + ZA = PermissibleValue( + text="ZA", + description="Alpha2 code for South Africa.") + SD = PermissibleValue( + text="SD", + description="Alpha2 code for Sudan (the).") + GS = PermissibleValue( + text="GS", + description="Alpha2 code for South Georgia and the South Sandwich Islands.") + SS = PermissibleValue( + text="SS", + description="Alpha2 code for South Sudan.") + SR = PermissibleValue( + text="SR", + description="Alpha2 code for Suriname.") + SJ = PermissibleValue( + text="SJ", + description="Alpha2 code for Svalbard and Jan Mayen.") + SZ = PermissibleValue( + text="SZ", + description="Alpha2 code for Eswatini.") + TJ = PermissibleValue( + text="TJ", + description="Alpha2 code for Tajikistan.") + TW = PermissibleValue( + text="TW", + description="Alpha2 code for Taiwan (Province of China).") + TH = PermissibleValue( + text="TH", + description="Alpha2 code for Thailand.") + TL = PermissibleValue( + text="TL", + description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue( + text="TG", + description="Alpha2 code for Togo.") + TK = PermissibleValue( + text="TK", + description="Alpha2 code for Tokelau.") + TO = PermissibleValue( + text="TO", + description="Alpha2 code for Tonga.") + TT = PermissibleValue( + text="TT", + description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue( + text="TD", + description="Alpha2 code for Chad.") + CZ = PermissibleValue( + text="CZ", + description="Alpha2 code for Czechia.") + TN = PermissibleValue( + text="TN", + description="Alpha2 code for Tunisia.") + TR = PermissibleValue( + text="TR", + description="Alpha2 code for Turkey.") + TM = PermissibleValue( + text="TM", + description="Alpha2 code for Turkmenistan.") + TC = PermissibleValue( + text="TC", + description="Alpha2 code for Turks and Caicos Islands (the).") + TV = PermissibleValue( + text="TV", + description="Alpha2 code for Tuvalu.") + UG = PermissibleValue( + text="UG", + description="Alpha2 code for Uganda.") + UA = PermissibleValue( + text="UA", + description="Alpha2 code for Ukraine.") + HU = PermissibleValue( + text="HU", + description="Alpha2 code for Hungary.") + UY = PermissibleValue( + text="UY", + description="Alpha2 code for Uruguay.") + UZ = PermissibleValue( + text="UZ", + description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue( + text="VU", + description="Alpha2 code for Vanuatu.") + VA = PermissibleValue( + text="VA", + description="Alpha2 code for Holy See (the).") + AE = PermissibleValue( + text="AE", + description="Alpha2 code for United Arab Emirates (the).") + TZ = PermissibleValue( + text="TZ", + description="Alpha2 code for Tanzania, United Republic of.") + US = PermissibleValue( + text="US", + description="Alpha2 code for United States of America (the).") + GB = PermissibleValue( + text="GB", + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") + VN = PermissibleValue( + text="VN", + description="Alpha2 code for Viet Nam.") + WF = PermissibleValue( + text="WF", + description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue( + text="CX", + description="Alpha2 code for Christmas Island.") + BY = PermissibleValue( + text="BY", + description="Alpha2 code for Belarus.") + EH = PermissibleValue( + text="EH", + description="Alpha2 code for Western Sahara.") + CF = PermissibleValue( + text="CF", + description="Alpha2 code for Central African Republic (the).") + CY = PermissibleValue( + text="CY", + description="Alpha2 code for Cyprus.") + + _defn = EnumDefinition( + name="CountryNameAlpha2", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "False", + PermissibleValue( + text="False", + description="Alpha2 code for Norway.")) + +class CountryNameAlpha3(EnumDefinitionImpl): + + AFG = PermissibleValue( + text="AFG", + description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue( + text="ALA", + description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue( + text="ALB", + description="Alpha3 code for Albania.") + DZA = PermissibleValue( + text="DZA", + description="Alpha3 code for Algeria.") + ASM = PermissibleValue( + text="ASM", + description="Alpha3 code for American Samoa.") + AND = PermissibleValue( + text="AND", + description="Alpha3 code for Andorra.") + AGO = PermissibleValue( + text="AGO", + description="Alpha3 code for Angola.") + AIA = PermissibleValue( + text="AIA", + description="Alpha3 code for Anguilla.") + ATA = PermissibleValue( + text="ATA", + description="Alpha3 code for Antarctica.") + ATG = PermissibleValue( + text="ATG", + description="Alpha3 code for Antigua and Barbuda.") + ARG = PermissibleValue( + text="ARG", + description="Alpha3 code for Argentina.") + ARM = PermissibleValue( + text="ARM", + description="Alpha3 code for Armenia.") + ABW = PermissibleValue( + text="ABW", + description="Alpha3 code for Aruba.") + AUS = PermissibleValue( + text="AUS", + description="Alpha3 code for Australia.") + AUT = PermissibleValue( + text="AUT", + description="Alpha3 code for Austria.") + AZE = PermissibleValue( + text="AZE", + description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue( + text="BHS", + description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue( + text="BHR", + description="Alpha3 code for Bahrain.") + BGD = PermissibleValue( + text="BGD", + description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue( + text="BRB", + description="Alpha3 code for Barbados.") + BLR = PermissibleValue( + text="BLR", + description="Alpha3 code for Belarus.") + BEL = PermissibleValue( + text="BEL", + description="Alpha3 code for Belgium.") + BLZ = PermissibleValue( + text="BLZ", + description="Alpha3 code for Belize.") + BEN = PermissibleValue( + text="BEN", + description="Alpha3 code for Benin.") + BMU = PermissibleValue( + text="BMU", + description="Alpha3 code for Bermuda.") + BTN = PermissibleValue( + text="BTN", + description="Alpha3 code for Bhutan.") + BOL = PermissibleValue( + text="BOL", + description="Alpha3 code for Bolivia (Plurinational State of).") + BES = PermissibleValue( + text="BES", + description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + BIH = PermissibleValue( + text="BIH", + description="Alpha3 code for Bosnia and Herzegovina.") + BWA = PermissibleValue( + text="BWA", + description="Alpha3 code for Botswana.") + BVT = PermissibleValue( + text="BVT", + description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue( + text="BRA", + description="Alpha3 code for Brazil.") + IOT = PermissibleValue( + text="IOT", + description="Alpha3 code for British Indian Ocean Territory (the).") + BRN = PermissibleValue( + text="BRN", + description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue( + text="BGR", + description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue( + text="BFA", + description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue( + text="BDI", + description="Alpha3 code for Burundi.") + KHM = PermissibleValue( + text="KHM", + description="Alpha3 code for Cambodia.") + CMR = PermissibleValue( + text="CMR", + description="Alpha3 code for Cameroon.") + CAN = PermissibleValue( + text="CAN", + description="Alpha3 code for Canada.") + CPV = PermissibleValue( + text="CPV", + description="Alpha3 code for Cabo Verde.") + CYM = PermissibleValue( + text="CYM", + description="Alpha3 code for Cayman Islands (the).") + CAF = PermissibleValue( + text="CAF", + description="Alpha3 code for Central African Republic (the).") + TCD = PermissibleValue( + text="TCD", + description="Alpha3 code for Chad.") + CHL = PermissibleValue( + text="CHL", + description="Alpha3 code for Chile.") + CHN = PermissibleValue( + text="CHN", + description="Alpha3 code for China.") + CXR = PermissibleValue( + text="CXR", + description="Alpha3 code for Christmas Island.") + CCK = PermissibleValue( + text="CCK", + description="Alpha3 code for Cocos (Keeling) Islands (the).") + COL = PermissibleValue( + text="COL", + description="Alpha3 code for Colombia.") + COM = PermissibleValue( + text="COM", + description="Alpha3 code for Comoros (the).") + COG = PermissibleValue( + text="COG", + description="Alpha3 code for Congo (the).") + COD = PermissibleValue( + text="COD", + description="Alpha3 code for Congo (the Democratic Republic of the).") + COK = PermissibleValue( + text="COK", + description="Alpha3 code for Cook Islands (the).") + CRI = PermissibleValue( + text="CRI", + description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue( + text="CIV", + description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue( + text="HRV", + description="Alpha3 code for Croatia.") + CUB = PermissibleValue( + text="CUB", + description="Alpha3 code for Cuba.") + CUW = PermissibleValue( + text="CUW", + description="Alpha3 code for Curacao.") + CYP = PermissibleValue( + text="CYP", + description="Alpha3 code for Cyprus.") + CZE = PermissibleValue( + text="CZE", + description="Alpha3 code for Czechia.") + DNK = PermissibleValue( + text="DNK", + description="Alpha3 code for Denmark.") + DJI = PermissibleValue( + text="DJI", + description="Alpha3 code for Djibouti.") + DMA = PermissibleValue( + text="DMA", + description="Alpha3 code for Dominica.") + DOM = PermissibleValue( + text="DOM", + description="Alpha3 code for Dominican Republic (the).") + ECU = PermissibleValue( + text="ECU", + description="Alpha3 code for Ecuador.") + EGY = PermissibleValue( + text="EGY", + description="Alpha3 code for Egypt.") + SLV = PermissibleValue( + text="SLV", + description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue( + text="GNQ", + description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue( + text="ERI", + description="Alpha3 code for Eritrea.") + EST = PermissibleValue( + text="EST", + description="Alpha3 code for Estonia.") + ETH = PermissibleValue( + text="ETH", + description="Alpha3 code for Ethiopia.") + FLK = PermissibleValue( + text="FLK", + description="Alpha3 code for Falkland Islands (the) [Malvinas].") + FRO = PermissibleValue( + text="FRO", + description="Alpha3 code for Faroe Islands (the).") + FJI = PermissibleValue( + text="FJI", + description="Alpha3 code for Fiji.") + FIN = PermissibleValue( + text="FIN", + description="Alpha3 code for Finland.") + FRA = PermissibleValue( + text="FRA", + description="Alpha3 code for France.") + GUF = PermissibleValue( + text="GUF", + description="Alpha3 code for French Guiana.") + PYF = PermissibleValue( + text="PYF", + description="Alpha3 code for French Polynesia.") + ATF = PermissibleValue( + text="ATF", + description="Alpha3 code for French Southern Territories (the).") + GAB = PermissibleValue( + text="GAB", + description="Alpha3 code for Gabon.") + GMB = PermissibleValue( + text="GMB", + description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue( + text="GEO", + description="Alpha3 code for Georgia.") + DEU = PermissibleValue( + text="DEU", + description="Alpha3 code for Germany.") + GHA = PermissibleValue( + text="GHA", + description="Alpha3 code for Ghana.") + GIB = PermissibleValue( + text="GIB", + description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue( + text="GRC", + description="Alpha3 code for Greece.") + GRL = PermissibleValue( + text="GRL", + description="Alpha3 code for Greenland.") + GRD = PermissibleValue( + text="GRD", + description="Alpha3 code for Grenada.") + GLP = PermissibleValue( + text="GLP", + description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue( + text="GUM", + description="Alpha3 code for Guam.") + GTM = PermissibleValue( + text="GTM", + description="Alpha3 code for Guatemala.") + GGY = PermissibleValue( + text="GGY", + description="Alpha3 code for Guernsey.") + GIN = PermissibleValue( + text="GIN", + description="Alpha3 code for Guinea.") + GNB = PermissibleValue( + text="GNB", + description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue( + text="GUY", + description="Alpha3 code for Guyana.") + HTI = PermissibleValue( + text="HTI", + description="Alpha3 code for Haiti.") + HMD = PermissibleValue( + text="HMD", + description="Alpha3 code for Heard Island and McDonald Islands.") + VAT = PermissibleValue( + text="VAT", + description="Alpha3 code for Holy See (the).") + HND = PermissibleValue( + text="HND", + description="Alpha3 code for Honduras.") + HKG = PermissibleValue( + text="HKG", + description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue( + text="HUN", + description="Alpha3 code for Hungary.") + ISL = PermissibleValue( + text="ISL", + description="Alpha3 code for Iceland.") + IND = PermissibleValue( + text="IND", + description="Alpha3 code for India.") + IDN = PermissibleValue( + text="IDN", + description="Alpha3 code for Indonesia.") + IRN = PermissibleValue( + text="IRN", + description="Alpha3 code for Iran (Islamic Republic of).") + IRQ = PermissibleValue( + text="IRQ", + description="Alpha3 code for Iraq.") + IRL = PermissibleValue( + text="IRL", + description="Alpha3 code for Ireland.") + IMN = PermissibleValue( + text="IMN", + description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue( + text="ISR", + description="Alpha3 code for Israel.") + ITA = PermissibleValue( + text="ITA", + description="Alpha3 code for Italy.") + JAM = PermissibleValue( + text="JAM", + description="Alpha3 code for Jamaica.") + JPN = PermissibleValue( + text="JPN", + description="Alpha3 code for Japan.") + JEY = PermissibleValue( + text="JEY", + description="Alpha3 code for Jersey.") + JOR = PermissibleValue( + text="JOR", + description="Alpha3 code for Jordan.") + KAZ = PermissibleValue( + text="KAZ", + description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue( + text="KEN", + description="Alpha3 code for Kenya.") + KIR = PermissibleValue( + text="KIR", + description="Alpha3 code for Kiribati.") + PRK = PermissibleValue( + text="PRK", + description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + KOR = PermissibleValue( + text="KOR", + description="Alpha3 code for Korea (the Republic of).") + KWT = PermissibleValue( + text="KWT", + description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue( + text="KGZ", + description="Alpha3 code for Kyrgyzstan.") + LAO = PermissibleValue( + text="LAO", + description="Alpha3 code for Lao Peoples Democratic Republic (the).") + LVA = PermissibleValue( + text="LVA", + description="Alpha3 code for Latvia.") + LBN = PermissibleValue( + text="LBN", + description="Alpha3 code for Lebanon.") + LSO = PermissibleValue( + text="LSO", + description="Alpha3 code for Lesotho.") + LBR = PermissibleValue( + text="LBR", + description="Alpha3 code for Liberia.") + LBY = PermissibleValue( + text="LBY", + description="Alpha3 code for Libya.") + LIE = PermissibleValue( + text="LIE", + description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue( + text="LTU", + description="Alpha3 code for Lithuania.") + LUX = PermissibleValue( + text="LUX", + description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue( + text="MAC", + description="Alpha3 code for Macao.") + MKD = PermissibleValue( + text="MKD", + description="Alpha3 code for Republic of North Macedonia.") + MDG = PermissibleValue( + text="MDG", + description="Alpha3 code for Madagascar.") + MWI = PermissibleValue( + text="MWI", + description="Alpha3 code for Malawi.") + MYS = PermissibleValue( + text="MYS", + description="Alpha3 code for Malaysia.") + MDV = PermissibleValue( + text="MDV", + description="Alpha3 code for Maldives.") + MLI = PermissibleValue( + text="MLI", + description="Alpha3 code for Mali.") + MLT = PermissibleValue( + text="MLT", + description="Alpha3 code for Malta.") + MHL = PermissibleValue( + text="MHL", + description="Alpha3 code for Marshall Islands (the).") + MTQ = PermissibleValue( + text="MTQ", + description="Alpha3 code for Martinique.") + MRT = PermissibleValue( + text="MRT", + description="Alpha3 code for Mauritania.") + MUS = PermissibleValue( + text="MUS", + description="Alpha3 code for Mauritius.") + MYT = PermissibleValue( + text="MYT", + description="Alpha3 code for Mayotte.") + MEX = PermissibleValue( + text="MEX", + description="Alpha3 code for Mexico.") + FSM = PermissibleValue( + text="FSM", + description="Alpha3 code for Micronesia (Federated States of).") + MDA = PermissibleValue( + text="MDA", + description="Alpha3 code for Moldova (the Republic of).") + MCO = PermissibleValue( + text="MCO", + description="Alpha3 code for Monaco.") + MNG = PermissibleValue( + text="MNG", + description="Alpha3 code for Mongolia.") + MNE = PermissibleValue( + text="MNE", + description="Alpha3 code for Montenegro.") + MSR = PermissibleValue( + text="MSR", + description="Alpha3 code for Montserrat.") + MAR = PermissibleValue( + text="MAR", + description="Alpha3 code for Morocco.") + MOZ = PermissibleValue( + text="MOZ", + description="Alpha3 code for Mozambique.") + MMR = PermissibleValue( + text="MMR", + description="Alpha3 code for Myanmar.") + NAM = PermissibleValue( + text="NAM", + description="Alpha3 code for Namibia.") + NRU = PermissibleValue( + text="NRU", + description="Alpha3 code for Nauru.") + NPL = PermissibleValue( + text="NPL", + description="Alpha3 code for Nepal.") + NLD = PermissibleValue( + text="NLD", + description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue( + text="NCL", + description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue( + text="NZL", + description="Alpha3 code for New Zealand.") + NIC = PermissibleValue( + text="NIC", + description="Alpha3 code for Nicaragua.") + NER = PermissibleValue( + text="NER", + description="Alpha3 code for Niger (the).") + NGA = PermissibleValue( + text="NGA", + description="Alpha3 code for Nigeria.") + NIU = PermissibleValue( + text="NIU", + description="Alpha3 code for Niue.") + NFK = PermissibleValue( + text="NFK", + description="Alpha3 code for Norfolk Island.") + MNP = PermissibleValue( + text="MNP", + description="Alpha3 code for Northern Mariana Islands (the).") + NOR = PermissibleValue( + text="NOR", + description="Alpha3 code for Norway.") + OMN = PermissibleValue( + text="OMN", + description="Alpha3 code for Oman.") + PAK = PermissibleValue( + text="PAK", + description="Alpha3 code for Pakistan.") + PLW = PermissibleValue( + text="PLW", + description="Alpha3 code for Palau.") + PSE = PermissibleValue( + text="PSE", + description="Alpha3 code for Palestine, State of.") + PAN = PermissibleValue( + text="PAN", + description="Alpha3 code for Panama.") + PNG = PermissibleValue( + text="PNG", + description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue( + text="PRY", + description="Alpha3 code for Paraguay.") + PER = PermissibleValue( + text="PER", + description="Alpha3 code for Peru.") + PHL = PermissibleValue( + text="PHL", + description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue( + text="PCN", + description="Alpha3 code forPitcairn.") + POL = PermissibleValue( + text="POL", + description="Alpha3 code for Poland.") + PRT = PermissibleValue( + text="PRT", + description="Alpha3 code for Portugal.") + PRI = PermissibleValue( + text="PRI", + description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue( + text="QAT", + description="Alpha3 code for Qatar.") + SRB = PermissibleValue( + text="SRB", + description="Alpha3 code for Serbia.") + REU = PermissibleValue( + text="REU", + description="Alpha3 code for Reunion.") + ROU = PermissibleValue( + text="ROU", + description="Alpha3 code for Romania.") + RUS = PermissibleValue( + text="RUS", + description="Alpha3 code for Russian Federation (the).") + RWA = PermissibleValue( + text="RWA", + description="Alpha3 code for Rwanda.") + BLM = PermissibleValue( + text="BLM", + description="Alpha3 code for Saint Barthelemy.") + SHN = PermissibleValue( + text="SHN", + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + KNA = PermissibleValue( + text="KNA", + description="Alpha3 code for Saint Kitts and Nevis.") + LCA = PermissibleValue( + text="LCA", + description="Alpha3 code for Saint Lucia.") + MAF = PermissibleValue( + text="MAF", + description="Alpha3 code for Saint Martin (French part).") + SPM = PermissibleValue( + text="SPM", + description="Alpha3 code for Saint Pierre and Miquelon.") + VCT = PermissibleValue( + text="VCT", + description="Alpha3 code for Saint Vincent and the Grenadines.") + WSM = PermissibleValue( + text="WSM", + description="Alpha3 code for Samoa.") + SMR = PermissibleValue( + text="SMR", + description="Alpha3 code for San Marino.") + STP = PermissibleValue( + text="STP", + description="Alpha3 code for Sao Tome and Principe.") + SAU = PermissibleValue( + text="SAU", + description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue( + text="SEN", + description="Alpha3 code for Senegal.") + SYC = PermissibleValue( + text="SYC", + description="Alpha3 code for Seychelles.") + SLE = PermissibleValue( + text="SLE", + description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue( + text="SGP", + description="Alpha3 code for Singapore.") + SXM = PermissibleValue( + text="SXM", + description="Alpha3 code for Sint Maarten (Dutch part).") + SVK = PermissibleValue( + text="SVK", + description="Alpha3 code for Slovakia.") + SVN = PermissibleValue( + text="SVN", + description="Alpha3 code for Slovenia.") + SLB = PermissibleValue( + text="SLB", + description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue( + text="SOM", + description="Alpha3 code for Somalia.") + ZAF = PermissibleValue( + text="ZAF", + description="Alpha3 code for South Africa.") + SGS = PermissibleValue( + text="SGS", + description="Alpha3 code for South Georgia and the South Sandwich Islands.") + SSD = PermissibleValue( + text="SSD", + description="Alpha3 code for South Sudan.") + ESP = PermissibleValue( + text="ESP", + description="Alpha3 code for Spain.") + LKA = PermissibleValue( + text="LKA", + description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue( + text="SDN", + description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue( + text="SUR", + description="Alpha3 code for Suriname.") + SJM = PermissibleValue( + text="SJM", + description="Alpha3 code for Svalbard and Jan Mayen.") + SWZ = PermissibleValue( + text="SWZ", + description="Alpha3 code for Eswatini.") + SWE = PermissibleValue( + text="SWE", + description="Alpha3 code for Sweden.") + CHE = PermissibleValue( + text="CHE", + description="Alpha3 code for Switzerland.") + SYR = PermissibleValue( + text="SYR", + description="Alpha3 code for Syrian Arab Republic.") + TWN = PermissibleValue( + text="TWN", + description="Alpha3 code for Taiwan (Province of China).") + TJK = PermissibleValue( + text="TJK", + description="Alpha3 code for Tajikistan.") + TZA = PermissibleValue( + text="TZA", + description="Alpha3 code for Tanzania, United Republic of.") + THA = PermissibleValue( + text="THA", + description="Alpha3 code for Thailand.") + TLS = PermissibleValue( + text="TLS", + description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue( + text="TGO", + description="Alpha3 code for Togo.") + TKL = PermissibleValue( + text="TKL", + description="Alpha3 code for Tokelau.") + TON = PermissibleValue( + text="TON", + description="Alpha3 code for Tonga.") + TTO = PermissibleValue( + text="TTO", + description="Alpha3 code for Trinidad and Tobago.") + TUN = PermissibleValue( + text="TUN", + description="Alpha3 code for Tunisia.") + TUR = PermissibleValue( + text="TUR", + description="Alpha3 code for Turkey.") + XTX = PermissibleValue( + text="XTX", + description="Alpha3 code for Turkish Republic of northern Cyprus.") + TKM = PermissibleValue( + text="TKM", + description="Alpha3 code for Turkmenistan.") + TCA = PermissibleValue( + text="TCA", + description="Alpha3 code for Turks and Caicos Islands (the).") + TUV = PermissibleValue( + text="TUV", + description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue( + text="UGA", + description="Alpha3 code for Uganda.") + UKR = PermissibleValue( + text="UKR", + description="Alpha3 code for Ukraine.") + ARE = PermissibleValue( + text="ARE", + description="Alpha3 code for United Arab Emirates (the).") + GBR = PermissibleValue( + text="GBR", + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + USA = PermissibleValue( + text="USA", + description="Alpha3 code for United States of America (the).") + UMI = PermissibleValue( + text="UMI", + description="Alpha3 code for United States Minor Outlying Islands (the).") + URY = PermissibleValue( + text="URY", + description="Alpha3 code for Uruguay.") + UZB = PermissibleValue( + text="UZB", + description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue( + text="VUT", + description="Alpha3 code for Vanuatu.") + VEN = PermissibleValue( + text="VEN", + description="Alpha3 code for Venezuela (Bolivarian Republic of).") + VNM = PermissibleValue( + text="VNM", + description="Alpha3 code for Viet Nam.") + VGB = PermissibleValue( + text="VGB", + description="Alpha3 code for Virgin Islands (British).") + VIR = PermissibleValue( + text="VIR", + description="Alpha3 code for Virgin Islands (U.S.).") + WLF = PermissibleValue( + text="WLF", + description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue( + text="ESH", + description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue( + text="YEM", + description="Alpha3 code for Yemen.") + ZMB = PermissibleValue( + text="ZMB", + description="Alpha3 code for Zambia.") + ZWE = PermissibleValue( + text="ZWE", + description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue( + text="XKX", + description="Alpha3 code for Kosovo.") + + _defn = EnumDefinition( + name="CountryNameAlpha3", + ) + +class CountryNameNumeric(EnumDefinitionImpl): + + _defn = EnumDefinition( + name="CountryNameNumeric", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4", + PermissibleValue( + text="4", + description="Numeric code for Afghanistan.")) + setattr(cls, "818", + PermissibleValue( + text="818", + description="Numeric code for Egypt.")) + setattr(cls, "248", + PermissibleValue( + text="248", + description="Numeric code for Aland Islands.")) + setattr(cls, "008", + PermissibleValue( + text="008", + description="Numeric code for Albania.")) + setattr(cls, "10", + PermissibleValue( + text="10", + description="Numeric code for Algeria.")) + setattr(cls, "850", + PermissibleValue( + text="850", + description="Numeric code for Virgin Islands (U.S.).")) + setattr(cls, "581", + PermissibleValue( + text="581", + description="Numeric code for United States Minor Outlying Islands (the).")) + setattr(cls, "14", + PermissibleValue( + text="14", + description="Numeric code for American Samoa.")) + setattr(cls, "16", + PermissibleValue( + text="16", + description="Numeric code for Andorra.")) + setattr(cls, "20", + PermissibleValue( + text="20", + description="Numeric code for Angola.")) + setattr(cls, "660", + PermissibleValue( + text="660", + description="Numeric code for Anguilla.")) + setattr(cls, "8", + PermissibleValue( + text="8", + description="Numeric code for Antarctica.")) + setattr(cls, "028", + PermissibleValue( + text="028", + description="Numeric code for Antigua and Barbuda.")) + setattr(cls, "226", + PermissibleValue( + text="226", + description="Numeric code for Equatorial Guinea.")) + setattr(cls, "760", + PermissibleValue( + text="760", + description="Numeric code for Syrian Arab Republic.")) + setattr(cls, "26", + PermissibleValue( + text="26", + description="Numeric code for Argentina.")) + setattr(cls, "41", + PermissibleValue( + text="41", + description="Numeric code for Armenia.")) + setattr(cls, "231", + PermissibleValue( + text="231", + description="Numeric code for Ethiopia.")) + setattr(cls, "30", + PermissibleValue( + text="30", + description="Numeric code for Australia.")) + setattr(cls, "36", + PermissibleValue( + text="36", + description="Numeric code for Bahamas (the).")) + setattr(cls, "048", + PermissibleValue( + text="048", + description="Numeric code for Bahrain.")) + setattr(cls, "40", + PermissibleValue( + text="40", + description="Numeric code for Bangladesh.")) + setattr(cls, "42", + PermissibleValue( + text="42", + description="Numeric code for Barbados.")) + setattr(cls, "46", + PermissibleValue( + text="46", + description="Numeric code forBelgium.")) + setattr(cls, "084", + PermissibleValue( + text="084", + description="Numeric code for Belize.")) + setattr(cls, "204", + PermissibleValue( + text="204", + description="Numeric code for Benin.")) + setattr(cls, "48", + PermissibleValue( + text="48", + description="Numeric code for Bermuda.")) + setattr(cls, "52", + PermissibleValue( + text="52", + description="Numeric code for Bhutan.")) + setattr(cls, "58", + PermissibleValue( + text="58", + description="Numeric code for Botswana.")) + setattr(cls, "60", + PermissibleValue( + text="60", + description="Numeric code for Bouvet Island.")) + setattr(cls, "62", + PermissibleValue( + text="62", + description="Numeric code for Brazil.")) + setattr(cls, "092", + PermissibleValue( + text="092", + description="Numeric code for Virgin Islands (British).")) + setattr(cls, "086", + PermissibleValue( + text="086", + description="Numeric code for British Indian Ocean Territory (the).")) + setattr(cls, "854", + PermissibleValue( + text="854", + description="Numeric code for Burkina Faso.")) + setattr(cls, "108", + PermissibleValue( + text="108", + description="Numeric code for Burundi.")) + setattr(cls, "132", + PermissibleValue( + text="132", + description="Numeric code for Cabo Verde.")) + setattr(cls, "152", + PermissibleValue( + text="152", + description="Numeric code for Chile.")) + setattr(cls, "156", + PermissibleValue( + text="156", + description="Numeric code for China.")) + setattr(cls, "184", + PermissibleValue( + text="184", + description="Numeric code for Cook Islands (the).")) + setattr(cls, "188", + PermissibleValue( + text="188", + description="Numeric code for Costa Rica.")) + setattr(cls, "384", + PermissibleValue( + text="384", + description="Numeric code for Cote dIvoire.")) + setattr(cls, "531", + PermissibleValue( + text="531", + description="Numeric code for Curacao.")) + setattr(cls, "208", + PermissibleValue( + text="208", + description="Numeric code for Denmark.")) + setattr(cls, "180", + PermissibleValue( + text="180", + description="Numeric code for Congo (the Democratic Republic of the).")) + setattr(cls, "408", + PermissibleValue( + text="408", + description="Numeric code for Korea (the Democratic Peoples Republic of).")) + setattr(cls, "418", + PermissibleValue( + text="418", + description="Numeric code for Lao Peoples Democratic Republic (the).")) + setattr(cls, "276", + PermissibleValue( + text="276", + description="Numeric code for Germany.")) + setattr(cls, "212", + PermissibleValue( + text="212", + description="Numeric code for Dominica.")) + setattr(cls, "214", + PermissibleValue( + text="214", + description="Numeric code for Dominican Republic (the).")) + setattr(cls, "262", + PermissibleValue( + text="262", + description="Numeric code for Djibouti.")) + setattr(cls, "218", + PermissibleValue( + text="218", + description="Numeric code for Ecuador.")) + setattr(cls, "807", + PermissibleValue( + text="807", + description="Numeric code for Republic of North Macedonia.")) + setattr(cls, "222", + PermissibleValue( + text="222", + description="Numeric code for El Salvador.")) + setattr(cls, "232", + PermissibleValue( + text="232", + description="Numeric code for Eritrea.")) + setattr(cls, "233", + PermissibleValue( + text="233", + description="Numeric code for Estonia.")) + setattr(cls, "238", + PermissibleValue( + text="238", + description="Numeric code for Falkland Islands (the) [Malvinas].")) + setattr(cls, "234", + PermissibleValue( + text="234", + description="Numeric code for Faroe Islands (the).")) + setattr(cls, "242", + PermissibleValue( + text="242", + description="Numeric code for Fiji.")) + setattr(cls, "246", + PermissibleValue( + text="246", + description="Numeric code for Finland.")) + setattr(cls, "583", + PermissibleValue( + text="583", + description="Numeric code for Micronesia (Federated States of).")) + setattr(cls, "250", + PermissibleValue( + text="250", + description="Numeric code for France.")) + setattr(cls, "260", + PermissibleValue( + text="260", + description="Numeric code for French Southern Territories (the).")) + setattr(cls, "254", + PermissibleValue( + text="254", + description="Numeric code for French Guiana.")) + setattr(cls, "258", + PermissibleValue( + text="258", + description="Numeric code for French Polynesia.")) + setattr(cls, "266", + PermissibleValue( + text="266", + description="Numeric code for Gabon.")) + setattr(cls, "270", + PermissibleValue( + text="270", + description="Numeric code for Gambia (the).")) + setattr(cls, "268", + PermissibleValue( + text="268", + description="Numeric code for Georgia.")) + setattr(cls, "288", + PermissibleValue( + text="288", + description="Numeric code for Ghana.")) + setattr(cls, "292", + PermissibleValue( + text="292", + description="Numeric code for Gibraltar.")) + setattr(cls, "308", + PermissibleValue( + text="308", + description="Numeric code for Grenada.")) + setattr(cls, "300", + PermissibleValue( + text="300", + description="Numeric code for Greece.")) + setattr(cls, "304", + PermissibleValue( + text="304", + description="Numeric code for Greenland.")) + setattr(cls, "312", + PermissibleValue( + text="312", + description="Numeric code for Guadeloupe.")) + setattr(cls, "316", + PermissibleValue( + text="316", + description="Numeric code for Guam.")) + setattr(cls, "320", + PermissibleValue( + text="320", + description="Numeric code for Guatemala.")) + setattr(cls, "831", + PermissibleValue( + text="831", + description="Numeric code for Guernsey.")) + setattr(cls, "324", + PermissibleValue( + text="324", + description="Numeric code for Guinea.")) + setattr(cls, "624", + PermissibleValue( + text="624", + description="Numeric code for Guinea-Bissau.")) + setattr(cls, "328", + PermissibleValue( + text="328", + description="Numeric code for Guyana.")) + setattr(cls, "332", + PermissibleValue( + text="332", + description="Numeric code for Haiti.")) + setattr(cls, "334", + PermissibleValue( + text="334", + description="Numeric code for Heard Island and McDonald Islands.")) + setattr(cls, "340", + PermissibleValue( + text="340", + description="Numeric code for Honduras.")) + setattr(cls, "344", + PermissibleValue( + text="344", + description="Numeric code for Hong Kong.")) + setattr(cls, "356", + PermissibleValue( + text="356", + description="Numeric code for India.")) + setattr(cls, "360", + PermissibleValue( + text="360", + description="Numeric code for Indonesia.")) + setattr(cls, "833", + PermissibleValue( + text="833", + description="Numeric code for Isle of Man.")) + setattr(cls, "368", + PermissibleValue( + text="368", + description="Numeric code for Iraq.")) + setattr(cls, "372", + PermissibleValue( + text="372", + description="Numeric code for Ireland.")) + setattr(cls, "364", + PermissibleValue( + text="364", + description="Numeric code for Iran (Islamic Republic of).")) + setattr(cls, "352", + PermissibleValue( + text="352", + description="Numeric code for Iceland.")) + setattr(cls, "376", + PermissibleValue( + text="376", + description="Numeric code for Israel.")) + setattr(cls, "380", + PermissibleValue( + text="380", + description="Numeric code for Italy.")) + setattr(cls, "388", + PermissibleValue( + text="388", + description="Numeric code for Jamaica.")) + setattr(cls, "392", + PermissibleValue( + text="392", + description="Numeric code for Japan.")) + setattr(cls, "887", + PermissibleValue( + text="887", + description="Numeric code for Yemen.")) + setattr(cls, "832", + PermissibleValue( + text="832", + description="Numeric code for Jersey.")) + setattr(cls, "400", + PermissibleValue( + text="400", + description="Numeric code for Jordan.")) + setattr(cls, "136", + PermissibleValue( + text="136", + description="Numeric code for Cayman Islands (the).")) + setattr(cls, "116", + PermissibleValue( + text="116", + description="Numeric code for Cambodia.")) + setattr(cls, "120", + PermissibleValue( + text="120", + description="Numeric code for Cameroon.")) + setattr(cls, "124", + PermissibleValue( + text="124", + description="Numeric code for Canada.")) + setattr(cls, "398", + PermissibleValue( + text="398", + description="Numeric code for Kazakhstan.")) + setattr(cls, "634", + PermissibleValue( + text="634", + description="Numeric code for Qatar.")) + setattr(cls, "404", + PermissibleValue( + text="404", + description="Numeric code for Kenya.")) + setattr(cls, "417", + PermissibleValue( + text="417", + description="Numeric code for Kyrgyzstan.")) + setattr(cls, "296", + PermissibleValue( + text="296", + description="Numeric code for Kiribati.")) + setattr(cls, "166", + PermissibleValue( + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).")) + setattr(cls, "170", + PermissibleValue( + text="170", + description="Numeric code for Colombia.")) + setattr(cls, "174", + PermissibleValue( + text="174", + description="Numeric code for Comoros (the).")) + setattr(cls, "178", + PermissibleValue( + text="178", + description="Numeric code for Congo (the).")) + setattr(cls, "191", + PermissibleValue( + text="191", + description="Numeric code for Croatia.")) + setattr(cls, "192", + PermissibleValue( + text="192", + description="Numeric code for Cuba.")) + setattr(cls, "414", + PermissibleValue( + text="414", + description="Numeric code for Kuwait.")) + setattr(cls, "426", + PermissibleValue( + text="426", + description="Numeric code for Lesotho.")) + setattr(cls, "428", + PermissibleValue( + text="428", + description="Numeric code for Latvia.")) + setattr(cls, "422", + PermissibleValue( + text="422", + description="Numeric code for Lebanon.")) + setattr(cls, "430", + PermissibleValue( + text="430", + description="Numeric code for Liberia.")) + setattr(cls, "434", + PermissibleValue( + text="434", + description="Numeric code for Libya.")) + setattr(cls, "438", + PermissibleValue( + text="438", + description="Numeric code for Liechtenstein.")) + setattr(cls, "440", + PermissibleValue( + text="440", + description="Numeric code for Lithuania.")) + setattr(cls, "442", + PermissibleValue( + text="442", + description="Numeric code for Luxembourg.")) + setattr(cls, "446", + PermissibleValue( + text="446", + description="Numeric code for Macao.")) + setattr(cls, "450", + PermissibleValue( + text="450", + description="Numeric code for Madagascar.")) + setattr(cls, "454", + PermissibleValue( + text="454", + description="Numeric code for Malawi.")) + setattr(cls, "458", + PermissibleValue( + text="458", + description="Numeric code for Malaysia.")) + setattr(cls, "462", + PermissibleValue( + text="462", + description="Numeric code for Maldives.")) + setattr(cls, "466", + PermissibleValue( + text="466", + description="Numeric code for Mali.")) + setattr(cls, "470", + PermissibleValue( + text="470", + description="Numeric code for Malta .")) + setattr(cls, "580", + PermissibleValue( + text="580", + description="Numeric code for Northern Mariana Islands (the).")) + setattr(cls, "504", + PermissibleValue( + text="504", + description="Numeric code for Morocco.")) + setattr(cls, "584", + PermissibleValue( + text="584", + description="Numeric code for Marshall Islands (the).")) + setattr(cls, "474", + PermissibleValue( + text="474", + description="Numeric code for Martinique.")) + setattr(cls, "478", + PermissibleValue( + text="478", + description="Numeric code for Mauritania.")) + setattr(cls, "480", + PermissibleValue( + text="480", + description="Numeric code for Mauritius.")) + setattr(cls, "175", + PermissibleValue( + text="175", + description="Numeric code for Mayotte.")) + setattr(cls, "484", + PermissibleValue( + text="484", + description="Numeric code for Mexico.")) + setattr(cls, "492", + PermissibleValue( + text="492", + description="Numeric code for Monaco.")) + setattr(cls, "496", + PermissibleValue( + text="496", + description="Numeric code for Mongolia.")) + setattr(cls, "500", + PermissibleValue( + text="500", + description="Numeric code for Montserrat.")) + setattr(cls, "499", + PermissibleValue( + text="499", + description="Numeric code for Montenegro.")) + setattr(cls, "508", + PermissibleValue( + text="508", + description="Numeric code for Mozambique.")) + setattr(cls, "104", + PermissibleValue( + text="104", + description="Numeric code for Myanmar.")) + setattr(cls, "516", + PermissibleValue( + text="516", + description="Numeric code for Namibia.")) + setattr(cls, "520", + PermissibleValue( + text="520", + description="Numeric code for Nauru.")) + setattr(cls, "524", + PermissibleValue( + text="524", + description="Numeric code for Nepal.")) + setattr(cls, "540", + PermissibleValue( + text="540", + description="Numeric code for New Caledonia.")) + setattr(cls, "554", + PermissibleValue( + text="554", + description="Numeric code for New Zealand.")) + setattr(cls, "558", + PermissibleValue( + text="558", + description="Numeric code for Nicaragua.")) + setattr(cls, "528", + PermissibleValue( + text="528", + description="Numeric code for Netherlands (the).")) + setattr(cls, "562", + PermissibleValue( + text="562", + description="Numeric code for Niger (the).")) + setattr(cls, "566", + PermissibleValue( + text="566", + description="Numeric code for Nigeria.")) + setattr(cls, "570", + PermissibleValue( + text="570", + description="Numeric code for Niue.")) + setattr(cls, "574", + PermissibleValue( + text="574", + description="Numeric code for Norfolk Island.")) + setattr(cls, "578", + PermissibleValue( + text="578", + description="Numeric code for Norway.")) + setattr(cls, "512", + PermissibleValue( + text="512", + description="Numeric code for Oman.")) + setattr(cls, "32", + PermissibleValue( + text="32", + description="Numeric code for Austria.")) + setattr(cls, "586", + PermissibleValue( + text="586", + description="Numeric code for Pakistan.")) + setattr(cls, "585", + PermissibleValue( + text="585", + description="Numeric code for Palau.")) + setattr(cls, "275", + PermissibleValue( + text="275", + description="Numeric code for Palestine, State of.")) + setattr(cls, "591", + PermissibleValue( + text="591", + description="Numeric code for Panama.")) + setattr(cls, "598", + PermissibleValue( + text="598", + description="Numeric code for Papua New Guinea.")) + setattr(cls, "600", + PermissibleValue( + text="600", + description="Numeric code for Paraguay.")) + setattr(cls, "604", + PermissibleValue( + text="604", + description="Numeric code for Peru.")) + setattr(cls, "608", + PermissibleValue( + text="608", + description="Numeric code for Philippines (the).")) + setattr(cls, "612", + PermissibleValue( + text="612", + description="Numeric code for Pitcairn.")) + setattr(cls, "068", + PermissibleValue( + text="068", + description="Numeric code for Bolivia (Plurinational State of).")) + setattr(cls, "616", + PermissibleValue( + text="616", + description="Numeric code for Poland.")) + setattr(cls, "620", + PermissibleValue( + text="620", + description="Numeric code for Portugal.")) + setattr(cls, "630", + PermissibleValue( + text="630", + description="Numeric code for Puerto Rico.")) + setattr(cls, "410", + PermissibleValue( + text="410", + description="Numeric code for Korea (the Republic of).")) + setattr(cls, "498", + PermissibleValue( + text="498", + description="Numeric code for Moldova (the Republic of).")) + setattr(cls, "638", + PermissibleValue( + text="638", + description="Numeric code for Reunion.")) + setattr(cls, "646", + PermissibleValue( + text="646", + description="Numeric code for Rwanda.")) + setattr(cls, "642", + PermissibleValue( + text="642", + description="Numeric code for Romania.")) + setattr(cls, "643", + PermissibleValue( + text="643", + description="Numeric code for Russian Federation (the).")) + setattr(cls, "090", + PermissibleValue( + text="090", + description="Numeric code for Solomon Islands.")) + setattr(cls, "894", + PermissibleValue( + text="894", + description="Numeric code for Zambia.")) + setattr(cls, "882", + PermissibleValue( + text="882", + description="Numeric code for Samoa.")) + setattr(cls, "674", + PermissibleValue( + text="674", + description="Numeric code for San Marino.")) + setattr(cls, "678", + PermissibleValue( + text="678", + description="Numeric code for Sao Tome and Principe.")) + setattr(cls, "682", + PermissibleValue( + text="682", + description="Numeric code for Saudi Arabia.")) + setattr(cls, "752", + PermissibleValue( + text="752", + description="Numeric code for Sweden.")) + setattr(cls, "756", + PermissibleValue( + text="756", + description="Numeric code for Switzerland.")) + setattr(cls, "686", + PermissibleValue( + text="686", + description="Numeric code for Senegal.")) + setattr(cls, "688", + PermissibleValue( + text="688", + description="Numeric code for Serbia.")) + setattr(cls, "690", + PermissibleValue( + text="690", + description="Numeric code for Seychelles.")) + setattr(cls, "694", + PermissibleValue( + text="694", + description="Numeric code for Sierra Leone.")) + setattr(cls, "716", + PermissibleValue( + text="716", + description="Numeric code for Zimbabwe.")) + setattr(cls, "702", + PermissibleValue( + text="702", + description="Numeric code for Singapore.")) + setattr(cls, "703", + PermissibleValue( + text="703", + description="Numeric code for Slovakia.")) + setattr(cls, "705", + PermissibleValue( + text="705", + description="Numeric code for Slovenia.")) + setattr(cls, "706", + PermissibleValue( + text="706", + description="Numeric code for Somalia.")) + setattr(cls, "724", + PermissibleValue( + text="724", + description="Numeric code for Spain.")) + setattr(cls, "144", + PermissibleValue( + text="144", + description="Numeric code for Sri Lanka.")) + setattr(cls, "652", + PermissibleValue( + text="652", + description="Numeric code for Saint Barthelemy.")) + setattr(cls, "654", + PermissibleValue( + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) + setattr(cls, "659", + PermissibleValue( + text="659", + description="Numeric code for Saint Kitts and Nevis.")) + setattr(cls, "662", + PermissibleValue( + text="662", + description="Numeric code for Saint Lucia.")) + setattr(cls, "663", + PermissibleValue( + text="663", + description="Numeric code for Saint Martin (French part).")) + setattr(cls, "534", + PermissibleValue( + text="534", + description="Numeric code for Sint Maarten (Dutch part).")) + setattr(cls, "666", + PermissibleValue( + text="666", + description="Numeric code for Saint Pierre and Miquelon.")) + setattr(cls, "670", + PermissibleValue( + text="670", + description="Numeric code for Saint Vincent and the Grenadines.")) + setattr(cls, "710", + PermissibleValue( + text="710", + description="Numeric code for South Africa.")) + setattr(cls, "729", + PermissibleValue( + text="729", + description="Numeric code forSudan (the).")) + setattr(cls, "239", + PermissibleValue( + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.")) + setattr(cls, "728", + PermissibleValue( + text="728", + description="Numeric code for South Sudan.")) + setattr(cls, "740", + PermissibleValue( + text="740", + description="Numeric code for Suriname.")) + setattr(cls, "744", + PermissibleValue( + text="744", + description="Numeric code for Svalbard and Jan Mayen.")) + setattr(cls, "748", + PermissibleValue( + text="748", + description="Numeric code for Eswatini.")) + setattr(cls, "762", + PermissibleValue( + text="762", + description="Numeric code for Tajikistan.")) + setattr(cls, "158", + PermissibleValue( + text="158", + description="Numeric code for Taiwan (Province of China).")) + setattr(cls, "764", + PermissibleValue( + text="764", + description="Numeric code for Thailand.")) + setattr(cls, "626", + PermissibleValue( + text="626", + description="Numeric code for Timor-Leste.")) + setattr(cls, "768", + PermissibleValue( + text="768", + description="Numeric code for Togo.")) + setattr(cls, "772", + PermissibleValue( + text="772", + description="Numeric code for Tokelau.")) + setattr(cls, "776", + PermissibleValue( + text="776", + description="Numeric code for Tonga.")) + setattr(cls, "780", + PermissibleValue( + text="780", + description="Numeric code for Trinidad and Tobago.")) + setattr(cls, "148", + PermissibleValue( + text="148", + description="Numeric code for Chad.")) + setattr(cls, "203", + PermissibleValue( + text="203", + description="Numeric code for Czechia.")) + setattr(cls, "788", + PermissibleValue( + text="788", + description="Numeric code for Tunisia.")) + setattr(cls, "792", + PermissibleValue( + text="792", + description="Numeric code for Turkey.")) + setattr(cls, "795", + PermissibleValue( + text="795", + description="Numeric code for Turkmenistan.")) + setattr(cls, "796", + PermissibleValue( + text="796", + description="Numeric code for Turks and Caicos Islands (the).")) + setattr(cls, "798", + PermissibleValue( + text="798", + description="Numeric code for Tuvalu.")) + setattr(cls, "800", + PermissibleValue( + text="800", + description="Numeric code for Uganda.")) + setattr(cls, "804", + PermissibleValue( + text="804", + description="Numeric code for Ukraine.")) + setattr(cls, "348", + PermissibleValue( + text="348", + description="Numeric code for Hungary.")) + setattr(cls, "858", + PermissibleValue( + text="858", + description="Numeric code for Uruguay.")) + setattr(cls, "860", + PermissibleValue( + text="860", + description="Numeric code for Uzbekistan.")) + setattr(cls, "548", + PermissibleValue( + text="548", + description="Numeric code for Vanuatu.")) + setattr(cls, "336", + PermissibleValue( + text="336", + description="Numeric code for Holy See (the).")) + setattr(cls, "784", + PermissibleValue( + text="784", + description="Numeric code for United Arab Emirates (the).")) + setattr(cls, "834", + PermissibleValue( + text="834", + description="Numeric code for Tanzania, United Republic of.")) + setattr(cls, "840", + PermissibleValue( + text="840", + description="Numeric code for United States of America (the).")) + setattr(cls, "826", + PermissibleValue( + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) + setattr(cls, "704", + PermissibleValue( + text="704", + description="Numeric code for Viet Nam.")) + setattr(cls, "876", + PermissibleValue( + text="876", + description="Numeric code for Wallis and Futuna.")) + setattr(cls, "162", + PermissibleValue( + text="162", + description="Numeric code for Christmas Island.")) + setattr(cls, "112", + PermissibleValue( + text="112", + description="Numeric code for Belarus.")) + setattr(cls, "732", + PermissibleValue( + text="732", + description="Numeric code for Western Sahara.")) + setattr(cls, "140", + PermissibleValue( + text="140", + description="Numeric code for Central African Republic (the).")) + setattr(cls, "196", + PermissibleValue( + text="196", + description="Numeric code for Cyprus.")) + +class Architectures(EnumDefinitionImpl): + + other = PermissibleValue( + text="other", + description="CPU architecture not specified above.") + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "x86-32", + PermissibleValue( + text="x86-32", + description="32 bit version of x86 architecture.")) + setattr(cls, "x86-64", + PermissibleValue( + text="x86-64", + description="64 bit version of x86 architecture.")) + setattr(cls, "AArch-32", + PermissibleValue( + text="AArch-32", + description="32-bit version of ARM architecture.")) + setattr(cls, "AArch-64", + PermissibleValue( + text="AArch-64", + description="64-bit version of ARM architecture.")) + setattr(cls, "RISC-V", + PermissibleValue( + text="RISC-V", + description="Architecture based on open standard instruction set (ISA).")) + +class EncryptionAlgorithm(EnumDefinitionImpl): + + RSA = PermissibleValue( + text="RSA", + description="TBD") + AES = PermissibleValue( + text="AES", + description="TBD") + Blowfish = PermissibleValue( + text="Blowfish", + description="TBD") + Twofish = PermissibleValue( + text="Twofish", + description="TBD") + SDA = PermissibleValue( + text="SDA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for encryption not further described.") + + _defn = EnumDefinition( + name="EncryptionAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "3DES", + PermissibleValue( + text="3DES", + description="TBD")) + +class ChecksumAlgorithm(EnumDefinitionImpl): + + md5 = PermissibleValue( + text="md5", + description="TBD") + blake2 = PermissibleValue( + text="blake2", + description="TBD") + blake3 = PermissibleValue( + text="blake3", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm to calcualte checksum not further described.") + + _defn = EnumDefinition( + name="ChecksumAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "sha-1", + PermissibleValue( + text="sha-1", + description="TBD")) + setattr(cls, "sha-2", + PermissibleValue( + text="sha-2", + description="TBD")) + setattr(cls, "sha-3", + PermissibleValue( + text="sha-3", + description="TBD")) + setattr(cls, "ripemd-160", + PermissibleValue( + text="ripemd-160", + description="TBD")) + +class KeyManagement(EnumDefinitionImpl): + + BYOK = PermissibleValue( + text="BYOK", + description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + HYOK = PermissibleValue( + text="HYOK", + description="hold-your-own-key Key created by user and kept by user") + managed = PermissibleValue( + text="managed", + description="managed: Keys are created by and stored in key manager of cloud.") + + _defn = EnumDefinition( + name="KeyManagement", + ) + +class SignatureAlgorithm(EnumDefinitionImpl): + + ECDSA = PermissibleValue( + text="ECDSA", + description="TBD") + DSA = PermissibleValue( + text="DSA", + description="TBD") + other = PermissibleValue( + text="other", + description="Algorithm for digital signatures not further described.") + + _defn = EnumDefinition( + name="SignatureAlgorithm", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "RSA-Signature", + PermissibleValue( + text="RSA-Signature", + description="TBD")) + +class DiskTypes(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="DiskTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "local SSD", + PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", + PermissibleValue(text="local HDD")) + setattr(cls, "shared network storage", + PermissibleValue(text="shared network storage")) + setattr(cls, "high-perf NVMe", + PermissibleValue(text="high-perf NVMe")) + +class GPUInterconnetionTypes(EnumDefinitionImpl): + + NVLink = PermissibleValue(text="NVLink") + RoCE2 = PermissibleValue(text="RoCE2") + other = PermissibleValue(text="other") + none = PermissibleValue(text="none") + + _defn = EnumDefinition( + name="GPUInterconnetionTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Xe Link", + PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", + PermissibleValue(text="Infinity Fabric")) + +class UpdateFrequency(EnumDefinitionImpl): + """ + Possible values for image's update frequency. + """ + yearly = PermissibleValue( + text="yearly", + description="Image will be updated at least once per year.") + quarterly = PermissibleValue( + text="quarterly", + description="Image will be updated at least once per month.") + weekly = PermissibleValue( + text="weekly", + description="Image will be updated at least once per week.") + daily = PermissibleValue( + text="daily", + description="Image will be updated at least once per day.") + critical_bug = PermissibleValue( + text="critical_bug", + description="Image will be updated for critical bugs only.") + never = PermissibleValue( + text="never", + description="Image will never be updated.") + + _defn = EnumDefinition( + name="UpdateFrequency", + description="Possible values for image's update frequency.", + ) + +class Validity1(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + none = PermissibleValue( + text="none", + description="No information are given.") + notice = PermissibleValue( + text="notice", + description="Outdated version of the image will remain valid until a deprecation notice will be published.") + + _defn = EnumDefinition( + name="Validity1", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class Validity2(EnumDefinitionImpl): + """ + Possible values for definition of image's validity after upgrading to a new version. + """ + forever = PermissibleValue( + text="forever", + description="Outdated version of the image will remain valid for as long as the cloud operates.") + + _defn = EnumDefinition( + name="Validity2", + description="Possible values for definition of image's validity after upgrading to a new version.", + ) + +class GaiaXTermsAndConditions(EnumDefinitionImpl): + """ + SHA256 check sum of Gaia-X Terms and Conditions. + """ + _defn = EnumDefinition( + name="GaiaXTermsAndConditions", + description="SHA256 check sum of Gaia-X Terms and Conditions.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + +class MemoryClasses(EnumDefinitionImpl): + + DDR4 = PermissibleValue(text="DDR4") + DDR5 = PermissibleValue(text="DDR5") + GDDR5 = PermissibleValue(text="GDDR5") + GDDR6 = PermissibleValue(text="GDDR6") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryClasses", + ) + +class MemoryRanks(EnumDefinitionImpl): + + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="MemoryRanks", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1R RDIMM", + PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", + PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", + PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", + PermissibleValue(text="8R LRDIMM")) + +class PXEDiskType(EnumDefinitionImpl): + + WINPE = PermissibleValue(text="WINPE") + ISO = PermissibleValue(text="ISO") + + _defn = EnumDefinition( + name="PXEDiskType", + ) + +class SPDX(EnumDefinitionImpl): + + AAL = PermissibleValue(text="AAL") + Abstyles = PermissibleValue(text="Abstyles") + ADSL = PermissibleValue(text="ADSL") + Afmparse = PermissibleValue(text="Afmparse") + Aladdin = PermissibleValue(text="Aladdin") + AMDPLPA = PermissibleValue(text="AMDPLPA") + AML = PermissibleValue(text="AML") + AMPAS = PermissibleValue(text="AMPAS") + APAFML = PermissibleValue(text="APAFML") + Baekmuk = PermissibleValue(text="Baekmuk") + Bahyph = PermissibleValue(text="Bahyph") + Barr = PermissibleValue(text="Barr") + Beerware = PermissibleValue(text="Beerware") + blessing = PermissibleValue(text="blessing") + Borceux = PermissibleValue(text="Borceux") + Caldera = PermissibleValue(text="Caldera") + CFITSIO = PermissibleValue(text="CFITSIO") + checkmk = PermissibleValue(text="checkmk") + ClArtistic = PermissibleValue(text="ClArtistic") + Clips = PermissibleValue(text="Clips") + Crossword = PermissibleValue(text="Crossword") + CrystalStacker = PermissibleValue(text="CrystalStacker") + Cube = PermissibleValue(text="Cube") + curl = PermissibleValue(text="curl") + diffmark = PermissibleValue(text="diffmark") + DOC = PermissibleValue(text="DOC") + Dotseqn = PermissibleValue(text="Dotseqn") + DSDP = PermissibleValue(text="DSDP") + dtoa = PermissibleValue(text="dtoa") + dvipdfm = PermissibleValue(text="dvipdfm") + eGenix = PermissibleValue(text="eGenix") + Entessa = PermissibleValue(text="Entessa") + EPICS = PermissibleValue(text="EPICS") + EUDatagrid = PermissibleValue(text="EUDatagrid") + Eurosym = PermissibleValue(text="Eurosym") + Fair = PermissibleValue(text="Fair") + FreeImage = PermissibleValue(text="FreeImage") + FSFAP = PermissibleValue(text="FSFAP") + FSFUL = PermissibleValue(text="FSFUL") + FSFULLR = PermissibleValue(text="FSFULLR") + FSFULLRWD = PermissibleValue(text="FSFULLRWD") + FTL = PermissibleValue(text="FTL") + GD = PermissibleValue(text="GD") + Giftware = PermissibleValue(text="Giftware") + GL2PS = PermissibleValue(text="GL2PS") + Glide = PermissibleValue(text="Glide") + Glulxe = PermissibleValue(text="Glulxe") + GLWTPL = PermissibleValue(text="GLWTPL") + gnuplot = PermissibleValue(text="gnuplot") + HaskellReport = PermissibleValue(text="HaskellReport") + HPND = PermissibleValue(text="HPND") + HTMLTIDY = PermissibleValue(text="HTMLTIDY") + ICU = PermissibleValue(text="ICU") + IJG = PermissibleValue(text="IJG") + ImageMagick = PermissibleValue(text="ImageMagick") + iMatix = PermissibleValue(text="iMatix") + Imlib2 = PermissibleValue(text="Imlib2") + Intel = PermissibleValue(text="Intel") + IPA = PermissibleValue(text="IPA") + ISC = PermissibleValue(text="ISC") + Jam = PermissibleValue(text="Jam") + JPNIC = PermissibleValue(text="JPNIC") + JSON = PermissibleValue(text="JSON") + Kazlib = PermissibleValue(text="Kazlib") + Latex2e = PermissibleValue(text="Latex2e") + Leptonica = PermissibleValue(text="Leptonica") + LGPLLR = PermissibleValue(text="LGPLLR") + Libpng = PermissibleValue(text="Libpng") + libtiff = PermissibleValue(text="libtiff") + LOOP = PermissibleValue(text="LOOP") + MakeIndex = PermissibleValue(text="MakeIndex") + metamail = PermissibleValue(text="metamail") + Minpack = PermissibleValue(text="Minpack") + MirOS = PermissibleValue(text="MirOS") + MIT = PermissibleValue(text="MIT") + MITNFA = PermissibleValue(text="MITNFA") + Motosoto = PermissibleValue(text="Motosoto") + mpich2 = PermissibleValue(text="mpich2") + mplus = PermissibleValue(text="mplus") + MTLL = PermissibleValue(text="MTLL") + Multics = PermissibleValue(text="Multics") + Mup = PermissibleValue(text="Mup") + Naumen = PermissibleValue(text="Naumen") + NCSA = PermissibleValue(text="NCSA") + NetCDF = PermissibleValue(text="NetCDF") + Newsletr = PermissibleValue(text="Newsletr") + NGPL = PermissibleValue(text="NGPL") + NLPL = PermissibleValue(text="NLPL") + Nokia = PermissibleValue(text="Nokia") + NOSL = PermissibleValue(text="NOSL") + Noweb = PermissibleValue(text="Noweb") + NRL = PermissibleValue(text="NRL") + NTP = PermissibleValue(text="NTP") + OFFIS = PermissibleValue(text="OFFIS") + OGTSL = PermissibleValue(text="OGTSL") + OML = PermissibleValue(text="OML") + OpenSSL = PermissibleValue(text="OpenSSL") + Plexus = PermissibleValue(text="Plexus") + PostgreSQL = PermissibleValue(text="PostgreSQL") + psfrag = PermissibleValue(text="psfrag") + psutils = PermissibleValue(text="psutils") + Qhull = PermissibleValue(text="Qhull") + Rdisc = PermissibleValue(text="Rdisc") + RSCPL = PermissibleValue(text="RSCPL") + Ruby = PermissibleValue(text="Ruby") + Saxpath = PermissibleValue(text="Saxpath") + SCEA = PermissibleValue(text="SCEA") + SchemeReport = PermissibleValue(text="SchemeReport") + Sendmail = PermissibleValue(text="Sendmail") + SGP4 = PermissibleValue(text="SGP4") + SISSL = PermissibleValue(text="SISSL") + Sleepycat = PermissibleValue(text="Sleepycat") + SMLNJ = PermissibleValue(text="SMLNJ") + SMPPL = PermissibleValue(text="SMPPL") + SNIA = PermissibleValue(text="SNIA") + snprintf = PermissibleValue(text="snprintf") + SunPro = PermissibleValue(text="SunPro") + SWL = PermissibleValue(text="SWL") + Symlinks = PermissibleValue(text="Symlinks") + TCL = PermissibleValue(text="TCL") + TermReadKey = PermissibleValue(text="TermReadKey") + TMate = PermissibleValue(text="TMate") + TOSL = PermissibleValue(text="TOSL") + TPDL = PermissibleValue(text="TPDL") + TTWL = PermissibleValue(text="TTWL") + UCAR = PermissibleValue(text="UCAR") + UnixCrypt = PermissibleValue(text="UnixCrypt") + Unlicense = PermissibleValue(text="Unlicense") + Vim = PermissibleValue(text="Vim") + VOSTROM = PermissibleValue(text="VOSTROM") + W3C = PermissibleValue(text="W3C") + w3m = PermissibleValue(text="w3m") + Wsuipa = PermissibleValue(text="Wsuipa") + WTFPL = PermissibleValue(text="WTFPL") + X11 = PermissibleValue(text="X11") + Xerox = PermissibleValue(text="Xerox") + Xfig = PermissibleValue(text="Xfig") + xinetd = PermissibleValue(text="xinetd") + xlock = PermissibleValue(text="xlock") + Xnet = PermissibleValue(text="Xnet") + xpp = PermissibleValue(text="xpp") + XSkat = PermissibleValue(text="XSkat") + Zed = PermissibleValue(text="Zed") + Zlib = PermissibleValue(text="Zlib") + + _defn = EnumDefinition( + name="SPDX", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "0BSD", + PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", + PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", + PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", + PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", + PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", + PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", + PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", + PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", + PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", + PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", + PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", + PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", + PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", + PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", + PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", + PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", + PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", + PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", + PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", + PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", + PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", + PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", + PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", + PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", + PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", + PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", + PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", + PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", + PermissibleValue(text="Artistic-2.0")) + setattr(cls, "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0")) + setattr(cls, "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1")) + setattr(cls, "Bitstream-Charter", + PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", + PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", + PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", + PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", + PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", + PermissibleValue(text="Boehm-GC")) + setattr(cls, "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause")) + setattr(cls, "BSD-1-Clause", + PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", + PermissibleValue(text="BSD-2-Clause")) + setattr(cls, "BSD-2-Clause-Patent", + PermissibleValue(text="BSD-2-Clause-Patent")) + setattr(cls, "BSD-2-Clause-Views", + PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", + PermissibleValue(text="BSD-3-Clause")) + setattr(cls, "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution")) + setattr(cls, "BSD-3-Clause-Clear", + PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", + PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr(cls, "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification")) + setattr(cls, "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) + setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) + setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) + setattr(cls, "BSD-3-Clause-Open-MPI", + PermissibleValue(text="BSD-3-Clause-Open-MPI")) + setattr(cls, "BSD-4-Clause", + PermissibleValue(text="BSD-4-Clause")) + setattr(cls, "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened")) + setattr(cls, "BSD-4-Clause-UC", + PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", + PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", + PermissibleValue(text="BSD-4.3TAHOE")) + setattr(cls, "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement")) + setattr(cls, "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) + setattr(cls, "BSD-Protection", + PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", + PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", + PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", + PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", + PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", + PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", + PermissibleValue(text="CAL-1.0")) + setattr(cls, "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) + setattr(cls, "CATOSL-1.1", + PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", + PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", + PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", + PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", + PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", + PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", + PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", + PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", + PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", + PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", + PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", + PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", + PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", + PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", + PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", + PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", + PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", + PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", + PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", + PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", + PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", + PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", + PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr(cls, "CC-BY-NC-ND-3.0-IGO", + PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) + setattr(cls, "CC-BY-NC-ND-4.0", + PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", + PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", + PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", + PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", + PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", + PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", + PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", + PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", + PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr(cls, "CC-BY-NC-SA-3.0-IGO", + PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) + setattr(cls, "CC-BY-NC-SA-4.0", + PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", + PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", + PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", + PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", + PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", + PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", + PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", + PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", + PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", + PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", + PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", + PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", + PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", + PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", + PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", + PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", + PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", + PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", + PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", + PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", + PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", + PermissibleValue(text="CDL-1.0")) + setattr(cls, "CDLA-Permissive-1.0", + PermissibleValue(text="CDLA-Permissive-1.0")) + setattr(cls, "CDLA-Permissive-2.0", + PermissibleValue(text="CDLA-Permissive-2.0")) + setattr(cls, "CDLA-Sharing-1.0", + PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", + PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", + PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", + PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", + PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", + PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", + PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", + PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", + PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", + PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", + PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", + PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", + PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", + PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", + PermissibleValue(text="CNRI-Python")) + setattr(cls, "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible")) + setattr(cls, "COIL-1.0", + PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", + PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", + PermissibleValue(text="Condor-1.1")) + setattr(cls, "copyleft-next-0.3.0", + PermissibleValue(text="copyleft-next-0.3.0")) + setattr(cls, "copyleft-next-0.3.1", + PermissibleValue(text="copyleft-next-0.3.1")) + setattr(cls, "Cornell-Lossless-JPEG", + PermissibleValue(text="Cornell-Lossless-JPEG")) + setattr(cls, "CPAL-1.0", + PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", + PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", + PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", + PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", + PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", + PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", + PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", + PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", + PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", + PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", + PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", + PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", + PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", + PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", + PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", + PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", + PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", + PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", + PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", + PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", + PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", + PermissibleValue(text="FreeBSD-DOC")) + setattr(cls, "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only")) + setattr(cls, "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later")) + setattr(cls, "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only")) + setattr(cls, "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) + setattr(cls, "GFDL-1.1-only", + PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", + PermissibleValue(text="GFDL-1.1-or-later")) + setattr(cls, "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only")) + setattr(cls, "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later")) + setattr(cls, "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only")) + setattr(cls, "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) + setattr(cls, "GFDL-1.2-only", + PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", + PermissibleValue(text="GFDL-1.2-or-later")) + setattr(cls, "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only")) + setattr(cls, "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later")) + setattr(cls, "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only")) + setattr(cls, "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) + setattr(cls, "GFDL-1.3-only", + PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", + PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", + PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", + PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", + PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", + PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", + PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", + PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", + PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", + PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", + PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", + PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", + PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", + PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", + PermissibleValue(text="HPND-sell-variant")) + setattr(cls, "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) + setattr(cls, "IBM-pibs", + PermissibleValue(text="IBM-pibs")) + setattr(cls, "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA")) + setattr(cls, "IJG-short", + PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", + PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", + PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", + PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", + PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", + PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", + PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", + PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", + PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", + PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", + PermissibleValue(text="LAL-1.3")) + setattr(cls, "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice")) + setattr(cls, "LGPL-2.0-only", + PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", + PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", + PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", + PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", + PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", + PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", + PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", + PermissibleValue(text="libselinux-1.0")) + setattr(cls, "libutil-David-Nugent", + PermissibleValue(text="libutil-David-Nugent")) + setattr(cls, "LiLiQ-P-1.1", + PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", + PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", + PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr(cls, "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para")) + setattr(cls, "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft")) + setattr(cls, "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para")) + setattr(cls, "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var")) + setattr(cls, "Linux-OpenIB", + PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", + PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", + PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", + PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", + PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", + PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", + PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", + PermissibleValue(text="LPPL-1.3c")) + setattr(cls, "LZMA-SDK-9.11-to-9.20", + PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) + setattr(cls, "LZMA-SDK-9.22", + PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", + PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", + PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", + PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", + PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", + PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", + PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", + PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", + PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", + PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", + PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", + PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", + PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", + PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", + PermissibleValue(text="MPL-2.0")) + setattr(cls, "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception")) + setattr(cls, "MS-LPL", + PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", + PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", + PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", + PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", + PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", + PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", + PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", + PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", + PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", + PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", + PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", + PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", + PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", + PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", + PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", + PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", + PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", + PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", + PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", + PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", + PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", + PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", + PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", + PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", + PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", + PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", + PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", + PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", + PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", + PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", + PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", + PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", + PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", + PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", + PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", + PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", + PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", + PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", + PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", + PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", + PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", + PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", + PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", + PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", + PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", + PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", + PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", + PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", + PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", + PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", + PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", + PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", + PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", + PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", + PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", + PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", + PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", + PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", + PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", + PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", + PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", + PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", + PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", + PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", + PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", + PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", + PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", + PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", + PermissibleValue(text="PHP-3.01")) + setattr(cls, "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) + setattr(cls, "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0")) + setattr(cls, "PSF-2.0", + PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", + PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", + PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", + PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", + PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", + PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", + PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", + PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", + PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", + PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", + PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", + PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", + PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", + PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", + PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", + PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", + PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", + PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", + PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", + PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", + PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", + PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", + PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", + PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", + PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", + PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", + PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", + PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", + PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", + PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", + PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", + PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", + PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", + PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", + PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", + PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", + PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", + PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", + PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", + PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", + PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", + PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", + PermissibleValue(text="Widget-Workshop")) + setattr(cls, "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant")) + setattr(cls, "Xdebug-1.03", + PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", + PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", + PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", + PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", + PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", + PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", + PermissibleValue(text="Zimbra-1.4")) + setattr(cls, "zlib-acknowledgement", + PermissibleValue(text="zlib-acknowledgement")) + setattr(cls, "ZPL-1.1", + PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", + PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", + PermissibleValue(text="ZPL-2.1")) + +class OSDistribution(EnumDefinitionImpl): + """ + Possible values for operating system distribution. + """ + Debian = PermissibleValue(text="Debian") + Fedora = PermissibleValue(text="Fedora") + FreeBSD = PermissibleValue(text="FreeBSD") + Mandrakelinux = PermissibleValue(text="Mandrakelinux") + NetBSD = PermissibleValue(text="NetBSD") + OpenBSD = PermissibleValue(text="OpenBSD") + OpenSolaris = PermissibleValue(text="OpenSolaris") + openSUSE = PermissibleValue(text="openSUSE") + Ubuntu = PermissibleValue(text="Ubuntu") + CirrOS = PermissibleValue(text="CirrOS") + AlmaLinux = PermissibleValue(text="AlmaLinux") + others = PermissibleValue(text="others") + + _defn = EnumDefinition( + name="OSDistribution", + description="Possible values for operating system distribution.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Alpine Linux", + PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", + PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", + PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", + PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", + PermissibleValue(text="Mandriva Linux")) + setattr(cls, "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server")) + setattr(cls, "MS-DOS", + PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", + PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", + PermissibleValue(text="Rocky Linux")) + setattr(cls, "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux")) + setattr(cls, "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop")) + setattr(cls, "Microsoft Windows", + PermissibleValue(text="Microsoft Windows")) + +class HypervisorType(EnumDefinitionImpl): + """ + Possible values for hypervisor types. + """ + quemu = PermissibleValue(text="quemu") + KVM = PermissibleValue(text="KVM") + Xen = PermissibleValue(text="Xen") + ESXi = PermissibleValue(text="ESXi") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="HypervisorType", + description="Possible values for hypervisor types.", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Hyper-V", + PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", + PermissibleValue(text="Cloud Hypervisor")) + +class PersonalDataProtectionRegime(EnumDefinitionImpl): + + GDPR2016 = PermissibleValue( + text="GDPR2016", + description="General Data Protection Regulation / EEA.") + LGPD2019 = PermissibleValue( + text="LGPD2019", + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + PDPA2012 = PermissibleValue( + text="PDPA2012", + description="Personal Data Protection Act 2012 / SGP.") + CCPA2018 = PermissibleValue( + text="CCPA2018", + description="California Consumer Privacy Act / US-CA.") + VCDPA2021 = PermissibleValue( + text="VCDPA2021", + description="Virginia Consumer Data Protection Act / US-VA.") + + _defn = EnumDefinition( + name="PersonalDataProtectionRegime", + ) + +class RequestTypes(EnumDefinitionImpl): + + API = PermissibleValue(text="API") + email = PermissibleValue(text="email") + webform = PermissibleValue(text="webform") + unregisteredLetter = PermissibleValue(text="unregisteredLetter") + registeredLetter = PermissibleValue(text="registeredLetter") + supportCenter = PermissibleValue(text="supportCenter") + + _defn = EnumDefinition( + name="RequestTypes", + ) + +class AccessTypes(EnumDefinitionImpl): + + digital = PermissibleValue( + text="digital", + description="Access via digital service, such as e-mail or web form.") + physical = PermissibleValue( + text="physical", + description="Access via physical medium, such as letter or physical appointment.") + + _defn = EnumDefinition( + name="AccessTypes", + ) + +class MIMETypes(EnumDefinitionImpl): + + calendar = PermissibleValue(text="calendar") + cql = PermissibleValue(text="cql") + css = PermissibleValue(text="css") + csv = PermissibleValue(text="csv") + dns = PermissibleValue(text="dns") + encaprtp = PermissibleValue(text="encaprtp") + enriched = PermissibleValue(text="enriched") + example = PermissibleValue(text="example") + fhirpath = PermissibleValue(text="fhirpath") + flexfec = PermissibleValue(text="flexfec") + fwdred = PermissibleValue(text="fwdred") + gff3 = PermissibleValue(text="gff3") + hl7v2 = PermissibleValue(text="hl7v2") + html = PermissibleValue(text="html") + javascript = PermissibleValue(text="javascript") + markdown = PermissibleValue(text="markdown") + mizar = PermissibleValue(text="mizar") + n3 = PermissibleValue(text="n3") + parameters = PermissibleValue(text="parameters") + parityfec = PermissibleValue(text="parityfec") + plain = PermissibleValue(text="plain") + RED = PermissibleValue(text="RED") + richtext = PermissibleValue(text="richtext") + rtf = PermissibleValue(text="rtf") + rtploopback = PermissibleValue(text="rtploopback") + rtx = PermissibleValue(text="rtx") + SGML = PermissibleValue(text="SGML") + shacl = PermissibleValue(text="shacl") + shex = PermissibleValue(text="shex") + spdx = PermissibleValue(text="spdx") + strings = PermissibleValue(text="strings") + t140 = PermissibleValue(text="t140") + troff = PermissibleValue(text="troff") + turtle = PermissibleValue(text="turtle") + ulpfec = PermissibleValue(text="ulpfec") + vcard = PermissibleValue(text="vcard") + vtt = PermissibleValue(text="vtt") + wgsl = PermissibleValue(text="wgsl") + xml = PermissibleValue(text="xml") + A2L = PermissibleValue(text="A2L") + activemessage = PermissibleValue(text="activemessage") + AML = PermissibleValue(text="AML") + applefile = PermissibleValue(text="applefile") + ATF = PermissibleValue(text="ATF") + ATFX = PermissibleValue(text="ATFX") + atomicmail = PermissibleValue(text="atomicmail") + ATXML = PermissibleValue(text="ATXML") + cbor = PermissibleValue(text="cbor") + cccex = PermissibleValue(text="cccex") + cdni = PermissibleValue(text="cdni") + CEA = PermissibleValue(text="CEA") + cfw = PermissibleValue(text="cfw") + clr = PermissibleValue(text="clr") + cms = PermissibleValue(text="cms") + commonground = PermissibleValue(text="commonground") + cose = PermissibleValue(text="cose") + csrattrs = PermissibleValue(text="csrattrs") + cwl = PermissibleValue(text="cwl") + cwt = PermissibleValue(text="cwt") + cybercash = PermissibleValue(text="cybercash") + dashdelta = PermissibleValue(text="dashdelta") + DCD = PermissibleValue(text="DCD") + dicom = PermissibleValue(text="dicom") + DII = PermissibleValue(text="DII") + DIT = PermissibleValue(text="DIT") + dvcs = PermissibleValue(text="dvcs") + EDIFACT = PermissibleValue(text="EDIFACT") + efi = PermissibleValue(text="efi") + eshop = PermissibleValue(text="eshop") + exi = PermissibleValue(text="exi") + express = PermissibleValue(text="express") + fastinfoset = PermissibleValue(text="fastinfoset") + fastsoap = PermissibleValue(text="fastsoap") + fdf = PermissibleValue(text="fdf") + fits = PermissibleValue(text="fits") + gzip = PermissibleValue(text="gzip") + H224 = PermissibleValue(text="H224") + http = PermissibleValue(text="http") + hyperstudio = PermissibleValue(text="hyperstudio") + iges = PermissibleValue(text="iges") + index = PermissibleValue(text="index") + IOTP = PermissibleValue(text="IOTP") + ipfix = PermissibleValue(text="ipfix") + ipp = PermissibleValue(text="ipp") + ISUP = PermissibleValue(text="ISUP") + jose = PermissibleValue(text="jose") + json = PermissibleValue(text="json") + jwt = PermissibleValue(text="jwt") + linkset = PermissibleValue(text="linkset") + LXF = PermissibleValue(text="LXF") + macwriteii = PermissibleValue(text="macwriteii") + marc = PermissibleValue(text="marc") + mathematica = PermissibleValue(text="mathematica") + mbox = PermissibleValue(text="mbox") + MF4 = PermissibleValue(text="MF4") + mikey = PermissibleValue(text="mikey") + mipc = PermissibleValue(text="mipc") + mp21 = PermissibleValue(text="mp21") + mp4 = PermissibleValue(text="mp4") + msword = PermissibleValue(text="msword") + mxf = PermissibleValue(text="mxf") + nasdata = PermissibleValue(text="nasdata") + node = PermissibleValue(text="node") + nss = PermissibleValue(text="nss") + ODA = PermissibleValue(text="ODA") + ODX = PermissibleValue(text="ODX") + ogg = PermissibleValue(text="ogg") + oscore = PermissibleValue(text="oscore") + oxps = PermissibleValue(text="oxps") + p21 = PermissibleValue(text="p21") + passport = PermissibleValue(text="passport") + pdf = PermissibleValue(text="pdf") + PDX = PermissibleValue(text="PDX") + pkcs10 = PermissibleValue(text="pkcs10") + pkcs8 = PermissibleValue(text="pkcs8") + pkcs12 = PermissibleValue(text="pkcs12") + pkixcmp = PermissibleValue(text="pkixcmp") + postscript = PermissibleValue(text="postscript") + QSIG = PermissibleValue(text="QSIG") + raptorfec = PermissibleValue(text="raptorfec") + riscos = PermissibleValue(text="riscos") + sbe = PermissibleValue(text="sbe") + sdp = PermissibleValue(text="sdp") + sieve = PermissibleValue(text="sieve") + simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") + sipc = PermissibleValue(text="sipc") + slate = PermissibleValue(text="slate") + smpte336m = PermissibleValue(text="smpte336m") + sql = PermissibleValue(text="sql") + srgs = PermissibleValue(text="srgs") + TETRA_ISI = PermissibleValue(text="TETRA_ISI") + tnauthlist = PermissibleValue(text="tnauthlist") + trig = PermissibleValue(text="trig") + tzif = PermissibleValue(text="tzif") + vemmi = PermissibleValue(text="vemmi") + wasm = PermissibleValue(text="wasm") + widget = PermissibleValue(text="widget") + wita = PermissibleValue(text="wita") + xfdf = PermissibleValue(text="xfdf") + yaml = PermissibleValue(text="yaml") + yang = PermissibleValue(text="yang") + zip = PermissibleValue(text="zip") + zlib = PermissibleValue(text="zlib") + zstd = PermissibleValue(text="zstd") + + _defn = EnumDefinition( + name="MIMETypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec")) + setattr(cls, "cache-manifest", + PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", + PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", + PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", + PermissibleValue(text="csv-schema")) + setattr(cls, "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350")) + setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "grammar-ref-list", + PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", + PermissibleValue(text="jcr-cnd")) + setattr(cls, "provenance-notation", + PermissibleValue(text="provenance-notation")) + setattr(cls, "prs.fallenstein.rst", + PermissibleValue(text="prs.fallenstein.rst")) + setattr(cls, "prs.lines.tag", + PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", + PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", + PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", + PermissibleValue(text="rtp-enc-aescm128")) + setattr(cls, "tab-separated-values", + PermissibleValue(text="tab-separated-values")) + setattr(cls, "uri-list", + PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", + PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", + PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", + PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", + PermissibleValue(text="vnd.curl")) + setattr(cls, "vnd.debian.copyright", + PermissibleValue(text="vnd.debian.copyright")) + setattr(cls, "vnd.DMClientScript", + PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", + PermissibleValue(text="vnd.dvb.subtitle")) + setattr(cls, "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor")) + setattr(cls, "vnd.exchangeable", + PermissibleValue(text="vnd.exchangeable")) + setattr(cls, "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom")) + setattr(cls, "vnd.ficlab.flt", + PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", + PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", + PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", + PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", + PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", + PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", + PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", + PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", + PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", + PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", + PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", + PermissibleValue(text="vnd.latex-z")) + setattr(cls, "vnd.motorola.reflex", + PermissibleValue(text="vnd.motorola.reflex")) + setattr(cls, "vnd.ms-mediapackage", + PermissibleValue(text="vnd.ms-mediapackage")) + setattr(cls, "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command")) + setattr(cls, "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout")) + setattr(cls, "vnd.senx.warpscript", + PermissibleValue(text="vnd.senx.warpscript")) + setattr(cls, "vnd.si.uricatalogue", + PermissibleValue(text="vnd.si.uricatalogue")) + setattr(cls, "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor")) + setattr(cls, "vnd.sosi", + PermissibleValue(text="vnd.sosi")) + setattr(cls, "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist")) + setattr(cls, "vnd.wap.si", + PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", + PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", + PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", + PermissibleValue(text="vnd.wap.wmlscript")) + setattr(cls, "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity")) + setattr(cls, "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml")) + setattr(cls, "3gppHal+json", + PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", + PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", + PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", + PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", + PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", + PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", + PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", + PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", + PermissibleValue(text="alto-cdni+json")) + setattr(cls, "alto-cdnifilter+json", + PermissibleValue(text="alto-cdnifilter+json")) + setattr(cls, "alto-costmap+json", + PermissibleValue(text="alto-costmap+json")) + setattr(cls, "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json")) + setattr(cls, "alto-directory+json", + PermissibleValue(text="alto-directory+json")) + setattr(cls, "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json")) + setattr(cls, "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json")) + setattr(cls, "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json")) + setattr(cls, "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json")) + setattr(cls, "alto-error+json", + PermissibleValue(text="alto-error+json")) + setattr(cls, "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json")) + setattr(cls, "alto-networkmap+json", + PermissibleValue(text="alto-networkmap+json")) + setattr(cls, "alto-propmap+json", + PermissibleValue(text="alto-propmap+json")) + setattr(cls, "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json")) + setattr(cls, "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json")) + setattr(cls, "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json")) + setattr(cls, "andrew-inset", + PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", + PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", + PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", + PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", + PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", + PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", + PermissibleValue(text="atsc-dwd+xml")) + setattr(cls, "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message")) + setattr(cls, "atsc-held+xml", + PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", + PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", + PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", + PermissibleValue(text="auth-policy+xml")) + setattr(cls, "automationml-aml+xml", + PermissibleValue(text="automationml-aml+xml")) + setattr(cls, "automationml-amlx+zip", + PermissibleValue(text="automationml-amlx+zip")) + setattr(cls, "bacnet-xdd+zip", + PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", + PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", + PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", + PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", + PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", + PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", + PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", + PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", + PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", + PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", + PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", + PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", + PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", + PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", + PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", + PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", + PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", + PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", + PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", + PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", + PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", + PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", + PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", + PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", + PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", + PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", + PermissibleValue(text="coap-payload")) + setattr(cls, "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor")) + setattr(cls, "conference-info+xml", + PermissibleValue(text="conference-info+xml")) + setattr(cls, "cpl+xml", + PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", + PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", + PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", + PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", + PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", + PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", + PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", + PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", + PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", + PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", + PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", + PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", + PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", + PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", + PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", + PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", + PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", + PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", + PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", + PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", + PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", + PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", + PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", + PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", + PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", + PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", + PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", + PermissibleValue(text="elm+xml")) + setattr(cls, "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml")) + setattr(cls, "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml")) + setattr(cls, "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml")) + setattr(cls, "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) + setattr(cls, "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD")) + setattr(cls, "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json")) + setattr(cls, "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) + setattr(cls, "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) + setattr(cls, "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) + setattr(cls, "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml")) + setattr(cls, "emma+xml", + PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", + PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", + PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", + PermissibleValue(text="epub+zip")) + setattr(cls, "expect-ct-report+json", + PermissibleValue(text="expect-ct-report+json")) + setattr(cls, "fdt+xml", + PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", + PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", + PermissibleValue(text="fhir+xml")) + setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) + setattr(cls, "font-tdpfr", + PermissibleValue(text="font-tdpfr")) + setattr(cls, "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) + setattr(cls, "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml")) + setattr(cls, "geo+json", + PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", + PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", + PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", + PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", + PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", + PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", + PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", + PermissibleValue(text="hl7v2+xml")) + setattr(cls, "ibe-key-request+xml", + PermissibleValue(text="ibe-key-request+xml")) + setattr(cls, "ibe-pkg-reply+xml", + PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", + PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", + PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", + PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", + PermissibleValue(text="index.obj")) + setattr(cls, "index.response", + PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", + PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", + PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", + PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", + PermissibleValue(text="java-archive")) + setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) + setattr(cls, "jf2feed+json", + PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", + PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", + PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", + PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", + PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", + PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", + PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", + PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", + PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", + PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", + PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", + PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", + PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", + PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", + PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", + PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", + PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", + PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", + PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", + PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", + PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", + PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", + PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", + PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", + PermissibleValue(text="mathml-content+xml")) + setattr(cls, "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml")) + setattr(cls, "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml")) + setattr(cls, "mbms-deregister+xml", + PermissibleValue(text="mbms-deregister+xml")) + setattr(cls, "mbms-envelope+xml", + PermissibleValue(text="mbms-envelope+xml")) + setattr(cls, "mbms-msk-response+xml", + PermissibleValue(text="mbms-msk-response+xml")) + setattr(cls, "mbms-msk+xml", + PermissibleValue(text="mbms-msk+xml")) + setattr(cls, "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml")) + setattr(cls, "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml")) + setattr(cls, "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml")) + setattr(cls, "mbms-register+xml", + PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", + PermissibleValue(text="mbms-schedule+xml")) + setattr(cls, "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml")) + setattr(cls, "media_control+xml", + PermissibleValue(text="media_control+xml")) + setattr(cls, "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml")) + setattr(cls, "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml")) + setattr(cls, "merge-patch+json", + PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", + PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", + PermissibleValue(text="mets+xml")) + setattr(cls, "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq")) + setattr(cls, "mmt-aei+xml", + PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", + PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", + PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", + PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", + PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", + PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", + PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", + PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", + PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", + PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", + PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", + PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", + PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", + PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", + PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", + PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", + PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", + PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", + PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", + PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", + PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", + PermissibleValue(text="nlsml+xml")) + setattr(cls, "oauth-authz-req+jwt", + PermissibleValue(text="oauth-authz-req+jwt")) + setattr(cls, "oblivious-dns-message", + PermissibleValue(text="oblivious-dns-message")) + setattr(cls, "ocsp-request", + PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", + PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", + PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", + PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", + PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", + PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", + PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", + PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", + PermissibleValue(text="p2p-overlay+xml")) + setattr(cls, "patch-ops-error+xml", + PermissibleValue(text="patch-ops-error+xml")) + setattr(cls, "pem-certificate-chain", + PermissibleValue(text="pem-certificate-chain")) + setattr(cls, "pgp-encrypted", + PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", + PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", + PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", + PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", + PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", + PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", + PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", + PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", + PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", + PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", + PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", + PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", + PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", + PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", + PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", + PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", + PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", + PermissibleValue(text="provenance+xml")) + setattr(cls, "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet")) + setattr(cls, "prs.cww", + PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", + PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", + PermissibleValue(text="prs.hpub+zip")) + setattr(cls, "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml")) + setattr(cls, "prs.implied-executable", + PermissibleValue(text="prs.implied-executable")) + setattr(cls, "prs.implied-structure", + PermissibleValue(text="prs.implied-structure")) + setattr(cls, "prs.nprend", + PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", + PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", + PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", + PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", + PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", + PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", + PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", + PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", + PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", + PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", + PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", + PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", + PermissibleValue(text="reginfo+xml")) + setattr(cls, "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax")) + setattr(cls, "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)")) + setattr(cls, "reputon+json", + PermissibleValue(text="reputon+json")) + setattr(cls, "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml")) + setattr(cls, "resource-lists+xml", + PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", + PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", + PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", + PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", + PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", + PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", + PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", + PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", + PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", + PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", + PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", + PermissibleValue(text="samlmetadata+xml")) + setattr(cls, "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json")) + setattr(cls, "sarif+json", + PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", + PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", + PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", + PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", + PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", + PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", + PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", + PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", + PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", + PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", + PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", + PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", + PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", + PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", + PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", + PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", + PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", + PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", + PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", + PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", + PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", + PermissibleValue(text="session-info")) + setattr(cls, "set-payment", + PermissibleValue(text="set-payment")) + setattr(cls, "set-payment-initiation", + PermissibleValue(text="set-payment-initiation")) + setattr(cls, "set-registration", + PermissibleValue(text="set-registration")) + setattr(cls, "set-registration-initiation", + PermissibleValue(text="set-registration-initiation")) + setattr(cls, "sgml-open-catalog", + PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", + PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", + PermissibleValue(text="simple-filter+xml")) + setattr(cls, "simple-message-summary", + PermissibleValue(text="simple-message-summary")) + setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) + setattr(cls, "smil+xml", + PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", + PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", + PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", + PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", + PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", + PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", + PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", + PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", + PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", + PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", + PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", + PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", + PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", + PermissibleValue(text="tamp-apex-update")) + setattr(cls, "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm")) + setattr(cls, "tamp-community-update", + PermissibleValue(text="tamp-community-update")) + setattr(cls, "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm")) + setattr(cls, "tamp-error", + PermissibleValue(text="tamp-error")) + setattr(cls, "tamp-sequence-adjust", + PermissibleValue(text="tamp-sequence-adjust")) + setattr(cls, "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm")) + setattr(cls, "tamp-status-query", + PermissibleValue(text="tamp-status-query")) + setattr(cls, "tamp-status-response", + PermissibleValue(text="tamp-status-response")) + setattr(cls, "tamp-update", + PermissibleValue(text="tamp-update")) + setattr(cls, "tamp-update-confirm", + PermissibleValue(text="tamp-update-confirm")) + setattr(cls, "taxii+json", + PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", + PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", + PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", + PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", + PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", + PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", + PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", + PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", + PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", + PermissibleValue(text="tm+json")) + setattr(cls, "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt")) + setattr(cls, "trickle-ice-sdpfrag", + PermissibleValue(text="trickle-ice-sdpfrag")) + setattr(cls, "ttml+xml", + PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", + PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", + PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", + PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", + PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", + PermissibleValue(text="urc-targetdesc+xml")) + setattr(cls, "urc-uisocketdesc+xml", + PermissibleValue(text="urc-uisocketdesc+xml")) + setattr(cls, "vcard+json", + PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", + PermissibleValue(text="vcard+xml")) + setattr(cls, "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml")) + setattr(cls, "vnd.1ob", + PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", + PermissibleValue(text="vnd.3gpp.5gnas")) + setattr(cls, "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) + setattr(cls, "vnd.3gpp.bsf+xml", + PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", + PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr(cls, "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) + setattr(cls, "vnd.3gpp.GMOP+xml", + PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", + PermissibleValue(text="vnd.3gpp.gtpc")) + setattr(cls, "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data")) + setattr(cls, "vnd.3gpp.lpp", + PermissibleValue(text="vnd.3gpp.lpp")) + setattr(cls, "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) + setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) + setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) + setattr(cls, "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload")) + setattr(cls, "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) + setattr(cls, "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling")) + setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) + setattr(cls, "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) + setattr(cls, "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) + setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) + setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) + setattr(cls, "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) + setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) + setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) + setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) + setattr(cls, "vnd.3gpp.mid-call+xml", + PermissibleValue(text="vnd.3gpp.mid-call+xml")) + setattr(cls, "vnd.3gpp.ngap", + PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", + PermissibleValue(text="vnd.3gpp.pfcp")) + setattr(cls, "vnd.3gpp.pic-bw-large", + PermissibleValue(text="vnd.3gpp.pic-bw-large")) + setattr(cls, "vnd.3gpp.pic-bw-small", + PermissibleValue(text="vnd.3gpp.pic-bw-small")) + setattr(cls, "vnd.3gpp.pic-bw-var", + PermissibleValue(text="vnd.3gpp.pic-bw-var")) + setattr(cls, "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) + setattr(cls, "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) + setattr(cls, "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) + setattr(cls, "vnd.3gpp-prose+xml", + PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", + PermissibleValue(text="vnd.3gpp.s1ap")) + setattr(cls, "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) + setattr(cls, "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml")) + setattr(cls, "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) + setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) + setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) + setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) + setattr(cls, "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) + setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) + setattr(cls, "vnd.3gpp.sms", + PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", + PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr(cls, "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) + setattr(cls, "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) + setattr(cls, "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) + setattr(cls, "vnd.3gpp.ussd+xml", + PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr(cls, "vnd.3gpp.vae-info+xml", + PermissibleValue(text="vnd.3gpp.vae-info+xml")) + setattr(cls, "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) + setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) + setattr(cls, "vnd.3gpp2.sms", + PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", + PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", + PermissibleValue(text="vnd.3gpp.v2x")) + setattr(cls, "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal")) + setattr(cls, "vnd.3M.Post-it-Notes", + PermissibleValue(text="vnd.3M.Post-it-Notes")) + setattr(cls, "vnd.accpac.simply.aso", + PermissibleValue(text="vnd.accpac.simply.aso")) + setattr(cls, "vnd.accpac.simply.imp", + PermissibleValue(text="vnd.accpac.simply.imp")) + setattr(cls, "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json")) + setattr(cls, "vnd.acm.chatbot+json", + PermissibleValue(text="vnd.acm.chatbot+json")) + setattr(cls, "vnd.acucobol", + PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", + PermissibleValue(text="vnd.acucorp")) + setattr(cls, "vnd.adobe.flash.movie", + PermissibleValue(text="vnd.adobe.flash.movie")) + setattr(cls, "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt")) + setattr(cls, "vnd.adobe.fxp", + PermissibleValue(text="vnd.adobe.fxp")) + setattr(cls, "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload")) + setattr(cls, "vnd.adobe.xdp+xml", + PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", + PermissibleValue(text="vnd.aether.imp")) + setattr(cls, "vnd.afpc.afplinedata", + PermissibleValue(text="vnd.afpc.afplinedata")) + setattr(cls, "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) + setattr(cls, "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource")) + setattr(cls, "vnd.afpc.foca-charset", + PermissibleValue(text="vnd.afpc.foca-charset")) + setattr(cls, "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont")) + setattr(cls, "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage")) + setattr(cls, "vnd.afpc.modca", + PermissibleValue(text="vnd.afpc.modca")) + setattr(cls, "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable")) + setattr(cls, "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef")) + setattr(cls, "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap")) + setattr(cls, "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer")) + setattr(cls, "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay")) + setattr(cls, "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment")) + setattr(cls, "vnd.age", + PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", + PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", + PermissibleValue(text="vnd.ahead.space")) + setattr(cls, "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf")) + setattr(cls, "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs")) + setattr(cls, "vnd.amadeus+json", + PermissibleValue(text="vnd.amadeus+json")) + setattr(cls, "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook")) + setattr(cls, "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc")) + setattr(cls, "vnd.amiga.ami", + PermissibleValue(text="vnd.amiga.ami")) + setattr(cls, "vnd.amundsen.maze+xml", + PermissibleValue(text="vnd.amundsen.maze+xml")) + setattr(cls, "vnd.android.ota", + PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", + PermissibleValue(text="vnd.anki")) + setattr(cls, "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) + setattr(cls, "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component")) + setattr(cls, "vnd.apache.arrow.file", + PermissibleValue(text="vnd.apache.arrow.file")) + setattr(cls, "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream")) + setattr(cls, "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary")) + setattr(cls, "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact")) + setattr(cls, "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json")) + setattr(cls, "vnd.apexlang", + PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", + PermissibleValue(text="vnd.api+json")) + setattr(cls, "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json")) + setattr(cls, "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json")) + setattr(cls, "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml")) + setattr(cls, "vnd.apple.keynote", + PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", + PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", + PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", + PermissibleValue(text="vnd.apple.pages")) + setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) + setattr(cls, "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi")) + setattr(cls, "vnd.artisan+json", + PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", + PermissibleValue(text="vnd.artsquare")) + setattr(cls, "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota")) + setattr(cls, "vnd.audiograph", + PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", + PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", + PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", + PermissibleValue(text="vnd.avistar+xml")) + setattr(cls, "vnd.balsamiq.bmml+xml", + PermissibleValue(text="vnd.balsamiq.bmml+xml")) + setattr(cls, "vnd.banana-accounting", + PermissibleValue(text="vnd.banana-accounting")) + setattr(cls, "vnd.bbf.usp.error", + PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", + PermissibleValue(text="vnd.bbf.usp.msg")) + setattr(cls, "vnd.bbf.usp.msg+json", + PermissibleValue(text="vnd.bbf.usp.msg+json")) + setattr(cls, "vnd.balsamiq.bmpr", + PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr(cls, "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json")) + setattr(cls, "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip")) + setattr(cls, "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip")) + setattr(cls, "vnd.bint.med-content", + PermissibleValue(text="vnd.bint.med-content")) + setattr(cls, "vnd.biopax.rdf+xml", + PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr(cls, "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper")) + setattr(cls, "vnd.blueice.multipass", + PermissibleValue(text="vnd.blueice.multipass")) + setattr(cls, "vnd.bluetooth.ep.oob", + PermissibleValue(text="vnd.bluetooth.ep.oob")) + setattr(cls, "vnd.bluetooth.le.oob", + PermissibleValue(text="vnd.bluetooth.le.oob")) + setattr(cls, "vnd.bmi", + PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", + PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", + PermissibleValue(text="vnd.bpf3")) + setattr(cls, "vnd.businessobjects", + PermissibleValue(text="vnd.businessobjects")) + setattr(cls, "vnd.byu.uapi+json", + PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", + PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", + PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", + PermissibleValue(text="vnd.canon-lips")) + setattr(cls, "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json")) + setattr(cls, "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) + setattr(cls, "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream")) + setattr(cls, "vnd.chemdraw+xml", + PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", + PermissibleValue(text="vnd.chess-pgn")) + setattr(cls, "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) + setattr(cls, "vnd.ciedi", + PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", + PermissibleValue(text="vnd.cinderella")) + setattr(cls, "vnd.cirpack.isdn-ext", + PermissibleValue(text="vnd.cirpack.isdn-ext")) + setattr(cls, "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml")) + setattr(cls, "vnd.claymore", + PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", + PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", + PermissibleValue(text="vnd.clonk.c4group")) + setattr(cls, "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config")) + setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) + setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) + setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) + setattr(cls, "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json")) + setattr(cls, "vnd.coffeescript", + PermissibleValue(text="vnd.coffeescript")) + setattr(cls, "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document")) + setattr(cls, "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template")) + setattr(cls, "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation")) + setattr(cls, "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) + setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) + setattr(cls, "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json")) + setattr(cls, "vnd.collection+json", + PermissibleValue(text="vnd.collection+json")) + setattr(cls, "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json")) + setattr(cls, "vnd.comicbook-rar", + PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", + PermissibleValue(text="vnd.comicbook+zip")) + setattr(cls, "vnd.commerce-battelle", + PermissibleValue(text="vnd.commerce-battelle")) + setattr(cls, "vnd.commonspace", + PermissibleValue(text="vnd.commonspace")) + setattr(cls, "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json")) + setattr(cls, "vnd.cosmocaller", + PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", + PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", + PermissibleValue(text="vnd.crick.clicker")) + setattr(cls, "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard")) + setattr(cls, "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette")) + setattr(cls, "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template")) + setattr(cls, "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank")) + setattr(cls, "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml")) + setattr(cls, "vnd.cryptii.pipe+json", + PermissibleValue(text="vnd.cryptii.pipe+json")) + setattr(cls, "vnd.crypto-shade-file", + PermissibleValue(text="vnd.crypto-shade-file")) + setattr(cls, "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted")) + setattr(cls, "vnd.cryptomator.vault", + PermissibleValue(text="vnd.cryptomator.vault")) + setattr(cls, "vnd.ctc-posml", + PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", + PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", + PermissibleValue(text="vnd.cups-pdf")) + setattr(cls, "vnd.cups-postscript", + PermissibleValue(text="vnd.cups-postscript")) + setattr(cls, "vnd.cups-ppd", + PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", + PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", + PermissibleValue(text="vnd.cups-raw")) + setattr(cls, "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml")) + setattr(cls, "vnd.cybank", + PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", + PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", + PermissibleValue(text="vnd.cyclonedx+xml")) + setattr(cls, "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) + setattr(cls, "vnd.d3m-dataset", + PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", + PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", + PermissibleValue(text="vnd.dart")) + setattr(cls, "vnd.data-vision.rdz", + PermissibleValue(text="vnd.data-vision.rdz")) + setattr(cls, "vnd.datalog", + PermissibleValue(text="vnd.datalog")) + setattr(cls, "vnd.datapackage+json", + PermissibleValue(text="vnd.datapackage+json")) + setattr(cls, "vnd.dataresource+json", + PermissibleValue(text="vnd.dataresource+json")) + setattr(cls, "vnd.dbf", + PermissibleValue(text="vnd.dbf")) + setattr(cls, "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package")) + setattr(cls, "vnd.dece.data", + PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", + PermissibleValue(text="vnd.dece.ttml+xml")) + setattr(cls, "vnd.dece.unspecified", + PermissibleValue(text="vnd.dece.unspecified")) + setattr(cls, "vnd.dece.zip", + PermissibleValue(text="vnd.dece.zip")) + setattr(cls, "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link")) + setattr(cls, "vnd.desmume.movie", + PermissibleValue(text="vnd.desmume.movie")) + setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) + setattr(cls, "vnd.dm.delegation+xml", + PermissibleValue(text="vnd.dm.delegation+xml")) + setattr(cls, "vnd.dna", + PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", + PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", + PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", + PermissibleValue(text="vnd.dolby.mobile.2")) + setattr(cls, "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) + setattr(cls, "vnd.dpgraph", + PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", + PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", + PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", + PermissibleValue(text="vnd.dtg.local")) + setattr(cls, "vnd.dtg.local.flash", + PermissibleValue(text="vnd.dtg.local.flash")) + setattr(cls, "vnd.dtg.local.html", + PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", + PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", + PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", + PermissibleValue(text="vnd.dvb.dvbj")) + setattr(cls, "vnd.dvb.esgcontainer", + PermissibleValue(text="vnd.dvb.esgcontainer")) + setattr(cls, "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess", + PermissibleValue(text="vnd.dvb.ipdcesgaccess")) + setattr(cls, "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) + setattr(cls, "vnd.dvb.ipdcesgpdd", + PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr(cls, "vnd.dvb.ipdcroaming", + PermissibleValue(text="vnd.dvb.ipdcroaming")) + setattr(cls, "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base")) + setattr(cls, "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) + setattr(cls, "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) + setattr(cls, "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml")) + setattr(cls, "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml")) + setattr(cls, "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) + setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) + setattr(cls, "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml")) + setattr(cls, "vnd.dvb.pfr", + PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", + PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", + PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", + PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", + PermissibleValue(text="vnd.dzr")) + setattr(cls, "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload")) + setattr(cls, "vnd.ecip.rlp", + PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", + PermissibleValue(text="vnd.ecdis-update")) + setattr(cls, "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json")) + setattr(cls, "vnd.ecowin.chart", + PermissibleValue(text="vnd.ecowin.chart")) + setattr(cls, "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest")) + setattr(cls, "vnd.ecowin.fileupdate", + PermissibleValue(text="vnd.ecowin.fileupdate")) + setattr(cls, "vnd.ecowin.series", + PermissibleValue(text="vnd.ecowin.series")) + setattr(cls, "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest")) + setattr(cls, "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate")) + setattr(cls, "vnd.efi.img", + PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", + PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", + PermissibleValue(text="vnd.eln+zip")) + setattr(cls, "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml")) + setattr(cls, "vnd.enliven", + PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", + PermissibleValue(text="vnd.enphase.envoy")) + setattr(cls, "vnd.eprints.data+xml", + PermissibleValue(text="vnd.eprints.data+xml")) + setattr(cls, "vnd.epson.esf", + PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", + PermissibleValue(text="vnd.epson.msf")) + setattr(cls, "vnd.epson.quickanime", + PermissibleValue(text="vnd.epson.quickanime")) + setattr(cls, "vnd.epson.salt", + PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", + PermissibleValue(text="vnd.epson.ssf")) + setattr(cls, "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall")) + setattr(cls, "vnd.espass-espass+zip", + PermissibleValue(text="vnd.espass-espass+zip")) + setattr(cls, "vnd.eszigno3+xml", + PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", + PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr(cls, "vnd.etsi.asic-s+zip", + PermissibleValue(text="vnd.etsi.asic-s+zip")) + setattr(cls, "vnd.etsi.asic-e+zip", + PermissibleValue(text="vnd.etsi.asic-e+zip")) + setattr(cls, "vnd.etsi.cug+xml", + PermissibleValue(text="vnd.etsi.cug+xml")) + setattr(cls, "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml")) + setattr(cls, "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) + setattr(cls, "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml")) + setattr(cls, "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) + setattr(cls, "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) + setattr(cls, "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) + setattr(cls, "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml")) + setattr(cls, "vnd.etsi.iptvsync+xml", + PermissibleValue(text="vnd.etsi.iptvsync+xml")) + setattr(cls, "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) + setattr(cls, "vnd.etsi.mcid+xml", + PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", + PermissibleValue(text="vnd.etsi.mheg5")) + setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) + setattr(cls, "vnd.etsi.pstn+xml", + PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", + PermissibleValue(text="vnd.etsi.sci+xml")) + setattr(cls, "vnd.etsi.simservs+xml", + PermissibleValue(text="vnd.etsi.simservs+xml")) + setattr(cls, "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token")) + setattr(cls, "vnd.etsi.tsl+xml", + PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", + PermissibleValue(text="vnd.etsi.tsl.der")) + setattr(cls, "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json")) + setattr(cls, "vnd.eudora.data", + PermissibleValue(text="vnd.eudora.data")) + setattr(cls, "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile")) + setattr(cls, "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings")) + setattr(cls, "vnd.evolv.ecig.theme", + PermissibleValue(text="vnd.evolv.ecig.theme")) + setattr(cls, "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip")) + setattr(cls, "vnd.exstream-package", + PermissibleValue(text="vnd.exstream-package")) + setattr(cls, "vnd.ezpix-album", + PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", + PermissibleValue(text="vnd.ezpix-package")) + setattr(cls, "vnd.f-secure.mobile", + PermissibleValue(text="vnd.f-secure.mobile")) + setattr(cls, "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image")) + setattr(cls, "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip")) + setattr(cls, "vnd.fdsn.mseed", + PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", + PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", + PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", + PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", + PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", + PermissibleValue(text="vnd.fints")) + setattr(cls, "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell")) + setattr(cls, "vnd.FloGraphIt", + PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", + PermissibleValue(text="vnd.fluxtime.clip")) + setattr(cls, "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd")) + setattr(cls, "vnd.framemaker", + PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", + PermissibleValue(text="vnd.freelog.comic")) + setattr(cls, "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) + setattr(cls, "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) + setattr(cls, "vnd.fsc.weblaunch", + PermissibleValue(text="vnd.fsc.weblaunch")) + setattr(cls, "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks")) + setattr(cls, "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) + setattr(cls, "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) + setattr(cls, "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) + setattr(cls, "vnd.fujitsu.oasys", + PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", + PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", + PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr(cls, "vnd.fujitsu.oasysgp", + PermissibleValue(text="vnd.fujitsu.oasysgp")) + setattr(cls, "vnd.fujitsu.oasysprs", + PermissibleValue(text="vnd.fujitsu.oasysprs")) + setattr(cls, "vnd.fujixerox.ART4", + PermissibleValue(text="vnd.fujixerox.ART4")) + setattr(cls, "vnd.fujixerox.ART-EX", + PermissibleValue(text="vnd.fujixerox.ART-EX")) + setattr(cls, "vnd.fujixerox.ddd", + PermissibleValue(text="vnd.fujixerox.ddd")) + setattr(cls, "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks")) + setattr(cls, "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder")) + setattr(cls, "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container")) + setattr(cls, "vnd.fujixerox.HBPL", + PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", + PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", + PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", + PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", + PermissibleValue(text="vnd.fuzzysheet")) + setattr(cls, "vnd.genomatix.tuxedo", + PermissibleValue(text="vnd.genomatix.tuxedo")) + setattr(cls, "vnd.genozip", + PermissibleValue(text="vnd.genozip")) + setattr(cls, "vnd.gentics.grd+json", + PermissibleValue(text="vnd.gentics.grd+json")) + setattr(cls, "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml")) + setattr(cls, "vnd.gentoo.ebuild", + PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", + PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", + PermissibleValue(text="vnd.gentoo.gpkg")) + setattr(cls, "vnd.gentoo.manifest", + PermissibleValue(text="vnd.gentoo.manifest")) + setattr(cls, "vnd.gentoo.xpak", + PermissibleValue(text="vnd.gentoo.xpak")) + setattr(cls, "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) + setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) + setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) + setattr(cls, "vnd.geogebra.file", + PermissibleValue(text="vnd.geogebra.file")) + setattr(cls, "vnd.geogebra.slides", + PermissibleValue(text="vnd.geogebra.slides")) + setattr(cls, "vnd.geogebra.tool", + PermissibleValue(text="vnd.geogebra.tool")) + setattr(cls, "vnd.geometry-explorer", + PermissibleValue(text="vnd.geometry-explorer")) + setattr(cls, "vnd.geonext", + PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", + PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", + PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", + PermissibleValue(text="vnd.gerber")) + setattr(cls, "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt")) + setattr(cls, "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) + setattr(cls, "vnd.gmx - DEPRECATED", + PermissibleValue(text="vnd.gmx - DEPRECATED")) + setattr(cls, "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json")) + setattr(cls, "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json")) + setattr(cls, "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml")) + setattr(cls, "vnd.google-earth.kmz", + PermissibleValue(text="vnd.google-earth.kmz")) + setattr(cls, "vnd.gov.sk.e-form+xml", + PermissibleValue(text="vnd.gov.sk.e-form+xml")) + setattr(cls, "vnd.gov.sk.e-form+zip", + PermissibleValue(text="vnd.gov.sk.e-form+zip")) + setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) + setattr(cls, "vnd.gpxsee.map+xml", + PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", + PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", + PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", + PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", + PermissibleValue(text="vnd.groove-help")) + setattr(cls, "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message")) + setattr(cls, "vnd.groove-injector", + PermissibleValue(text="vnd.groove-injector")) + setattr(cls, "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message")) + setattr(cls, "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template")) + setattr(cls, "vnd.groove-vcard", + PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", + PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", + PermissibleValue(text="vnd.hal+xml")) + setattr(cls, "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) + setattr(cls, "vnd.hbci", + PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", + PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", + PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", + PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", + PermissibleValue(text="vnd.heroku+json")) + setattr(cls, "vnd.hhe.lesson-player", + PermissibleValue(text="vnd.hhe.lesson-player")) + setattr(cls, "vnd.hp-HPGL", + PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", + PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", + PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", + PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", + PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", + PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", + PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", + PermissibleValue(text="vnd.httphone")) + setattr(cls, "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data")) + setattr(cls, "vnd.hyper-item+json", + PermissibleValue(text="vnd.hyper-item+json")) + setattr(cls, "vnd.hyper+json", + PermissibleValue(text="vnd.hyper+json")) + setattr(cls, "vnd.hyperdrive+json", + PermissibleValue(text="vnd.hyperdrive+json")) + setattr(cls, "vnd.hzn-3d-crossword", + PermissibleValue(text="vnd.hzn-3d-crossword")) + setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) + setattr(cls, "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media")) + setattr(cls, "vnd.ibm.MiniPay", + PermissibleValue(text="vnd.ibm.MiniPay")) + setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) + setattr(cls, "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management")) + setattr(cls, "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container")) + setattr(cls, "vnd.iccprofile", + PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", + PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", + PermissibleValue(text="vnd.igloader")) + setattr(cls, "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip")) + setattr(cls, "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip")) + setattr(cls, "vnd.immervision-ivp", + PermissibleValue(text="vnd.immervision-ivp")) + setattr(cls, "vnd.immervision-ivu", + PermissibleValue(text="vnd.immervision-ivu")) + setattr(cls, "vnd.ims.imsccv1p1", + PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", + PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", + PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr(cls, "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json")) + setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) + setattr(cls, "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) + setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) + setattr(cls, "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml")) + setattr(cls, "vnd.infotech.project", + PermissibleValue(text="vnd.infotech.project")) + setattr(cls, "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml")) + setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) + setattr(cls, "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification")) + setattr(cls, "vnd.insors.igm", + PermissibleValue(text="vnd.insors.igm")) + setattr(cls, "vnd.intercon.formnet", + PermissibleValue(text="vnd.intercon.formnet")) + setattr(cls, "vnd.intergeo", + PermissibleValue(text="vnd.intergeo")) + setattr(cls, "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox")) + setattr(cls, "vnd.intertrust.nncp", + PermissibleValue(text="vnd.intertrust.nncp")) + setattr(cls, "vnd.intu.qbo", + PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", + PermissibleValue(text="vnd.intu.qfx")) + setattr(cls, "vnd.ipfs.ipns-record", + PermissibleValue(text="vnd.ipfs.ipns-record")) + setattr(cls, "vnd.ipld.car", + PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", + PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", + PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", + PermissibleValue(text="vnd.ipld.raw")) + setattr(cls, "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) + setattr(cls, "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) + setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) + setattr(cls, "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) + setattr(cls, "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) + setattr(cls, "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) + setattr(cls, "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) + setattr(cls, "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile")) + setattr(cls, "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml")) + setattr(cls, "vnd.is-xpr", + PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", + PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", + PermissibleValue(text="vnd.jam")) + setattr(cls, "vnd.iso11783-10+zip", + PermissibleValue(text="vnd.iso11783-10+zip")) + setattr(cls, "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service")) + setattr(cls, "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) + setattr(cls, "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup")) + setattr(cls, "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration")) + setattr(cls, "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup")) + setattr(cls, "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup")) + setattr(cls, "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification")) + setattr(cls, "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup")) + setattr(cls, "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms")) + setattr(cls, "vnd.jisp", + PermissibleValue(text="vnd.jisp")) + setattr(cls, "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive")) + setattr(cls, "vnd.jsk.isdn-ngn", + PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", + PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", + PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", + PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", + PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", + PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", + PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", + PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", + PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", + PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", + PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", + PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", + PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", + PermissibleValue(text="vnd.koan")) + setattr(cls, "vnd.kodak-descriptor", + PermissibleValue(text="vnd.kodak-descriptor")) + setattr(cls, "vnd.las", + PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", + PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", + PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", + PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", + PermissibleValue(text="vnd.leap+json")) + setattr(cls, "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml")) + setattr(cls, "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) + setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) + setattr(cls, "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip")) + setattr(cls, "vnd.loom", + PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", + PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", + PermissibleValue(text="vnd.lotus-approach")) + setattr(cls, "vnd.lotus-freelance", + PermissibleValue(text="vnd.lotus-freelance")) + setattr(cls, "vnd.lotus-notes", + PermissibleValue(text="vnd.lotus-notes")) + setattr(cls, "vnd.lotus-organizer", + PermissibleValue(text="vnd.lotus-organizer")) + setattr(cls, "vnd.lotus-screencam", + PermissibleValue(text="vnd.lotus-screencam")) + setattr(cls, "vnd.lotus-wordpro", + PermissibleValue(text="vnd.lotus-wordpro")) + setattr(cls, "vnd.macports.portpkg", + PermissibleValue(text="vnd.macports.portpkg")) + setattr(cls, "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile")) + setattr(cls, "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) + setattr(cls, "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) + setattr(cls, "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml")) + setattr(cls, "vnd.marlin.drm.mdcf", + PermissibleValue(text="vnd.marlin.drm.mdcf")) + setattr(cls, "vnd.mason+json", + PermissibleValue(text="vnd.mason+json")) + setattr(cls, "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip")) + setattr(cls, "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db")) + setattr(cls, "vnd.mcd", + PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", + PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", + PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", + PermissibleValue(text="vnd.medcalcdata")) + setattr(cls, "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey")) + setattr(cls, "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr")) + setattr(cls, "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot")) + setattr(cls, "vnd.mermaid", + PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", + PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", + PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", + PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", + PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", + PermissibleValue(text="vnd.micrografx.igx")) + setattr(cls, "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable")) + setattr(cls, "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) + setattr(cls, "vnd.miele+json", + PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", + PermissibleValue(text="vnd.mif")) + setattr(cls, "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save")) + setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) + setattr(cls, "vnd.Mobius.DAF", + PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", + PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", + PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", + PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", + PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", + PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", + PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", + PermissibleValue(text="vnd.modl")) + setattr(cls, "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application")) + setattr(cls, "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate")) + setattr(cls, "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite")) + setattr(cls, "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi")) + setattr(cls, "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis")) + setattr(cls, "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap")) + setattr(cls, "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr")) + setattr(cls, "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc")) + setattr(cls, "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem")) + setattr(cls, "vnd.motorola.iprm", + PermissibleValue(text="vnd.motorola.iprm")) + setattr(cls, "vnd.mozilla.xul+xml", + PermissibleValue(text="vnd.mozilla.xul+xml")) + setattr(cls, "vnd.ms-artgalry", + PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", + PermissibleValue(text="vnd.ms-asf")) + setattr(cls, "vnd.ms-cab-compressed", + PermissibleValue(text="vnd.ms-cab-compressed")) + setattr(cls, "vnd.ms-3mfdocument", + PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", + PermissibleValue(text="vnd.ms-excel")) + setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) + setattr(cls, "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) + setattr(cls, "vnd.ms-fontobject", + PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", + PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", + PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", + PermissibleValue(text="vnd.ms-lrm")) + setattr(cls, "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml")) + setattr(cls, "vnd.ms-officetheme", + PermissibleValue(text="vnd.ms-officetheme")) + setattr(cls, "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml")) + setattr(cls, "vnd.ms-powerpoint", + PermissibleValue(text="vnd.ms-powerpoint")) + setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) + setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) + setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) + setattr(cls, "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) + setattr(cls, "vnd.ms-project", + PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", + PermissibleValue(text="vnd.ms-tnef")) + setattr(cls, "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing")) + setattr(cls, "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) + setattr(cls, "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing")) + setattr(cls, "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob")) + setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.lic-resp", + PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) + setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) + setattr(cls, "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) + setattr(cls, "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) + setattr(cls, "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) + setattr(cls, "vnd.ms-works", + PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", + PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", + PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", + PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", + PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", + PermissibleValue(text="vnd.msign")) + setattr(cls, "vnd.multiad.creator", + PermissibleValue(text="vnd.multiad.creator")) + setattr(cls, "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif")) + setattr(cls, "vnd.musician", + PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", + PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", + PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", + PermissibleValue(text="vnd.mynfc")) + setattr(cls, "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json")) + setattr(cls, "vnd.ncd.control", + PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", + PermissibleValue(text="vnd.ncd.reference")) + setattr(cls, "vnd.nearst.inv+json", + PermissibleValue(text="vnd.nearst.inv+json")) + setattr(cls, "vnd.nebumind.line", + PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", + PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", + PermissibleValue(text="vnd.netfpx")) + setattr(cls, "vnd.neurolanguage.nlu", + PermissibleValue(text="vnd.neurolanguage.nlu")) + setattr(cls, "vnd.nimn", + PermissibleValue(text="vnd.nimn")) + setattr(cls, "vnd.nintendo.snes.rom", + PermissibleValue(text="vnd.nintendo.snes.rom")) + setattr(cls, "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom")) + setattr(cls, "vnd.nitf", + PermissibleValue(text="vnd.nitf")) + setattr(cls, "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory")) + setattr(cls, "vnd.noblenet-sealer", + PermissibleValue(text="vnd.noblenet-sealer")) + setattr(cls, "vnd.noblenet-web", + PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", + PermissibleValue(text="vnd.nokia.catalogs")) + setattr(cls, "vnd.nokia.conml+wbxml", + PermissibleValue(text="vnd.nokia.conml+wbxml")) + setattr(cls, "vnd.nokia.conml+xml", + PermissibleValue(text="vnd.nokia.conml+xml")) + setattr(cls, "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml")) + setattr(cls, "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) + setattr(cls, "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml")) + setattr(cls, "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml")) + setattr(cls, "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) + setattr(cls, "vnd.nokia.ncd", + PermissibleValue(text="vnd.nokia.ncd")) + setattr(cls, "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) + setattr(cls, "vnd.nokia.n-gage.data", + PermissibleValue(text="vnd.nokia.n-gage.data")) + setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) + setattr(cls, "vnd.nokia.pcd+wbxml", + PermissibleValue(text="vnd.nokia.pcd+wbxml")) + setattr(cls, "vnd.nokia.pcd+xml", + PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr(cls, "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset")) + setattr(cls, "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets")) + setattr(cls, "vnd.novadigm.EDM", + PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", + PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", + PermissibleValue(text="vnd.novadigm.EXT")) + setattr(cls, "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share")) + setattr(cls, "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer")) + setattr(cls, "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) + setattr(cls, "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) + setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) + setattr(cls, "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base")) + setattr(cls, "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart")) + setattr(cls, "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template")) + setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) + setattr(cls, "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula")) + setattr(cls, "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template")) + setattr(cls, "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics")) + setattr(cls, "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) + setattr(cls, "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image")) + setattr(cls, "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template")) + setattr(cls, "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation")) + setattr(cls, "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) + setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) + setattr(cls, "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text")) + setattr(cls, "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master")) + setattr(cls, "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) + setattr(cls, "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template")) + setattr(cls, "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web")) + setattr(cls, "vnd.obn", + PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", + PermissibleValue(text="vnd.ocf+cbor")) + setattr(cls, "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json")) + setattr(cls, "vnd.oftn.l10n+json", + PermissibleValue(text="vnd.oftn.l10n+json")) + setattr(cls, "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) + setattr(cls, "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) + setattr(cls, "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary")) + setattr(cls, "vnd.oipf.dae.svg+xml", + PermissibleValue(text="vnd.oipf.dae.svg+xml")) + setattr(cls, "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) + setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) + setattr(cls, "vnd.oipf.pae.gem", + PermissibleValue(text="vnd.oipf.pae.gem")) + setattr(cls, "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml")) + setattr(cls, "vnd.oipf.spdlist+xml", + PermissibleValue(text="vnd.oipf.spdlist+xml")) + setattr(cls, "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml")) + setattr(cls, "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml")) + setattr(cls, "vnd.olpc-sugar", + PermissibleValue(text="vnd.olpc-sugar")) + setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) + setattr(cls, "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) + setattr(cls, "vnd.oma.bcast.imd+xml", + PermissibleValue(text="vnd.oma.bcast.imd+xml")) + setattr(cls, "vnd.oma.bcast.ltkm", + PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr(cls, "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml")) + setattr(cls, "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) + setattr(cls, "vnd.oma.bcast.sgboot", + PermissibleValue(text="vnd.oma.bcast.sgboot")) + setattr(cls, "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) + setattr(cls, "vnd.oma.bcast.sgdu", + PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr(cls, "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) + setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) + setattr(cls, "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml")) + setattr(cls, "vnd.oma.bcast.stkm", + PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr(cls, "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml")) + setattr(cls, "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) + setattr(cls, "vnd.oma.cab-pcc+xml", + PermissibleValue(text="vnd.oma.cab-pcc+xml")) + setattr(cls, "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) + setattr(cls, "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) + setattr(cls, "vnd.oma.dcd", + PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", + PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", + PermissibleValue(text="vnd.oma.dd2+xml")) + setattr(cls, "vnd.oma.drm.risd+xml", + PermissibleValue(text="vnd.oma.drm.risd+xml")) + setattr(cls, "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml")) + setattr(cls, "vnd.oma.lwm2m+cbor", + PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", + PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", + PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", + PermissibleValue(text="vnd.oma.pal+xml")) + setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) + setattr(cls, "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml")) + setattr(cls, "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml")) + setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) + setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) + setattr(cls, "vnd.oma.push", + PermissibleValue(text="vnd.oma.push")) + setattr(cls, "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml")) + setattr(cls, "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml")) + setattr(cls, "vnd.omads-email+xml", + PermissibleValue(text="vnd.omads-email+xml")) + setattr(cls, "vnd.omads-file+xml", + PermissibleValue(text="vnd.omads-file+xml")) + setattr(cls, "vnd.omads-folder+xml", + PermissibleValue(text="vnd.omads-folder+xml")) + setattr(cls, "vnd.omaloc-supl-init", + PermissibleValue(text="vnd.omaloc-supl-init")) + setattr(cls, "vnd.oma-scws-config", + PermissibleValue(text="vnd.oma-scws-config")) + setattr(cls, "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request")) + setattr(cls, "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response")) + setattr(cls, "vnd.onepager", + PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", + PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", + PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", + PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", + PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", + PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", + PermissibleValue(text="vnd.onvif.metadata")) + setattr(cls, "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary")) + setattr(cls, "vnd.openblox.game+xml", + PermissibleValue(text="vnd.openblox.game+xml")) + setattr(cls, "vnd.openeye.oeb", + PermissibleValue(text="vnd.openeye.oeb")) + setattr(cls, "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml")) + setattr(cls, "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots")) + setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) + setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) + setattr(cls, "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) + setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) + setattr(cls, "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) + setattr(cls, "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json")) + setattr(cls, "vnd.orange.indata", + PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", + PermissibleValue(text="vnd.osa.netdeploy")) + setattr(cls, "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package")) + setattr(cls, "vnd.osgi.bundle", + PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", + PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", + PermissibleValue(text="vnd.osgi.subsystem")) + setattr(cls, "vnd.otps.ct-kip+xml", + PermissibleValue(text="vnd.otps.ct-kip+xml")) + setattr(cls, "vnd.oxli.countgraph", + PermissibleValue(text="vnd.oxli.countgraph")) + setattr(cls, "vnd.pagerduty+json", + PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", + PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", + PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", + PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", + PermissibleValue(text="vnd.patentdive")) + setattr(cls, "vnd.patientecommsdoc", + PermissibleValue(text="vnd.patientecommsdoc")) + setattr(cls, "vnd.pawaafile", + PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", + PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", + PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", + PermissibleValue(text="vnd.pg.osasli")) + setattr(cls, "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence")) + setattr(cls, "vnd.picsel", + PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", + PermissibleValue(text="vnd.pmi.widget")) + setattr(cls, "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml")) + setattr(cls, "vnd.pocketlearn", + PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", + PermissibleValue(text="vnd.powerbuilder6")) + setattr(cls, "vnd.powerbuilder6-s", + PermissibleValue(text="vnd.powerbuilder6-s")) + setattr(cls, "vnd.powerbuilder7", + PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", + PermissibleValue(text="vnd.powerbuilder75")) + setattr(cls, "vnd.powerbuilder75-s", + PermissibleValue(text="vnd.powerbuilder75-s")) + setattr(cls, "vnd.powerbuilder7-s", + PermissibleValue(text="vnd.powerbuilder7-s")) + setattr(cls, "vnd.preminet", + PermissibleValue(text="vnd.preminet")) + setattr(cls, "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box")) + setattr(cls, "vnd.proteus.magazine", + PermissibleValue(text="vnd.proteus.magazine")) + setattr(cls, "vnd.psfs", + PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", + PermissibleValue(text="vnd.pt.mundusmundi")) + setattr(cls, "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree")) + setattr(cls, "vnd.pvi.ptid1", + PermissibleValue(text="vnd.pvi.ptid1")) + setattr(cls, "vnd.pwg-multiplexed", + PermissibleValue(text="vnd.pwg-multiplexed")) + setattr(cls, "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml")) + setattr(cls, "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res")) + setattr(cls, "vnd.quarantainenet", + PermissibleValue(text="vnd.quarantainenet")) + setattr(cls, "vnd.Quark.QuarkXPress", + PermissibleValue(text="vnd.Quark.QuarkXPress")) + setattr(cls, "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument")) + setattr(cls, "vnd.radisys.moml+xml", + PermissibleValue(text="vnd.radisys.moml+xml")) + setattr(cls, "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) + setattr(cls, "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) + setattr(cls, "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) + setattr(cls, "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) + setattr(cls, "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml")) + setattr(cls, "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml")) + setattr(cls, "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) + setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) + setattr(cls, "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) + setattr(cls, "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) + setattr(cls, "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) + setattr(cls, "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml")) + setattr(cls, "vnd.radisys.msml+xml", + PermissibleValue(text="vnd.radisys.msml+xml")) + setattr(cls, "vnd.rainstor.data", + PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", + PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", + PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", + PermissibleValue(text="vnd.realvnc.bed")) + setattr(cls, "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml")) + setattr(cls, "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml")) + setattr(cls, "vnd.relpipe", + PermissibleValue(text="vnd.relpipe")) + setattr(cls, "vnd.RenLearn.rlprint", + PermissibleValue(text="vnd.RenLearn.rlprint")) + setattr(cls, "vnd.resilient.logic", + PermissibleValue(text="vnd.resilient.logic")) + setattr(cls, "vnd.restful+json", + PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", + PermissibleValue(text="vnd.rig.cryptonote")) + setattr(cls, "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml")) + setattr(cls, "vnd.rs-274x", + PermissibleValue(text="vnd.rs-274x")) + setattr(cls, "vnd.ruckus.download", + PermissibleValue(text="vnd.ruckus.download")) + setattr(cls, "vnd.s3sms", + PermissibleValue(text="vnd.s3sms")) + setattr(cls, "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track")) + setattr(cls, "vnd.sar", + PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", + PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", + PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", + PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", + PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", + PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", + PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", + PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", + PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", + PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", + PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", + PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", + PermissibleValue(text="vnd.sealed.xls")) + setattr(cls, "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html")) + setattr(cls, "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) + setattr(cls, "vnd.seemail", + PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", + PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", + PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", + PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", + PermissibleValue(text="vnd.semf")) + setattr(cls, "vnd.shade-save-file", + PermissibleValue(text="vnd.shade-save-file")) + setattr(cls, "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata")) + setattr(cls, "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate")) + setattr(cls, "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange")) + setattr(cls, "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package")) + setattr(cls, "vnd.shootproof+json", + PermissibleValue(text="vnd.shootproof+json")) + setattr(cls, "vnd.shopkick+json", + PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", + PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", + PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", + PermissibleValue(text="vnd.sigrok.session")) + setattr(cls, "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper")) + setattr(cls, "vnd.siren+json", + PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", + PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", + PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", + PermissibleValue(text="vnd.smart.teacher")) + setattr(cls, "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive")) + setattr(cls, "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table")) + setattr(cls, "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml")) + setattr(cls, "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip")) + setattr(cls, "vnd.solent.sdkm+xml", + PermissibleValue(text="vnd.solent.sdkm+xml")) + setattr(cls, "vnd.spotfire.dxp", + PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", + PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", + PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", + PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", + PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", + PermissibleValue(text="vnd.sss-ntf")) + setattr(cls, "vnd.stepmania.package", + PermissibleValue(text="vnd.stepmania.package")) + setattr(cls, "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart")) + setattr(cls, "vnd.street-stream", + PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", + PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", + PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", + PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", + PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", + PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", + PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", + PermissibleValue(text="vnd.syft+json")) + setattr(cls, "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification")) + setattr(cls, "vnd.syncml.dmddf+xml", + PermissibleValue(text="vnd.syncml.dmddf+xml")) + setattr(cls, "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) + setattr(cls, "vnd.syncml.dmtnds+xml", + PermissibleValue(text="vnd.syncml.dmtnds+xml")) + setattr(cls, "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml")) + setattr(cls, "vnd.syncml.dm+wbxml", + PermissibleValue(text="vnd.syncml.dm+wbxml")) + setattr(cls, "vnd.syncml.dm+xml", + PermissibleValue(text="vnd.syncml.dm+xml")) + setattr(cls, "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification")) + setattr(cls, "vnd.syncml+xml", + PermissibleValue(text="vnd.syncml+xml")) + setattr(cls, "vnd.tableschema+json", + PermissibleValue(text="vnd.tableschema+json")) + setattr(cls, "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive")) + setattr(cls, "vnd.tcpdump.pcap", + PermissibleValue(text="vnd.tcpdump.pcap")) + setattr(cls, "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json")) + setattr(cls, "vnd.tml", + PermissibleValue(text="vnd.tml")) + setattr(cls, "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) + setattr(cls, "vnd.tmobile-livetv", + PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", + PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", + PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", + PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", + PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", + PermissibleValue(text="vnd.truedoc")) + setattr(cls, "vnd.ubisoft.webplayer", + PermissibleValue(text="vnd.ubisoft.webplayer")) + setattr(cls, "vnd.ufdl", + PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", + PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", + PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", + PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", + PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", + PermissibleValue(text="vnd.uplanet.alert")) + setattr(cls, "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml")) + setattr(cls, "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice")) + setattr(cls, "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) + setattr(cls, "vnd.uplanet.cacheop", + PermissibleValue(text="vnd.uplanet.cacheop")) + setattr(cls, "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) + setattr(cls, "vnd.uplanet.channel", + PermissibleValue(text="vnd.uplanet.channel")) + setattr(cls, "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml")) + setattr(cls, "vnd.uplanet.list", + PermissibleValue(text="vnd.uplanet.list")) + setattr(cls, "vnd.uplanet.listcmd", + PermissibleValue(text="vnd.uplanet.listcmd")) + setattr(cls, "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) + setattr(cls, "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml")) + setattr(cls, "vnd.uri-map", + PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", + PermissibleValue(text="vnd.uplanet.signal")) + setattr(cls, "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material")) + setattr(cls, "vnd.vcx", + PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", + PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", + PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", + PermissibleValue(text="vnd.vel+json")) + setattr(cls, "vnd.verimatrix.vcas", + PermissibleValue(text="vnd.verimatrix.vcas")) + setattr(cls, "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json")) + setattr(cls, "vnd.veryant.thin", + PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", + PermissibleValue(text="vnd.ves.encrypted")) + setattr(cls, "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference")) + setattr(cls, "vnd.visio", + PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", + PermissibleValue(text="vnd.visionary")) + setattr(cls, "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile")) + setattr(cls, "vnd.vsf", + PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", + PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", + PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", + PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", + PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", + PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", + PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", + PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", + PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", + PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", + PermissibleValue(text="vnd.wfa.wsc")) + setattr(cls, "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing")) + setattr(cls, "vnd.wmc", + PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", + PermissibleValue(text="vnd.wmf.bootstrap")) + setattr(cls, "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica")) + setattr(cls, "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package")) + setattr(cls, "vnd.wolfram.player", + PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", + PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", + PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", + PermissibleValue(text="vnd.wqd")) + setattr(cls, "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled")) + setattr(cls, "vnd.wt.stf", + PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", + PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", + PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", + PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", + PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", + PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", + PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", + PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", + PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", + PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", + PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", + PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", + PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", + PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", + PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr(cls, "vnd.yamaha.hv-script", + PermissibleValue(text="vnd.yamaha.hv-script")) + setattr(cls, "vnd.yamaha.hv-voice", + PermissibleValue(text="vnd.yamaha.hv-voice")) + setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) + setattr(cls, "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat")) + setattr(cls, "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup")) + setattr(cls, "vnd.yamaha.smaf-audio", + PermissibleValue(text="vnd.yamaha.smaf-audio")) + setattr(cls, "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase")) + setattr(cls, "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn")) + setattr(cls, "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) + setattr(cls, "vnd.yaoweme", + PermissibleValue(text="vnd.yaoweme")) + setattr(cls, "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu")) + setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) + setattr(cls, "vnd.zul", + PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", + PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", + PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", + PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", + PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", + PermissibleValue(text="watcherinfo+xml")) + setattr(cls, "webpush-options+json", + PermissibleValue(text="webpush-options+json")) + setattr(cls, "whoispp-query", + PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", + PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", + PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", + PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", + PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", + PermissibleValue(text="x-pki-message")) + setattr(cls, "x-www-form-urlencoded", + PermissibleValue(text="x-www-form-urlencoded")) + setattr(cls, "x-x509-ca-cert", + PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", + PermissibleValue(text="x-x509-ca-ra-cert")) + setattr(cls, "x-x509-next-ca-cert", + PermissibleValue(text="x-x509-next-ca-cert")) + setattr(cls, "x400-bp", + PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", + PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", + PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", + PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", + PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", + PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", + PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", + PermissibleValue(text="xcap-ns+xml")) + setattr(cls, "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml")) + setattr(cls, "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml")) + setattr(cls, "xenc+xml", + PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", + PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", + PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", + PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", + PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", + PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", + PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", + PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", + PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", + PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", + PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", + PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", + PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", + PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", + PermissibleValue(text="yin+xml")) + +class ProvisionTypes(EnumDefinitionImpl): + + private = PermissibleValue( + text="private", + description="A service, which is provided for one customer exclusively.") + public = PermissibleValue( + text="public", + description="A service, which is used by several customers, simultaneously.") + hybrid = PermissibleValue( + text="hybrid", + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + + _defn = EnumDefinition( + name="ProvisionTypes", + ) + +class TenantSeparation(EnumDefinitionImpl): + + physical = PermissibleValue( + text="physical", + description="TBD") + + _defn = EnumDefinition( + name="TenantSeparation", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "hw-virtualized", + PermissibleValue( + text="hw-virtualized", + description="TBD")) + setattr(cls, "sw-virtualized", + PermissibleValue( + text="sw-virtualized", + description="TBD")) + setattr(cls, "os-virtualized", + PermissibleValue( + text="os-virtualized", + description="TBD")) + setattr(cls, "os-hw-virtualized", + PermissibleValue( + text="os-hw-virtualized", + description="TBD")) + setattr(cls, "hw-partitioned", + PermissibleValue( + text="hw-partitioned", + description="TBD")) + +class FirmType(EnumDefinitionImpl): + """ + Possible values for VM image's firmerequired hypervisor. + """ + BIOS = PermissibleValue(text="BIOS") + UEFI = PermissibleValue(text="UEFI") + other = PermissibleValue(text="other") + + _defn = EnumDefinition( + name="FirmType", + description="Possible values for VM image's firmerequired hypervisor.", + ) + +class WatchDogActions(EnumDefinitionImpl): + """ + Possible values for VM image's watchdog actions. + """ + disabled = PermissibleValue( + text="disabled", + description="No watchdog is enabled. No action will be performed if server hangs.") + reset = PermissibleValue( + text="reset", + description="Restart of guest us forced if server hangs.") + poweroff = PermissibleValue( + text="poweroff", + description="Power of of guest is forced if server hangs.") + pause = PermissibleValue( + text="pause", + description="Pause of guest is forced, if server hangs.") + none = PermissibleValue( + text="none", + description="Watchdog is enabled, but not action is defined and performed if server hangs.") + + _defn = EnumDefinition( + name="WatchDogActions", + description="Possible values for VM image's watchdog actions.", + ) + +class RNGTypes(EnumDefinitionImpl): + + Quantum = PermissibleValue( + text="Quantum", + description="Hardware random generator is based in electronic quantum effects.") + + _defn = EnumDefinition( + name="RNGTypes", + ) + + @classmethod + def _addvals(cls): + setattr(cls, "Electrical noise", + PermissibleValue( + text="Electrical noise", + description="Hardware random generator is based on electronic noise.")) + setattr(cls, "Chaos-based", + PermissibleValue( + text="Chaos-based", + description="Hardware random generator is based on chaos.")) + setattr(cls, "Free-running oscillators", + PermissibleValue( + text="Free-running oscillators", + description="Hardware random generator is based in electronic free-running oscillators.")) + setattr(cls, "None", + PermissibleValue( + text="None", + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + +class VMDiskType(EnumDefinitionImpl): + + RAW = PermissibleValue(text="RAW") + QCOW2 = PermissibleValue(text="QCOW2") + VHD = PermissibleValue(text="VHD") + VMDK = PermissibleValue(text="VMDK") + ISO = PermissibleValue(text="ISO") + CVF = PermissibleValue(text="CVF") + CVA = PermissibleValue(text="CVA") + + _defn = EnumDefinition( + name="VMDiskType", + ) + +# Slots +class slots: + pass + +slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), + model_uri=GX.value, domain=None, range=float) + +slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), + model_uri=GX.unit, domain=None, range=str) + +slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), + model_uri=GX.address__countryCode, domain=None, range=str) + +slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), + model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) + +slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), + model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) + +slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), + model_uri=GX.address__postalCode, domain=None, range=Optional[str]) + +slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), + model_uri=GX.address__locality, domain=None, range=Optional[str]) + +slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), + model_uri=GX.gPSLocation__latitude, domain=None, range=str) + +slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), + model_uri=GX.gPSLocation__longitude, domain=None, range=str) + +slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), + model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) + +slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), + model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], + pattern=re.compile(r'^CRS')) + +slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), + model_uri=GX.gPSUnit__degrees, domain=None, range=int) + +slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), + model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) + +slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), + model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) + +slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), + model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) + +slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), + model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) + +slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), + model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) + +slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), + model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) + +slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), + model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) + +slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), + model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), + model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) + +slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), + model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) + +slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), + model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), + model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) + +slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), + model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), + model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) + +slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), + model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) + +slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), + model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) + +slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), + model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) + +slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.checkSum__checkSum, domain=None, range=str) + +slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), + model_uri=GX.signature__signature, domain=None, range=str) + +slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), + model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) + +slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), + model_uri=GX.device__vendor, domain=None, range=Optional[str]) + +slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), + model_uri=GX.device__generation, domain=None, range=Optional[str]) + +slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), + model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), + model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) + +slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), + model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) + +slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), + model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) + +slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), + model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) + +slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), + model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) + +slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), + model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) + +slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), + model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) + +slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), + model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), + model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) + +slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), + model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) + +slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), + model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), + model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), + model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) + +slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), + model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) + +slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), + model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) + +slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), + model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) + +slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), + model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) + +slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), + model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) + +slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), + model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) + +slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), + model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), + model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), + model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), + model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) + +slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), + model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), + model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) + +slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), + model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) + +slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), + model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + +slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), + model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) + +slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), + model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) + +slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) + +slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) + +slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), + model_uri=GX.latestN__value, domain=None, range=Optional[int]) + +slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), + model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) + +slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), + model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) + +slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), + model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), + model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) + +slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), + model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), + model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), + model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) + +slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), + model_uri=GX.vatID__vatID, domain=None, range=URIRef) + +slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), + model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) + +slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), + model_uri=GX.eORI__eori, domain=None, range=URIRef) + +slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), + model_uri=GX.eUID__euid, domain=None, range=URIRef) + +slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), + model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) + +slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), + model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) + +slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), + model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) + +slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), + model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) + +slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), + model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) + +slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), + model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) + +slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) + +slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), + model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) + +slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), + model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) + +slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), + model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), + model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) + +slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), + model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) + +slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), + model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) + +slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), + model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) + +slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), + model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) + +slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), + model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) + +slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), + model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), + model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) + +slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) + +slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), + model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) + +slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), + model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) + +slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), + model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) + +slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), + model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) + +slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), + model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) + +slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), + model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) + +slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), + model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) + +slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) + +slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), + model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) + +slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) + +slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) + +slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), + model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) + +slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), + model_uri=GX.termsAndConditions__hash, domain=None, range=str) + +slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), + model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) + +slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), + model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) + +slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), + model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) + +slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), + model_uri=GX.standardConformity__title, domain=None, range=str) + +slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), + model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) + +slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), + model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) + +slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), + model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) + +slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), + model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) + +slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), + model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), + model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) + +slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), + model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) + +slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), + model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) + +slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), + model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) + +slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), + model_uri=GX.consent__legalBasis, domain=None, range=str) + +slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), + model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) + +slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), + model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) + +slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), + model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) + +slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), + model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) + +slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), + model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) + +slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), + model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) + +slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), + model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), + model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) + +slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), + model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) + +slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), + model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) + +slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), + model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) + +slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), + model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) + +slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), + model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) + +slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), + model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) + +slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), + model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) + +slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), + model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) + +slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), + model_uri=GX.confidentialComputing__technology, domain=None, range=str) + +slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), + model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 199d599..b40ae07 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -2,6 +2,7 @@ Methods and classes needed/useful for JSON-LD serialization. """ import inspect +<<<<<<< HEAD from datetime import date, datetime from typing import List from uuid import uuid4 @@ -16,21 +17,49 @@ from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots +======= + +from generator.common.gx_schema import SCHEMA +from generator.common.gx_schema import VCARD +from generator.common.gx_schema import GX +from generator.common.gx_schema import QUDT +from generator.common.gx_schema import YAMLRoot +from generator.common.gx_schema import slots + +from json import JSONDecoder + +from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.enumerations import EnumDefinitionImpl + +from typing import List + +from uuid import uuid4 +>>>>>>> Add JSON-LD serialization class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python +<<<<<<< HEAD classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. """ def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct +======= + classes of Gaia-X Credential does not have an attribute to store instance's id.""" + + def __init__(self, gx_object: YAMLRoot, gx_id=None): + """ +>>>>>>> Add JSON-LD serialization @param gx_object: Gaia-X object @type gx_object: YAMLRoot @param gx_id: id of Gaia-X object +<<<<<<< HEAD @type gx_id: basestring +======= +>>>>>>> Add JSON-LD serialization """ self.gx_object = gx_object self.gx_id = gx_id @@ -40,12 +69,17 @@ def __init__(self, gx_object: YAMLRoot, gx_id: str = None): def get_json_ld_context() -> dict: """ +<<<<<<< HEAD Return JSON-LD context as dict. +======= + Returns JSON-LD context as dict +>>>>>>> Add JSON-LD serialization @return: JSON-LD context as dictionary @rtype: dict """ return { +<<<<<<< HEAD "@context": { GX.prefix: GX, QUDT.prefix: QUDT, @@ -54,6 +88,16 @@ def get_json_ld_context() -> dict: "xsd": "http://www.w3.org/2001/XMLSchema#", "ex": "https://example.com/", } +======= + "@context": + { + GX.prefix: GX, + QUDT.prefix: QUDT, + SCHEMA.prefix: SCHEMA, + VCARD.prefix: VCARD, + "xsd": "http://www.w3.org/2001/XMLSchema#" + } +>>>>>>> Add JSON-LD serialization } @@ -61,7 +105,11 @@ def to_json_ld(obj) -> dict: """ JSON serializer callback method. 1) Adds object's id, if any +<<<<<<< HEAD 2) Adds type information of instance and its attributes. As JSON-LD interprets all attributes without any type +======= + 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type +>>>>>>> Add JSON-LD serialization information as string, we need to add type to non-string attributes explicitly. 3) Adds curie to instance and its attributes 4) Filters out empty values (None, {}, and []) @@ -70,6 +118,7 @@ def to_json_ld(obj) -> dict: @return: object as dictionary @rtype: dict """ +<<<<<<< HEAD json_ld = dict() if isinstance(obj, JsonLdObject): @@ -90,15 +139,60 @@ def to_json_ld(obj) -> dict: pass for key, value in obj.__dict__.items(): # serialize each attribute of object +======= + json_ld = dict() + + if isinstance(obj, JsonLdObject): + # if JsonLdObject adds id + gx_object = obj.gx_object + json_ld['@id'] = obj.gx_id + json_ld.update(to_json_ld(gx_object)) + return json_ld + elif isinstance(obj, YAMLRoot): + # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict + json_ld['@type'] = get_types(obj.__class__) + for key, value in obj.__dict__.items(): +>>>>>>> Add JSON-LD serialization if value is None or value == [] or value == {}: # skip emtpy values continue slot_curie = get_slot_curie(key, obj) +<<<<<<< HEAD if isinstance(value, list): +======= + if isinstance(value, XSDDateTime): + # Add type for datetime + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:dateTime" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, XSDDate): + # add type for date + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:date" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, float): + # add type for float + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:float" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, str) and value.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:anyURI" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, bool): + # add type for boolean + json_ld[slot_curie] = dict() + json_ld[slot_curie]["@type"] = "xsd:boolean" + json_ld[slot_curie]["@value"] = value + elif isinstance(value, list): +>>>>>>> Add JSON-LD serialization # call to_json_ld for each entry in list json_ld[slot_curie] = list() for item in value: json_ld[slot_curie].append(to_json_ld(item)) +<<<<<<< HEAD elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code return obj.code.text @@ -130,6 +224,32 @@ def to_json_ld(obj) -> dict: def get_slot_curie(slot_name: str, gx_object: object) -> str: """ Return curie of slot with given SLOT_NAME of given GX_OBJECT. +======= + elif isinstance(value, EnumDefinitionImpl): + # add text for enumeration values instead of code + json_ld[slot_curie] = value.code.text + elif isinstance(value, YAMLRoot): + json_ld[slot_curie] = to_json_ld(value) + else: + json_ld[slot_curie] = value + return json_ld + elif isinstance(obj, str): + if obj.startswith("http"): + # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must + # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. + json_ld["@type"] = "xsd:anyURI" + json_ld["@value"] = obj + return json_ld + else: + return obj + else: + return JSONDecoder().decode(obj) + + +def get_slot_curie(slot_name:str, gx_object: object)-> str: + """ + Returns curie of slot with given SLOT_NAME of given GX_OBJECT. +>>>>>>> Add JSON-LD serialization @param slot_name: name of slot whose curie is requested @type slot_name: str @param gx_object: GX object given slot may belong to @@ -144,28 +264,48 @@ def get_slot_curie(slot_name: str, gx_object: object) -> str: return getattr(slots, slot_name).curie +<<<<<<< HEAD def get_types(gx_object: type) -> List[type]: """ Return all types as curie of given GX_OBJECT. Types are instance's class as well as all super classes. @param gx_object: GX object, whose type is to be retrieved @type gx_object: type +======= +def get_types(gaia_object: type) -> List[type]: + """ + Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. + @param gaia_object: GX object, whose type is to be retrived + @type gaia_object: type +>>>>>>> Add JSON-LD serialization @return: list of types if given GX_OBJECT @rtype: list of types """ types = [] +<<<<<<< HEAD for base in _get_super_classes(gx_object): try: types.append(base.class_class_curie) except AttributeError: pass +======= + for base in inspect.getmro(gaia_object): + if isinstance(base, YAMLRoot): + types.append(base.class_class_curie) +>>>>>>> Add JSON-LD serialization return types def _get_super_classes(class_name) -> List: """ +<<<<<<< HEAD Return all super classes of class with given CLASS_NAME. @param class_name: name of class @return: list of all super classes +======= + Returns all super classes of class with given CLASS_NAME + @param class_name: name of class + @return: list of all super classdes +>>>>>>> Add JSON-LD serialization """ classes = [] for base in inspect.getmro(class_name): diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index d30fc75..201de02 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -11,11 +11,18 @@ from typing import Dict, List +import json + +import openstack from openstack.connection import Connection from typing import Dict import sys from generator.common.json_ld import JsonLdObject +from uuid import uuid4 +import generator.common.json_ld as json_ld +from generator.common.gx_schema import VMImage + from generator.discovery.openstack.vm_images_discovery import VmDiscovery @@ -28,7 +35,6 @@ def __init__(self, conn: Connection, config: Dict) -> None: self.regions = list(conn.identity.regions()) self.config = config - def discover_properties(self) -> List[JsonLdObject]: """ Discover all attributes of OS Cloud. @@ -39,4 +45,4 @@ def discover_properties(self) -> List[JsonLdObject]: vm_dis = VmDiscovery(self.conn, self.config) creds.extend(vm_dis.discover_vm_images()) - return creds \ No newline at end of file + return creds diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index ac9a27b..70dbead 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -59,6 +59,9 @@ def _get_cpu_arch(os_image_arch: str) -> str: return CpuArch.other.text import typing +from json import JSONDecoder +import json +import urllib3 from generator.common.gx_schema import Architectures as cpu_arch_types from generator.common.gx_schema import CPU @@ -69,10 +72,13 @@ def _get_cpu_arch(os_image_arch: str) -> str: from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import CheckSum from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import GaiaXEntity from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image +import generator.common.json_ld as json_ld +from generator.common.json_ld import JsonLdObject from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection @@ -83,12 +89,22 @@ def _get_cpu_arch(os_image_arch: str) -> str: from typing import Dict +import yaml +# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd +# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self, conn: Connection, config: Dict) -> None: - self.conn = conn - self.config = config + def __init__(self) -> None: + with open("config/config.yaml", "r") as config_file: + self.config = yaml.safe_load(config_file) + + + + #def __init__(self, conn: Connection, config: Dict) -> None: + # self.conn = conn + # self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[JsonLdObject]: @@ -480,7 +496,8 @@ def _add_operation_system_info( license=self._get_license( self._get_license_for_os(const.CONFIG_OS_ALMALINUX) ), - ) + ) + else: raise ValueError( "Unsupported value for operating system distribution found: '" @@ -537,7 +554,6 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() - for lic in licenses: if lic.startswith("http"): license_list.append(URI(lic)) @@ -704,7 +720,6 @@ def _get_algo(algo: str) -> str: return algo return ChecksumAlgorithm.other - @staticmethod def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: try: @@ -719,9 +734,9 @@ def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo + os_image.img_signature # value + os_image.img_signature_hash_method # hash algo + os_image.img_signature_key_type # signature algo except AttributeError: pass @@ -793,3 +808,4 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hwRngTypeOfImage = "None" + diff --git a/test.py b/test.py new file mode 100644 index 0000000..e69de29 From 74d4a245c1e46bdc9e60445dd1433c141f04c1c6 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 4 Jan 2024 15:31:00 +0100 Subject: [PATCH 159/175] Workaround for unions of data types Signed-off-by: Anja Strunk --- generator/common/gx_schema.py | 185 +- generator/common/gx_schema_org.py | 9224 ----------------------------- generator/common/json_ld.py | 115 +- 3 files changed, 101 insertions(+), 9423 deletions(-) delete mode 100644 generator/common/gx_schema_org.py diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index d64bb65..1a6e2a5 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-28T18:05:45 +# Generation date: 2024-01-04T09:32:21 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -72,7 +72,7 @@ class GaiaX(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaX + class_class_uri: ClassVar[URIRef] = GX["GaiaX"] class_class_curie: ClassVar[str] = "gx:GaiaX" class_name: ClassVar[str] = "GaiaX" class_model_uri: ClassVar[URIRef] = GX.GaiaX @@ -85,12 +85,12 @@ class Address(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = VCARD.Address + class_class_uri: ClassVar[URIRef] = VCARD["Address"] class_class_curie: ClassVar[str] = "vcard:Address" class_name: ClassVar[str] = "Address" class_model_uri: ClassVar[URIRef] = GX.Address - countryCode: Union[CountryNameAlpha2, str] = None + countryCode: str = None gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None @@ -123,13 +123,13 @@ class GPSLocation(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSLocation + class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] class_class_curie: ClassVar[str] = "gx:GPSLocation" class_name: ClassVar[str] = "GPSLocation" class_model_uri: ClassVar[URIRef] = GX.GPSLocation - latitude: Union[GPSUnit, dict] = None - longitude: Union[GPSUnit, dict] = None + latitude: str = None + longitude: str = None altitude: Optional[str] = None crs: Optional[str] = None @@ -160,7 +160,7 @@ class GPSUnit(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPSUnit + class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] class_class_curie: ClassVar[str] = "gx:GPSUnit" class_name: ClassVar[str] = "GPSUnit" class_model_uri: ClassVar[URIRef] = GX.GPSUnit @@ -195,7 +195,7 @@ class GaiaXEntity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity + class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] class_class_curie: ClassVar[str] = "gx:GaiaXEntity" class_name: ClassVar[str] = "GaiaXEntity" class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity @@ -220,7 +220,7 @@ class Encryption(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Encryption + class_class_uri: ClassVar[URIRef] = GX["Encryption"] class_class_curie: ClassVar[str] = "gx:Encryption" class_name: ClassVar[str] = "Encryption" class_model_uri: ClassVar[URIRef] = GX.Encryption @@ -249,7 +249,7 @@ class CheckSum(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CheckSum + class_class_uri: ClassVar[URIRef] = GX["CheckSum"] class_class_curie: ClassVar[str] = "gx:CheckSum" class_name: ClassVar[str] = "CheckSum" class_model_uri: ClassVar[URIRef] = GX.CheckSum @@ -275,7 +275,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class Signature(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Signature + class_class_uri: ClassVar[URIRef] = GX["Signature"] class_class_curie: ClassVar[str] = "gx:Signature" class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature @@ -310,7 +310,7 @@ class Device(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Device + class_class_uri: ClassVar[URIRef] = GX["Device"] class_class_curie: ClassVar[str] = "gx:Device" class_name: ClassVar[str] = "Device" class_model_uri: ClassVar[URIRef] = GX.Device @@ -343,7 +343,7 @@ class CPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CPU + class_class_uri: ClassVar[URIRef] = GX["CPU"] class_class_curie: ClassVar[str] = "gx:CPU" class_name: ClassVar[str] = "CPU" class_model_uri: ClassVar[URIRef] = GX.CPU @@ -397,7 +397,7 @@ class Disk(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Disk + class_class_uri: ClassVar[URIRef] = GX["Disk"] class_class_curie: ClassVar[str] = "gx:Disk" class_name: ClassVar[str] = "Disk" class_model_uri: ClassVar[URIRef] = GX.Disk @@ -428,7 +428,7 @@ class Endpoint(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Endpoint + class_class_uri: ClassVar[URIRef] = GX["Endpoint"] class_class_curie: ClassVar[str] = "gx:Endpoint" class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint @@ -458,7 +458,7 @@ class GPU(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.GPU + class_class_uri: ClassVar[URIRef] = GX["GPU"] class_class_curie: ClassVar[str] = "gx:GPU" class_name: ClassVar[str] = "GPU" class_model_uri: ClassVar[URIRef] = GX.GPU @@ -491,7 +491,7 @@ class MaintenanceSubscription(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription + class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" class_name: ClassVar[str] = "MaintenanceSubscription" class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription @@ -524,15 +524,15 @@ class UpdateStrategy(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy + class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] class_class_curie: ClassVar[str] = "gx:UpdateStrategy" class_name: ClassVar[str] = "UpdateStrategy" class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[Union[Validity2, dict]] = None - providedUntil: Optional[Union[str, XSDDate]] = None + oldVersionsValidUntil: Optional[str] = None + providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): @@ -557,7 +557,7 @@ class LatestN(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LatestN + class_class_uri: ClassVar[URIRef] = GX["LatestN"] class_class_curie: ClassVar[str] = "gx:LatestN" class_name: ClassVar[str] = "Latest_N" class_model_uri: ClassVar[URIRef] = GX.LatestN @@ -577,7 +577,7 @@ class InstantiationRequirement(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement + class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" class_name: ClassVar[str] = "InstantiationRequirement" class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement @@ -590,7 +590,7 @@ class Issuer(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Issuer + class_class_uri: ClassVar[URIRef] = GX["Issuer"] class_class_curie: ClassVar[str] = "gx:Issuer" class_name: ClassVar[str] = "Issuer" class_model_uri: ClassVar[URIRef] = GX.Issuer @@ -613,7 +613,7 @@ class RegistrationNumber(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] class_class_curie: ClassVar[str] = "gx:RegistrationNumber" class_name: ClassVar[str] = "RegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber @@ -623,7 +623,7 @@ class RegistrationNumber(YAMLRoot): class LocalRegistrationNumber(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber + class_class_uri: ClassVar[URIRef] = GX["LocalRegistrationNumber"] class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" class_name: ClassVar[str] = "LocalRegistrationNumber" class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber @@ -643,7 +643,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class VatID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VatID + class_class_uri: ClassVar[URIRef] = GX["VatID"] class_class_curie: ClassVar[str] = "gx:VatID" class_name: ClassVar[str] = "VatID" class_model_uri: ClassVar[URIRef] = GX.VatID @@ -663,7 +663,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class LeiCode(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LeiCode + class_class_uri: ClassVar[URIRef] = GX["LeiCode"] class_class_curie: ClassVar[str] = "gx:LeiCode" class_name: ClassVar[str] = "LeiCode" class_model_uri: ClassVar[URIRef] = GX.LeiCode @@ -683,7 +683,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EORI(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EORI + class_class_uri: ClassVar[URIRef] = GX["EORI"] class_class_curie: ClassVar[str] = "gx:EORI" class_name: ClassVar[str] = "EORI" class_model_uri: ClassVar[URIRef] = GX.EORI @@ -703,7 +703,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class EUID(RegistrationNumber): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.EUID + class_class_uri: ClassVar[URIRef] = GX["EUID"] class_class_curie: ClassVar[str] = "gx:EUID" class_name: ClassVar[str] = "EUID" class_model_uri: ClassVar[URIRef] = GX.EUID @@ -726,7 +726,7 @@ class Memory(Device): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Memory + class_class_uri: ClassVar[URIRef] = GX["Memory"] class_class_curie: ClassVar[str] = "gx:Memory" class_name: ClassVar[str] = "Memory" class_model_uri: ClassVar[URIRef] = GX.Memory @@ -765,7 +765,7 @@ class Quantity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = QUDT.Quantity + class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] class_class_curie: ClassVar[str] = "qudt:Quantity" class_name: ClassVar[str] = "Quantity" class_model_uri: ClassVar[URIRef] = GX.Quantity @@ -809,7 +809,7 @@ class MemorySize(Quantity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.MemorySize + class_class_uri: ClassVar[URIRef] = GX["MemorySize"] class_class_curie: ClassVar[str] = "gx:MemorySize" class_name: ClassVar[str] = "MemorySize" class_model_uri: ClassVar[URIRef] = GX.MemorySize @@ -838,7 +838,7 @@ class Participant(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Participant + class_class_uri: ClassVar[URIRef] = GX["Participant"] class_class_curie: ClassVar[str] = "gx:Participant" class_name: ClassVar[str] = "Participant" class_model_uri: ClassVar[URIRef] = GX.Participant @@ -851,12 +851,12 @@ class LegalPerson(Participant): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.LegalPerson + class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] class_class_curie: ClassVar[str] = "gx:LegalPerson" class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal], List[Union[LeiCodeLeiCode, LocalRegistrationNumberLocal]]] = None + registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() @@ -898,12 +898,12 @@ class Resource(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Resource + class_class_uri: ClassVar[URIRef] = GX["Resource"] class_class_curie: ClassVar[str] = "gx:Resource" class_name: ClassVar[str] = "Resource" class_model_uri: ClassVar[URIRef] = GX.Resource - aggregationOfResources: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): @@ -921,13 +921,13 @@ class VirtualResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualResource + class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] class_class_curie: ClassVar[str] = "gx:VirtualResource" class_name: ClassVar[str] = "VirtualResource" class_model_uri: ClassVar[URIRef] = GX.VirtualResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -960,7 +960,7 @@ class PhysicalResource(Resource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource + class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] class_class_curie: ClassVar[str] = "gx:PhysicalResource" class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource @@ -999,13 +999,13 @@ class SoftwareResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource + class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] class_class_curie: ClassVar[str] = "gx:SoftwareResource" class_name: ClassVar[str] = "SoftwareResource" class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None checksum: Optional[Union[dict, CheckSum]] = None signature: Optional[Union[dict, Signature]] = None @@ -1039,13 +1039,13 @@ class CodeArtifact(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact + class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] class_class_curie: ClassVar[str] = "gx:CodeArtifact" class_name: ClassVar[str] = "CodeArtifact" class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None @dataclass @@ -1056,13 +1056,13 @@ class Image(CodeArtifact): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Image + class_class_uri: ClassVar[URIRef] = GX["Image"] class_class_curie: ClassVar[str] = "gx:Image" class_name: ClassVar[str] = "Image" class_model_uri: ClassVar[URIRef] = GX.Image - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None fileSize: Optional[Union[dict, "MemorySize"]] = None operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None @@ -1132,13 +1132,13 @@ class PXEImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.PXEImage + class_class_uri: ClassVar[URIRef] = GX["PXEImage"] class_class_curie: ClassVar[str] = "gx:PXEImage" class_name: ClassVar[str] = "PXE_Image" class_model_uri: ClassVar[URIRef] = GX.PXEImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" @@ -1156,13 +1156,13 @@ class OperatingSystem(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem + class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] class_class_curie: ClassVar[str] = "gx:OperatingSystem" class_name: ClassVar[str] = "OperatingSystem" class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None osDistribution: Union[str, "OSDistribution"] = None @@ -1182,13 +1182,13 @@ class Hypervisor(SoftwareResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Hypervisor + class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] class_class_curie: ClassVar[str] = "gx:Hypervisor" class_name: ClassVar[str] = "Hypervisor" class_model_uri: ClassVar[URIRef] = GX.Hypervisor - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None hypervisorType: Union[str, "HypervisorType"] = None @@ -1208,7 +1208,7 @@ class ServiceOffering(GaiaXEntity): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] class_class_curie: ClassVar[str] = "gx:ServiceOffering" class_name: ClassVar[str] = "ServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ServiceOffering @@ -1217,13 +1217,13 @@ class ServiceOffering(GaiaXEntity): serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]] = empty_list() - aggregationOfResources: Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]] = empty_list() + dependsOn: Optional[Union[str, List[str]]] = empty_list() + aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]] = empty_list() + hostedOn: Optional[Union[str, List[str]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.providedBy): @@ -1281,7 +1281,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering + class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" class_name: ClassVar[str] = "InfrastructureServiceOffering" class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering @@ -1298,7 +1298,7 @@ class ComputeServiceOffering(InfrastructureServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering + class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" class_name: ClassVar[str] = "ComputeServiceOffering" class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering @@ -1323,7 +1323,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering + class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" class_name: ClassVar[str] = "VirtualMachineServiceOffering" class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering @@ -1354,7 +1354,7 @@ class TermsAndConditions(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions + class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] class_class_curie: ClassVar[str] = "gx:TermsAndConditions" class_name: ClassVar[str] = "TermsAndConditions" class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions @@ -1383,7 +1383,7 @@ class DataAccountExport(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport + class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] class_class_curie: ClassVar[str] = "gx:DataAccountExport" class_name: ClassVar[str] = "DataAccountExport" class_model_uri: ClassVar[URIRef] = GX.DataAccountExport @@ -1418,7 +1418,7 @@ class StandardConformity(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.StandardConformity + class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] class_class_curie: ClassVar[str] = "gx:StandardConformity" class_name: ClassVar[str] = "StandardConformity" class_model_uri: ClassVar[URIRef] = GX.StandardConformity @@ -1451,13 +1451,13 @@ class DataResource(VirtualResource): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataResource + class_class_uri: ClassVar[URIRef] = GX["DataResource"] class_class_curie: ClassVar[str] = "gx:DataResource" class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = GX.DataResource - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None @@ -1506,7 +1506,7 @@ class Consent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.Consent + class_class_uri: ClassVar[URIRef] = GX["Consent"] class_class_curie: ClassVar[str] = "gx:Consent" class_name: ClassVar[str] = "Consent" class_model_uri: ClassVar[URIRef] = GX.Consent @@ -1549,7 +1549,7 @@ class DataExchangeComponent(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent + class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" class_name: ClassVar[str] = "DataExchangeComponent" class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent @@ -1562,13 +1562,13 @@ class VMImage(Image): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.VMImage + class_class_uri: ClassVar[URIRef] = GX["VMImage"] class_class_curie: ClassVar[str] = "gx:VMImage" class_name: ClassVar[str] = "VM_Image" class_model_uri: ClassVar[URIRef] = GX.VMImage - copyrightOwnedBy: Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]] = None - license: Union[Union[URI, SPDX], List[Union[URI, SPDX]]] = None + copyrightOwnedBy: Union[str, List[str]] = None + license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" @@ -1603,7 +1603,7 @@ class ServerFlavor(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor + class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] class_class_curie: ClassVar[str] = "gx:ServerFlavor" class_name: ClassVar[str] = "ServerFlavor" class_model_uri: ClassVar[URIRef] = GX.ServerFlavor @@ -1662,7 +1662,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class ConfidentialComputing(YAMLRoot): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing + class_class_uri: ClassVar[URIRef] = GX["ConfidentialComputing"] class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" class_name: ClassVar[str] = "ConfidentialComputing" class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing @@ -8796,7 +8796,7 @@ class slots: model_uri=GX.unit, domain=None, range=str) slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=Union[CountryNameAlpha2, str]) + model_uri=GX.address__countryCode, domain=None, range=str) slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) @@ -8811,10 +8811,10 @@ class slots: model_uri=GX.address__locality, domain=None, range=Optional[str]) slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__latitude, domain=None, range=str) slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=Union[GPSUnit, dict]) + model_uri=GX.gPSLocation__longitude, domain=None, range=str) slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) @@ -8989,10 +8989,10 @@ class slots: model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[Union[Validity2, dict]]) + model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[Union[str, XSDDate]]) + model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), model_uri=GX.latestN__value, domain=None, range=Optional[int]) @@ -9049,13 +9049,13 @@ class slots: model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[Union[LegalPersonRegistrationNumber, str], List[Union[LegalPersonRegistrationNumber, str]]]) + model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[Union[URI, SPDX], List[Union[URI, SPDX]]]) + model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) @@ -9097,10 +9097,10 @@ class slots: model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[Union[ComputeServiceOffering, dict], List[Union[ComputeServiceOffering, dict]]]]) + model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[Union[OperatingSystem, dict], List[Union[OperatingSystem, dict]]]]) + model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) @@ -9124,7 +9124,7 @@ class slots: model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[Union[VirtualResource, dict], List[Union[VirtualResource, dict]]]]) + model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) @@ -9242,6 +9242,3 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) - -Process finished with exit code 0 - diff --git a/generator/common/gx_schema_org.py b/generator/common/gx_schema_org.py deleted file mode 100644 index 7821417..0000000 --- a/generator/common/gx_schema_org.py +++ /dev/null @@ -1,9224 +0,0 @@ -# Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2023-12-20T13:27:56 -# Schema: gaia-x -# -# id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x -# description: -# license: https://creativecommons.org/publicdomain/zero/1.0/ - -import dataclasses -import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any -from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions - -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime - -metamodel_version = "1.7.0" -version = None - -# Overwrite dataclasses _init_fn to add **kwargs in __init__ -dataclasses._init_fn = dataclasses_init_fn_with_kwargs - -# Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') -DEFAULT_ = GX - - -# Types - -# Class references -class LocalRegistrationNumberLocal(extended_str): - pass - - -class VatIDVatID(extended_str): - pass - - -class LeiCodeLeiCode(extended_str): - pass - - -class EORIEori(extended_str): - pass - - -class EUIDEuid(extended_str): - pass - - -class LegalPersonRegistrationNumber(extended_str): - pass - - -class GaiaX(YAMLRoot): - """ - Top level element of Gaia-X ecosystem. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaX - class_class_curie: ClassVar[str] = "gx:GaiaX" - class_name: ClassVar[str] = "GaiaX" - class_model_uri: ClassVar[URIRef] = GX.GaiaX - - - -@dataclass -class Address(YAMLRoot): - """ - Full address of the entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = VCARD.Address - class_class_curie: ClassVar[str] = "vcard:Address" - class_name: ClassVar[str] = "Address" - class_model_uri: ClassVar[URIRef] = GX.Address - - countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() - streetAddress: Optional[str] = None - postalCode: Optional[str] = None - locality: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.countryCode): - self.MissingRequiredField("countryCode") - if not isinstance(self.countryCode, str): - self.countryCode = str(self.countryCode) - - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) - - if self.streetAddress is not None and not isinstance(self.streetAddress, str): - self.streetAddress = str(self.streetAddress) - - if self.postalCode is not None and not isinstance(self.postalCode, str): - self.postalCode = str(self.postalCode) - - if self.locality is not None and not isinstance(self.locality, str): - self.locality = str(self.locality) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSLocation(YAMLRoot): - """ - Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSLocation - class_class_curie: ClassVar[str] = "gx:GPSLocation" - class_name: ClassVar[str] = "GPSLocation" - class_model_uri: ClassVar[URIRef] = GX.GPSLocation - - latitude: str = None - longitude: str = None - altitude: Optional[str] = None - crs: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.latitude): - self.MissingRequiredField("latitude") - if not isinstance(self.latitude, str): - self.latitude = str(self.latitude) - - if self._is_empty(self.longitude): - self.MissingRequiredField("longitude") - if not isinstance(self.longitude, str): - self.longitude = str(self.longitude) - - if self.altitude is not None and not isinstance(self.altitude, str): - self.altitude = str(self.altitude) - - if self.crs is not None and not isinstance(self.crs, str): - self.crs = str(self.crs) - - super().__post_init__(**kwargs) - - -@dataclass -class GPSUnit(YAMLRoot): - """ - Definition of a geographical point. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPSUnit - class_class_curie: ClassVar[str] = "gx:GPSUnit" - class_name: ClassVar[str] = "GPSUnit" - class_model_uri: ClassVar[URIRef] = GX.GPSUnit - - degrees: int = None - minutes: Optional[int] = None - seconds: Optional[int] = None - decimals: Optional[float] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.degrees): - self.MissingRequiredField("degrees") - if not isinstance(self.degrees, int): - self.degrees = int(self.degrees) - - if self.minutes is not None and not isinstance(self.minutes, int): - self.minutes = int(self.minutes) - - if self.seconds is not None and not isinstance(self.seconds, int): - self.seconds = int(self.seconds) - - if self.decimals is not None and not isinstance(self.decimals, float): - self.decimals = float(self.decimals) - - super().__post_init__(**kwargs) - - -@dataclass -class GaiaXEntity(YAMLRoot): - """ - Root class for Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GaiaXEntity - class_class_curie: ClassVar[str] = "gx:GaiaXEntity" - class_name: ClassVar[str] = "GaiaXEntity" - class_model_uri: ClassVar[URIRef] = GX.GaiaXEntity - - name: Optional[str] = None - description: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.name is not None and not isinstance(self.name, str): - self.name = str(self.name) - - if self.description is not None and not isinstance(self.description, str): - self.description = str(self.description) - - super().__post_init__(**kwargs) - - -@dataclass -class Encryption(YAMLRoot): - """ - Encryption capabilities of a Gaia-X entity. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Encryption - class_class_curie: ClassVar[str] = "gx:Encryption" - class_name: ClassVar[str] = "Encryption" - class_model_uri: ClassVar[URIRef] = GX.Encryption - - cipher: Union[str, "EncryptionAlgorithm"] = None - keyManagement: Union[str, "KeyManagement"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cipher): - self.MissingRequiredField("cipher") - if not isinstance(self.cipher, EncryptionAlgorithm): - self.cipher = EncryptionAlgorithm(self.cipher) - - if self._is_empty(self.keyManagement): - self.MissingRequiredField("keyManagement") - if not isinstance(self.keyManagement, KeyManagement): - self.keyManagement = KeyManagement(self.keyManagement) - - super().__post_init__(**kwargs) - - -@dataclass -class CheckSum(YAMLRoot): - """ - Detail on how to calculate or verify a checksum. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CheckSum - class_class_curie: ClassVar[str] = "gx:CheckSum" - class_name: ClassVar[str] = "CheckSum" - class_model_uri: ClassVar[URIRef] = GX.CheckSum - - checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.checkSumCalculation): - self.MissingRequiredField("checkSumCalculation") - if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): - self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) - - super().__post_init__(**kwargs) - - -@dataclass -class Signature(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Signature - class_class_curie: ClassVar[str] = "gx:Signature" - class_name: ClassVar[str] = "Signature" - class_model_uri: ClassVar[URIRef] = GX.Signature - - signature: str = None - signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) - - if self._is_empty(self.signatureAlgorithm): - self.MissingRequiredField("signatureAlgorithm") - if not isinstance(self.signatureAlgorithm, SignatureAlgorithm): - self.signatureAlgorithm = SignatureAlgorithm(self.signatureAlgorithm) - - super().__post_init__(**kwargs) - - -@dataclass -class Device(YAMLRoot): - """ - Details with respect to properties and capabilities of a hardware or virtualized device. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Device - class_class_curie: ClassVar[str] = "gx:Device" - class_name: ClassVar[str] = "Device" - class_model_uri: ClassVar[URIRef] = GX.Device - - vendor: Optional[str] = None - generation: Optional[str] = None - defaultOversubscriptionRatio: Optional[int] = None - supportedOversubscriptionRatio: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vendor is not None and not isinstance(self.vendor, str): - self.vendor = str(self.vendor) - - if self.generation is not None and not isinstance(self.generation, str): - self.generation = str(self.generation) - - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): - self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) - - super().__post_init__(**kwargs) - - -@dataclass -class CPU(Device): - """ - Computational processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CPU - class_class_curie: ClassVar[str] = "gx:CPU" - class_name: ClassVar[str] = "CPU" - class_model_uri: ClassVar[URIRef] = GX.CPU - - cpuArchitecture: Optional[Union[str, "Architectures"]] = "Other" - cpuFlag: Optional[Union[str, List[str]]] = empty_list() - smtEnabled: Optional[Union[bool, Bool]] = False - numberOfCores: Optional[int] = None - numberOfThreads: Optional[int] = None - baseFrequency: Optional[Union[dict, "Frequency"]] = None - boostFrequency: Optional[Union[dict, "Frequency"]] = None - lastLevelCacheSize: Optional[Union[dict, "MemorySize"]] = None - thermalDesignPower: Optional[Union[dict, "Power"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): - self.cpuArchitecture = Architectures(self.cpuArchitecture) - - if not isinstance(self.cpuFlag, list): - self.cpuFlag = [self.cpuFlag] if self.cpuFlag is not None else [] - self.cpuFlag = [v if isinstance(v, str) else str(v) for v in self.cpuFlag] - - if self.smtEnabled is not None and not isinstance(self.smtEnabled, Bool): - self.smtEnabled = Bool(self.smtEnabled) - - if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): - self.numberOfCores = int(self.numberOfCores) - - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): - self.numberOfThreads = int(self.numberOfThreads) - - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): - self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): - self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): - self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): - self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) - - super().__post_init__(**kwargs) - - -@dataclass -class Disk(Device): - """ - Capabilities of a physical or virtual hard drive. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Disk - class_class_curie: ClassVar[str] = "gx:Disk" - class_name: ClassVar[str] = "Disk" - class_model_uri: ClassVar[URIRef] = GX.Disk - - diskSize: Union[dict, "MemorySize"] = None - diskType: Optional[Union[str, "DiskTypes"]] = "other" - diskBusType: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.diskSize): - self.MissingRequiredField("diskSize") - if not isinstance(self.diskSize, MemorySize): - self.diskSize = MemorySize(**as_dict(self.diskSize)) - - if self.diskType is not None and not isinstance(self.diskType, DiskTypes): - self.diskType = DiskTypes(self.diskType) - - if self.diskBusType is not None and not isinstance(self.diskBusType, str): - self.diskBusType = str(self.diskBusType) - - super().__post_init__(**kwargs) - - -@dataclass -class Endpoint(YAMLRoot): - """ - An endpoint is a mean to access and interact with a service or a resource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Endpoint - class_class_curie: ClassVar[str] = "gx:Endpoint" - class_name: ClassVar[str] = "Endpoint" - class_model_uri: ClassVar[URIRef] = GX.Endpoint - - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None - endpointURL: Optional[Union[str, URI]] = None - formalDescription: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.standardConformity): - self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) - - if self.endpointURL is not None and not isinstance(self.endpointURL, URI): - self.endpointURL = URI(self.endpointURL) - - if self.formalDescription is not None and not isinstance(self.formalDescription, str): - self.formalDescription = str(self.formalDescription) - - super().__post_init__(**kwargs) - - -@dataclass -class GPU(Device): - """ - Graphical processing unit of virtual and physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.GPU - class_class_curie: ClassVar[str] = "gx:GPU" - class_name: ClassVar[str] = "GPU" - class_model_uri: ClassVar[URIRef] = GX.GPU - - gpuMemory: Optional[Union[dict, "MemorySize"]] = None - gpuInterconnection: Optional[Union[str, "GPUInterconnetionTypes"]] = "none" - gpuProcessingUnits: Optional[int] = None - gpuPassthrough: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): - self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): - self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): - self.gpuProcessingUnits = int(self.gpuProcessingUnits) - - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): - self.gpuPassthrough = Bool(self.gpuPassthrough) - - super().__post_init__(**kwargs) - - -@dataclass -class MaintenanceSubscription(YAMLRoot): - """ - A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - class_class_curie: ClassVar[str] = "gx:MaintenanceSubscription" - class_name: ClassVar[str] = "MaintenanceSubscription" - class_model_uri: ClassVar[URIRef] = GX.MaintenanceSubscription - - subscriptionIncluded: Optional[Union[bool, Bool]] = False - subscriptionRequired: Optional[Union[bool, Bool]] = False - maintainedUntil: Optional[Union[str, XSDDate]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): - self.subscriptionIncluded = Bool(self.subscriptionIncluded) - - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): - self.subscriptionRequired = Bool(self.subscriptionRequired) - - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): - self.maintainedUntil = XSDDate(self.maintainedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class UpdateStrategy(YAMLRoot): - """ - Cloud service customer expect cloud images to be updated regularly, in order to always get the image with the - lasted patches. Technically, an updated image is a new image in cloud service' image catalogue having it's own - unique image ID and replaces its old version. It is recommended to hide outdated version, but keep them - referencable by its ID for a transition period for customers' convenience. This class defines important aspects of - providers image update policy. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.UpdateStrategy - class_class_curie: ClassVar[str] = "gx:UpdateStrategy" - class_name: ClassVar[str] = "UpdateStrategy" - class_model_uri: ClassVar[URIRef] = GX.UpdateStrategy - - replaceFrequency: Optional[Union[str, "UpdateFrequency"]] = None - hotfixHours: Optional[int] = None - oldVersionsValidUntil: Optional[str] = None - providedUntil: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): - self.replaceFrequency = UpdateFrequency(self.replaceFrequency) - - if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): - self.hotfixHours = int(self.hotfixHours) - - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): - self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) - - if self.providedUntil is not None and not isinstance(self.providedUntil, str): - self.providedUntil = str(self.providedUntil) - - super().__post_init__(**kwargs) - - -@dataclass -class LatestN(YAMLRoot): - """ - Number of latest N outdated image versions, which will be valid. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LatestN - class_class_curie: ClassVar[str] = "gx:LatestN" - class_name: ClassVar[str] = "Latest_N" - class_model_uri: ClassVar[URIRef] = GX.LatestN - - value: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.value is not None and not isinstance(self.value, int): - self.value = int(self.value) - - super().__post_init__(**kwargs) - - -class InstantiationRequirement(YAMLRoot): - """ - A container class to gather all requirements for compute service offering instantiations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InstantiationRequirement - class_class_curie: ClassVar[str] = "gx:InstantiationRequirement" - class_name: ClassVar[str] = "InstantiationRequirement" - class_model_uri: ClassVar[URIRef] = GX.InstantiationRequirement - - -@dataclass -class Issuer(YAMLRoot): - """ - An issuer of W3C Verifiable Credentials and Verifiable Presentations. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Issuer - class_class_curie: ClassVar[str] = "gx:Issuer" - class_name: ClassVar[str] = "Issuer" - class_model_uri: ClassVar[URIRef] = GX.Issuer - - issuerTermsAndConditions: Union[str, "GaiaXTermsAndConditions"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.issuerTermsAndConditions): - self.MissingRequiredField("issuerTermsAndConditions") - if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) - - super().__post_init__(**kwargs) - - -class RegistrationNumber(YAMLRoot): - """ - Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, - EODI, and EUID. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.RegistrationNumber - class_class_curie: ClassVar[str] = "gx:RegistrationNumber" - class_name: ClassVar[str] = "RegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.RegistrationNumber - - -@dataclass -class LocalRegistrationNumber(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - class_class_curie: ClassVar[str] = "gx:LocalRegistrationNumber" - class_name: ClassVar[str] = "LocalRegistrationNumber" - class_model_uri: ClassVar[URIRef] = GX.LocalRegistrationNumber - - local: Union[str, LocalRegistrationNumberLocal] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.local): - self.MissingRequiredField("local") - if not isinstance(self.local, LocalRegistrationNumberLocal): - self.local = LocalRegistrationNumberLocal(self.local) - - super().__post_init__(**kwargs) - - -@dataclass -class VatID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VatID - class_class_curie: ClassVar[str] = "gx:VatID" - class_name: ClassVar[str] = "VatID" - class_model_uri: ClassVar[URIRef] = GX.VatID - - vatID: Union[str, VatIDVatID] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.vatID): - self.MissingRequiredField("vatID") - if not isinstance(self.vatID, VatIDVatID): - self.vatID = VatIDVatID(self.vatID) - - super().__post_init__(**kwargs) - - -@dataclass -class LeiCode(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LeiCode - class_class_curie: ClassVar[str] = "gx:LeiCode" - class_name: ClassVar[str] = "LeiCode" - class_model_uri: ClassVar[URIRef] = GX.LeiCode - - leiCode: Union[str, LeiCodeLeiCode] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.leiCode): - self.MissingRequiredField("leiCode") - if not isinstance(self.leiCode, LeiCodeLeiCode): - self.leiCode = LeiCodeLeiCode(self.leiCode) - - super().__post_init__(**kwargs) - - -@dataclass -class EORI(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EORI - class_class_curie: ClassVar[str] = "gx:EORI" - class_name: ClassVar[str] = "EORI" - class_model_uri: ClassVar[URIRef] = GX.EORI - - eori: Union[str, EORIEori] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.eori): - self.MissingRequiredField("eori") - if not isinstance(self.eori, EORIEori): - self.eori = EORIEori(self.eori) - - super().__post_init__(**kwargs) - - -@dataclass -class EUID(RegistrationNumber): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.EUID - class_class_curie: ClassVar[str] = "gx:EUID" - class_name: ClassVar[str] = "EUID" - class_model_uri: ClassVar[URIRef] = GX.EUID - - euid: Union[str, EUIDEuid] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.euid): - self.MissingRequiredField("euid") - if not isinstance(self.euid, EUIDEuid): - self.euid = EUIDEuid(self.euid) - - super().__post_init__(**kwargs) - - -@dataclass -class Memory(Device): - """ - Details with respect to properties and capabilities of RAM. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Memory - class_class_curie: ClassVar[str] = "gx:Memory" - class_name: ClassVar[str] = "Memory" - class_model_uri: ClassVar[URIRef] = GX.Memory - - memorySize: Union[dict, "MemorySize"] = None - memoryClass: Optional[Union[str, "MemoryClasses"]] = "other" - memoryRank: Optional[Union[str, "MemoryRanks"]] = "other" - eccEnabled: Optional[Union[bool, Bool]] = False - hardwareEncryption: Optional[Union[bool, Bool]] = False - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.memorySize): - self.MissingRequiredField("memorySize") - if not isinstance(self.memorySize, MemorySize): - self.memorySize = MemorySize(**as_dict(self.memorySize)) - - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): - self.memoryClass = MemoryClasses(self.memoryClass) - - if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): - self.memoryRank = MemoryRanks(self.memoryRank) - - if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): - self.eccEnabled = Bool(self.eccEnabled) - - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): - self.hardwareEncryption = Bool(self.hardwareEncryption) - - super().__post_init__(**kwargs) - - -@dataclass -class Quantity(YAMLRoot): - """ - Abstract parent class for all physical quantities, such as frequency, power or length. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT.Quantity - class_class_curie: ClassVar[str] = "qudt:Quantity" - class_name: ClassVar[str] = "Quantity" - class_model_uri: ClassVar[URIRef] = GX.Quantity - - value: float = None - unit: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.value): - self.MissingRequiredField("value") - if not isinstance(self.value, float): - self.value = float(self.value) - - if self._is_empty(self.unit): - self.MissingRequiredField("unit") - if not isinstance(self.unit, str): - self.unit = str(self.unit) - - super().__post_init__(**kwargs) - - -@dataclass -class Frequency(Quantity): - """ - Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/FrequencyDefinition" - class_name: ClassVar[str] = "Frequency" - class_model_uri: ClassVar[URIRef] = GX.Frequency - - value: float = None - unit: str = None - -@dataclass -class MemorySize(Quantity): - """ - The number of bits, that can be stored on a digital storage. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.MemorySize - class_class_curie: ClassVar[str] = "gx:MemorySize" - class_name: ClassVar[str] = "MemorySize" - class_model_uri: ClassVar[URIRef] = GX.MemorySize - - value: float = None - unit: str = None - -@dataclass -class Power(Quantity): - """ - Definition of 'Power', according to http://qudt.org/quantitykind/Power. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] - class_class_curie: ClassVar[str] = "qudt:quantitykind/Power" - class_name: ClassVar[str] = "Power" - class_model_uri: ClassVar[URIRef] = GX.Power - - value: float = None - unit: str = None - -class Participant(GaiaXEntity): - """ - An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Participant - class_class_curie: ClassVar[str] = "gx:Participant" - class_name: ClassVar[str] = "Participant" - class_model_uri: ClassVar[URIRef] = GX.Participant - - -@dataclass -class LegalPerson(Participant): - """ - A legal person, who is uniquely identified by its registration number. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.LegalPerson - class_class_curie: ClassVar[str] = "gx:LegalPerson" - class_name: ClassVar[str] = "LegalPerson" - class_model_uri: ClassVar[URIRef] = GX.LegalPerson - - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - legalAddress: Union[dict, Address] = None - headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.registrationNumber): - self.MissingRequiredField("registrationNumber") - if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] - - if self._is_empty(self.legalAddress): - self.MissingRequiredField("legalAddress") - if not isinstance(self.legalAddress, Address): - self.legalAddress = Address(**as_dict(self.legalAddress)) - - if self._is_empty(self.headquartersAddress): - self.MissingRequiredField("headquartersAddress") - if not isinstance(self.headquartersAddress, Address): - self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) - - if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] - - if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] - - super().__post_init__(**kwargs) - - -@dataclass -class Resource(GaiaXEntity): - """ - Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist - independently of it. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Resource - class_class_curie: ClassVar[str] = "gx:Resource" - class_name: ClassVar[str] = "Resource" - class_model_uri: ClassVar[URIRef] = GX.Resource - - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualResource(Resource): - """ - It represents static data in any form and necessary information such as dataset, configuration file, license, - keypair, an AI model, neural network weights, etc. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualResource - class_class_curie: ClassVar[str] = "gx:VirtualResource" - class_name: ClassVar[str] = "VirtualResource" - class_model_uri: ClassVar[URIRef] = GX.VirtualResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.copyrightOwnedBy): - self.MissingRequiredField("copyrightOwnedBy") - if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] - - if self._is_empty(self.license): - self.MissingRequiredField("license") - if not isinstance(self.license, list): - self.license = [self.license] if self.license is not None else [] - self.license = [v if isinstance(v, str) else str(v) for v in self.license] - - if self._is_empty(self.resourcePolicy): - self.MissingRequiredField("resourcePolicy") - if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] - - super().__post_init__(**kwargs) - - -@dataclass -class PhysicalResource(Resource): - """ - A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are - entities that have a weight and position in physical space. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PhysicalResource - class_class_curie: ClassVar[str] = "gx:PhysicalResource" - class_name: ClassVar[str] = "PhysicalResource" - class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None - location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.maintainedBy): - self.MissingRequiredField("maintainedBy") - if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] - - if self._is_empty(self.location): - self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) - - if not isinstance(self.ownedBy, list): - self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] - - if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] - - super().__post_init__(**kwargs) - - -@dataclass -class SoftwareResource(VirtualResource): - """ - A Gaia-X Virtual Resource describing an executable program. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.SoftwareResource - class_class_curie: ClassVar[str] = "gx:SoftwareResource" - class_name: ClassVar[str] = "SoftwareResource" - class_model_uri: ClassVar[URIRef] = GX.SoftwareResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - checksum: Optional[Union[dict, CheckSum]] = None - signature: Optional[Union[dict, Signature]] = None - version: Optional[str] = None - patchLevel: Optional[str] = None - buildDate: Optional[Union[str, XSDDateTime]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.checksum is not None and not isinstance(self.checksum, CheckSum): - self.checksum = CheckSum(**as_dict(self.checksum)) - - if self.signature is not None and not isinstance(self.signature, Signature): - self.signature = Signature(**as_dict(self.signature)) - - if self.version is not None and not isinstance(self.version, str): - self.version = str(self.version) - - if self.patchLevel is not None and not isinstance(self.patchLevel, str): - self.patchLevel = str(self.patchLevel) - - if self.buildDate is not None and not isinstance(self.buildDate, XSDDateTime): - self.buildDate = XSDDateTime(self.buildDate) - - super().__post_init__(**kwargs) - - -@dataclass -class CodeArtifact(SoftwareResource): - """ - A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.CodeArtifact - class_class_curie: ClassVar[str] = "gx:CodeArtifact" - class_name: ClassVar[str] = "CodeArtifact" - class_model_uri: ClassVar[URIRef] = GX.CodeArtifact - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - -@dataclass -class Image(CodeArtifact): - """ - A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of - OperatingSystem and CodeArtifact. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Image - class_class_curie: ClassVar[str] = "gx:Image" - class_name: ClassVar[str] = "Image" - class_model_uri: ClassVar[URIRef] = GX.Image - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - fileSize: Optional[Union[dict, "MemorySize"]] = None - operatingSystem: Optional[Union[dict, "OperatingSystem"]] = None - cpuReq: Optional[Union[dict, CPU]] = None - gpuReq: Optional[Union[dict, GPU]] = None - ramReq: Optional[Union[dict, "Memory"]] = None - videoRamSize: Optional[Union[dict, "MemorySize"]] = None - rootDiskReq: Optional[Union[dict, Disk]] = None - encryption: Optional[Union[dict, Encryption]] = None - secureBoot: Optional[Union[bool, Bool]] = False - vPMU: Optional[Union[bool, Bool]] = False - multiQueues: Optional[Union[bool, Bool]] = False - updateStrategy: Optional[Union[dict, "UpdateStrategy"]] = None - licenseIncluded: Optional[Union[bool, Bool]] = False - maintenance: Optional[Union[dict, "MaintenanceSubscription"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): - self.fileSize = MemorySize(**as_dict(self.fileSize)) - - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): - self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) - - if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): - self.cpuReq = CPU(**as_dict(self.cpuReq)) - - if self.gpuReq is not None and not isinstance(self.gpuReq, GPU): - self.gpuReq = GPU(**as_dict(self.gpuReq)) - - if self.ramReq is not None and not isinstance(self.ramReq, Memory): - self.ramReq = Memory(**as_dict(self.ramReq)) - - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): - self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) - - if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): - self.rootDiskReq = Disk(**as_dict(self.rootDiskReq)) - - if self.encryption is not None and not isinstance(self.encryption, Encryption): - self.encryption = Encryption(**as_dict(self.encryption)) - - if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): - self.secureBoot = Bool(self.secureBoot) - - if self.vPMU is not None and not isinstance(self.vPMU, Bool): - self.vPMU = Bool(self.vPMU) - - if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): - self.multiQueues = Bool(self.multiQueues) - - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): - self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): - self.licenseIncluded = Bool(self.licenseIncluded) - - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): - self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) - - super().__post_init__(**kwargs) - - -@dataclass -class PXEImage(Image): - """ - PXE image for physical machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.PXEImage - class_class_curie: ClassVar[str] = "gx:PXEImage" - class_name: ClassVar[str] = "PXE_Image" - class_model_uri: ClassVar[URIRef] = GX.PXEImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): - self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) - - super().__post_init__(**kwargs) - - -@dataclass -class OperatingSystem(SoftwareResource): - """ - A special Gaia-X Software Resource describing an operating system. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.OperatingSystem - class_class_curie: ClassVar[str] = "gx:OperatingSystem" - class_name: ClassVar[str] = "OperatingSystem" - class_model_uri: ClassVar[URIRef] = GX.OperatingSystem - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - osDistribution: Union[str, "OSDistribution"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.osDistribution): - self.MissingRequiredField("osDistribution") - if not isinstance(self.osDistribution, OSDistribution): - self.osDistribution = OSDistribution(self.osDistribution) - - super().__post_init__(**kwargs) - - -@dataclass -class Hypervisor(SoftwareResource): - """ - A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Hypervisor - class_class_curie: ClassVar[str] = "gx:Hypervisor" - class_name: ClassVar[str] = "Hypervisor" - class_model_uri: ClassVar[URIRef] = GX.Hypervisor - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - hypervisorType: Union[str, "HypervisorType"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.hypervisorType): - self.MissingRequiredField("hypervisorType") - if not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - super().__post_init__(**kwargs) - - -@dataclass -class ServiceOffering(GaiaXEntity): - """ - A digital service available for order. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServiceOffering - class_class_curie: ClassVar[str] = "gx:ServiceOffering" - class_name: ClassVar[str] = "ServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - dependsOn: Optional[Union[str, List[str]]] = empty_list() - aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() - keyword: Optional[Union[str, List[str]]] = empty_list() - provisionType: Optional[Union[str, "ProvisionTypes"]] = None - endpoint: Optional[Union[dict, Endpoint]] = None - hostedOn: Optional[Union[str, List[str]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.providedBy): - self.MissingRequiredField("providedBy") - if not isinstance(self.providedBy, LegalPersonRegistrationNumber): - self.providedBy = LegalPersonRegistrationNumber(self.providedBy) - - if self._is_empty(self.serviceOfferingTermsAndConditions): - self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) - - if self._is_empty(self.servicePolicy): - self.MissingRequiredField("servicePolicy") - if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] - - if self._is_empty(self.dataAccountExport): - self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) - - if not isinstance(self.dependsOn, list): - self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] - self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] - - if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] - - if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] - - if not isinstance(self.keyword, list): - self.keyword = [self.keyword] if self.keyword is not None else [] - self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): - self.provisionType = ProvisionTypes(self.provisionType) - - if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): - self.endpoint = Endpoint(**as_dict(self.endpoint)) - - if not isinstance(self.hostedOn, list): - self.hostedOn = [self.hostedOn] if self.hostedOn is not None else [] - self.hostedOn = [v if isinstance(v, str) else str(v) for v in self.hostedOn] - - super().__post_init__(**kwargs) - - -@dataclass -class InfrastructureServiceOffering(ServiceOffering): - """ - A digital service available for order and offering computational, storage and/pr network capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - class_class_curie: ClassVar[str] = "gx:InfrastructureServiceOffering" - class_name: ClassVar[str] = "InfrastructureServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - -@dataclass -class ComputeServiceOffering(InfrastructureServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - class_class_curie: ClassVar[str] = "gx:ComputeServiceOffering" - class_name: ClassVar[str] = "ComputeServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): - self.tenantSeparation = TenantSeparation(self.tenantSeparation) - - super().__post_init__(**kwargs) - - -@dataclass -class VirtualMachineServiceOffering(ComputeServiceOffering): - """ - A digital service available for order and offering computational capabilities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - class_class_curie: ClassVar[str] = "gx:VirtualMachineServiceOffering" - class_name: ClassVar[str] = "VirtualMachineServiceOffering" - class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering - - providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None - codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None - servicePolicy: Union[str, List[str]] = "default:allow intent" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.codeArtifact): - self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) - - if self._is_empty(self.instantiationReq): - self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class TermsAndConditions(YAMLRoot): - """ - Terms and Conditions applying to a service offering. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.TermsAndConditions - class_class_curie: ClassVar[str] = "gx:TermsAndConditions" - class_name: ClassVar[str] = "TermsAndConditions" - class_model_uri: ClassVar[URIRef] = GX.TermsAndConditions - - url: Union[str, URI] = None - hash: str = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.url): - self.MissingRequiredField("url") - if not isinstance(self.url, URI): - self.url = URI(self.url) - - if self._is_empty(self.hash): - self.MissingRequiredField("hash") - if not isinstance(self.hash, str): - self.hash = str(self.hash) - - super().__post_init__(**kwargs) - - -@dataclass -class DataAccountExport(YAMLRoot): - """ - List of methods to export data from your account out of the service. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataAccountExport - class_class_curie: ClassVar[str] = "gx:DataAccountExport" - class_name: ClassVar[str] = "DataAccountExport" - class_model_uri: ClassVar[URIRef] = GX.DataAccountExport - - requestType: Union[str, "RequestTypes"] = None - accessType: Union[str, "AccessTypes"] = None - formatType: Union[str, "MIMETypes"] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.requestType): - self.MissingRequiredField("requestType") - if not isinstance(self.requestType, RequestTypes): - self.requestType = RequestTypes(self.requestType) - - if self._is_empty(self.accessType): - self.MissingRequiredField("accessType") - if not isinstance(self.accessType, AccessTypes): - self.accessType = AccessTypes(self.accessType) - - if self._is_empty(self.formatType): - self.MissingRequiredField("formatType") - if not isinstance(self.formatType, MIMETypes): - self.formatType = MIMETypes(self.formatType) - - super().__post_init__(**kwargs) - - -@dataclass -class StandardConformity(YAMLRoot): - """ - Details about standard applied to Gaia-X entities. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.StandardConformity - class_class_curie: ClassVar[str] = "gx:StandardConformity" - class_name: ClassVar[str] = "StandardConformity" - class_model_uri: ClassVar[URIRef] = GX.StandardConformity - - title: str = None - standardReference: Union[str, URI] = None - publisher: Optional[str] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.title): - self.MissingRequiredField("title") - if not isinstance(self.title, str): - self.title = str(self.title) - - if self._is_empty(self.standardReference): - self.MissingRequiredField("standardReference") - if not isinstance(self.standardReference, URI): - self.standardReference = URI(self.standardReference) - - if self.publisher is not None and not isinstance(self.publisher, str): - self.publisher = str(self.publisher) - - super().__post_init__(**kwargs) - - -@dataclass -class DataResource(VirtualResource): - """ - A dataset exposed through a service instance. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataResource - class_class_curie: ClassVar[str] = "gx:DataResource" - class_name: ClassVar[str] = "DataResource" - class_model_uri: ClassVar[URIRef] = GX.DataResource - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None - containsPII: Union[bool, Bool] = None - obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None - expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.producedBy): - self.MissingRequiredField("producedBy") - if not isinstance(self.producedBy, LegalPersonRegistrationNumber): - self.producedBy = LegalPersonRegistrationNumber(self.producedBy) - - if self._is_empty(self.exposedThrough): - self.MissingRequiredField("exposedThrough") - if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] - - if self._is_empty(self.containsPII): - self.MissingRequiredField("containsPII") - if not isinstance(self.containsPII, Bool): - self.containsPII = Bool(self.containsPII) - - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): - self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): - self.expirationDateTime = XSDDateTime(self.expirationDateTime) - - if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) - - super().__post_init__(**kwargs) - - -@dataclass -class Consent(YAMLRoot): - """ - Information on the legitimate processing of information related to PII. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.Consent - class_class_curie: ClassVar[str] = "gx:Consent" - class_name: ClassVar[str] = "Consent" - class_model_uri: ClassVar[URIRef] = GX.Consent - - legalBasis: str = None - dataProtectionContactPoint: Union[str, List[str]] = None - purpose: Union[str, List[str]] = None - consentWithdrawalContactPoint: Union[str, List[str]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.legalBasis): - self.MissingRequiredField("legalBasis") - if not isinstance(self.legalBasis, str): - self.legalBasis = str(self.legalBasis) - - if self._is_empty(self.dataProtectionContactPoint): - self.MissingRequiredField("dataProtectionContactPoint") - if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] - - if self._is_empty(self.purpose): - self.MissingRequiredField("purpose") - if not isinstance(self.purpose, list): - self.purpose = [self.purpose] if self.purpose is not None else [] - self.purpose = [v if isinstance(v, str) else str(v) for v in self.purpose] - - if self._is_empty(self.consentWithdrawalContactPoint): - self.MissingRequiredField("consentWithdrawalContactPoint") - if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] - - super().__post_init__(**kwargs) - - -class DataExchangeComponent(YAMLRoot): - """ - A service/resource used to make a data resource available. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.DataExchangeComponent - class_class_curie: ClassVar[str] = "gx:DataExchangeComponent" - class_name: ClassVar[str] = "DataExchangeComponent" - class_model_uri: ClassVar[URIRef] = GX.DataExchangeComponent - - -@dataclass -class VMImage(Image): - """ - Image for virtual machines. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.VMImage - class_class_curie: ClassVar[str] = "gx:VMImage" - class_name: ClassVar[str] = "VM_Image" - class_model_uri: ClassVar[URIRef] = GX.VMImage - - copyrightOwnedBy: Union[str, List[str]] = None - license: Union[str, List[str]] = None - resourcePolicy: Union[str, List[str]] = None - vmImageDiskFormat: Optional[Union[str, "VMDiskType"]] = "RAW" - hypervisorType: Optional[Union[str, "HypervisorType"]] = "other" - firmwareType: Optional[Union[str, "FirmType"]] = "other" - hwRngTypeOfImage: Optional[Union[str, "RNGTypes"]] = "None" - watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): - self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): - self.hypervisorType = HypervisorType(self.hypervisorType) - - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): - self.firmwareType = FirmType(self.firmwareType) - - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): - self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): - self.watchDogAction = WatchDogActions(self.watchDogAction) - - super().__post_init__(**kwargs) - - -@dataclass -class ServerFlavor(YAMLRoot): - """ - Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or - virtual servers that can be launched. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ServerFlavor - class_class_curie: ClassVar[str] = "gx:ServerFlavor" - class_name: ClassVar[str] = "ServerFlavor" - class_model_uri: ClassVar[URIRef] = GX.ServerFlavor - - cpu: Union[dict, CPU] = None - ram: Union[dict, Memory] = None - bootVolume: Union[dict, Disk] = None - gpu: Optional[Union[dict, GPU]] = None - network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() - confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None - hypervisor: Optional[Union[dict, SoftwareResource]] = None - hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False - hwRngTypeOfFlavor: Optional[Union[str, "RNGTypes"]] = "None" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.cpu): - self.MissingRequiredField("cpu") - if not isinstance(self.cpu, CPU): - self.cpu = CPU(**as_dict(self.cpu)) - - if self._is_empty(self.ram): - self.MissingRequiredField("ram") - if not isinstance(self.ram, Memory): - self.ram = Memory(**as_dict(self.ram)) - - if self._is_empty(self.bootVolume): - self.MissingRequiredField("bootVolume") - if not isinstance(self.bootVolume, Disk): - self.bootVolume = Disk(**as_dict(self.bootVolume)) - - if self.gpu is not None and not isinstance(self.gpu, GPU): - self.gpu = GPU(**as_dict(self.gpu)) - - if self.network is not None and not isinstance(self.network, str): - self.network = str(self.network) - - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): - self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) - - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): - self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) - - super().__post_init__(**kwargs) - - -@dataclass -class ConfidentialComputing(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = GX.ConfidentialComputing - class_class_curie: ClassVar[str] = "gx:ConfidentialComputing" - class_name: ClassVar[str] = "ConfidentialComputing" - class_model_uri: ClassVar[URIRef] = GX.ConfidentialComputing - - technology: str = None - attestationServiceURI: Optional[Union[str, URI]] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.technology): - self.MissingRequiredField("technology") - if not isinstance(self.technology, str): - self.technology = str(self.technology) - - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): - self.attestationServiceURI = URI(self.attestationServiceURI) - - super().__post_init__(**kwargs) - - -# Enumerations -class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") - VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") - UM = PermissibleValue( - text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") - SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") - VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") - BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") - BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") - VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") - IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") - CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") - KP = PermissibleValue( - text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") - LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") - DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") - MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") - FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") - FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") - TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") - HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") - IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") - KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") - CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") - MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") - MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") - BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") - KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") - MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") - RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") - ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") - SH = PermissibleValue( - text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") - KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") - MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") - SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") - PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") - VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") - GS = PermissibleValue( - text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") - SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") - TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") - TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") - AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") - TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") - US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") - GB = PermissibleValue( - text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") - CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") - - _defn = EnumDefinition( - name="CountryNameAlpha2", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) - -class CountryNameAlpha3(EnumDefinitionImpl): - - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") - ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") - BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") - BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") - BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") - IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") - CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") - CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") - CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") - COD = PermissibleValue( - text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") - COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") - DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") - FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") - FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") - ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") - HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") - IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") - PRK = PermissibleValue( - text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") - KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") - LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") - MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") - MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") - FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") - MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") - MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") - PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") - RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") - SHN = PermissibleValue( - text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") - KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") - MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") - SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") - VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") - STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") - SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") - SGS = PermissibleValue( - text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") - SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") - SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") - TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") - TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") - TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") - XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") - TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") - ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") - GBR = PermissibleValue( - text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") - USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") - UMI = PermissibleValue( - text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") - VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") - VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") - VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") - - _defn = EnumDefinition( - name="CountryNameAlpha3", - ) - -class CountryNameNumeric(EnumDefinitionImpl): - - _defn = EnumDefinition( - name="CountryNameNumeric", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", - PermissibleValue( - text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", - PermissibleValue( - text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", - PermissibleValue( - text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", - PermissibleValue( - text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", - PermissibleValue( - text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", - PermissibleValue( - text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", - PermissibleValue( - text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", - PermissibleValue( - text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", - PermissibleValue( - text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", - PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", - PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", - PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", - PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", - PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", - PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", - PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", - PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", - PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", - PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", - PermissibleValue( - text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) - -class EncryptionAlgorithm(EnumDefinitionImpl): - - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") - - _defn = EnumDefinition( - name="EncryptionAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) - -class ChecksumAlgorithm(EnumDefinitionImpl): - - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm to calcualte checksum not further described.") - - _defn = EnumDefinition( - name="ChecksumAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-2", - PermissibleValue( - text="sha-2", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) - -class KeyManagement(EnumDefinitionImpl): - - BYOK = PermissibleValue( - text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") - HYOK = PermissibleValue( - text="HYOK", - description="hold-your-own-key Key created by user and kept by user") - managed = PermissibleValue( - text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") - - _defn = EnumDefinition( - name="KeyManagement", - ) - -class SignatureAlgorithm(EnumDefinitionImpl): - - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") - other = PermissibleValue( - text="other", - description="Algorithm for digital signatures not further described.") - - _defn = EnumDefinition( - name="SignatureAlgorithm", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) - -class DiskTypes(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="DiskTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) - -class GPUInterconnetionTypes(EnumDefinitionImpl): - - NVLink = PermissibleValue(text="NVLink") - RoCE2 = PermissibleValue(text="RoCE2") - other = PermissibleValue(text="other") - none = PermissibleValue(text="none") - - _defn = EnumDefinition( - name="GPUInterconnetionTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) - -class UpdateFrequency(EnumDefinitionImpl): - """ - Possible values for image's update frequency. - """ - yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") - quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") - weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") - daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") - critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") - - _defn = EnumDefinition( - name="UpdateFrequency", - description="Possible values for image's update frequency.", - ) - -class Validity1(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - none = PermissibleValue( - text="none", - description="No information are given.") - notice = PermissibleValue( - text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") - - _defn = EnumDefinition( - name="Validity1", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class Validity2(EnumDefinitionImpl): - """ - Possible values for definition of image's validity after upgrading to a new version. - """ - forever = PermissibleValue( - text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") - - _defn = EnumDefinition( - name="Validity2", - description="Possible values for definition of image's validity after upgrading to a new version.", - ) - -class GaiaXTermsAndConditions(EnumDefinitionImpl): - """ - SHA256 check sum of Gaia-X Terms and Conditions. - """ - _defn = EnumDefinition( - name="GaiaXTermsAndConditions", - description="SHA256 check sum of Gaia-X Terms and Conditions.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) - -class MemoryClasses(EnumDefinitionImpl): - - DDR4 = PermissibleValue(text="DDR4") - DDR5 = PermissibleValue(text="DDR5") - GDDR5 = PermissibleValue(text="GDDR5") - GDDR6 = PermissibleValue(text="GDDR6") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryClasses", - ) - -class MemoryRanks(EnumDefinitionImpl): - - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="MemoryRanks", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) - -class PXEDiskType(EnumDefinitionImpl): - - WINPE = PermissibleValue(text="WINPE") - ISO = PermissibleValue(text="ISO") - - _defn = EnumDefinition( - name="PXEDiskType", - ) - -class SPDX(EnumDefinitionImpl): - - AAL = PermissibleValue(text="AAL") - Abstyles = PermissibleValue(text="Abstyles") - ADSL = PermissibleValue(text="ADSL") - Afmparse = PermissibleValue(text="Afmparse") - Aladdin = PermissibleValue(text="Aladdin") - AMDPLPA = PermissibleValue(text="AMDPLPA") - AML = PermissibleValue(text="AML") - AMPAS = PermissibleValue(text="AMPAS") - APAFML = PermissibleValue(text="APAFML") - Baekmuk = PermissibleValue(text="Baekmuk") - Bahyph = PermissibleValue(text="Bahyph") - Barr = PermissibleValue(text="Barr") - Beerware = PermissibleValue(text="Beerware") - blessing = PermissibleValue(text="blessing") - Borceux = PermissibleValue(text="Borceux") - Caldera = PermissibleValue(text="Caldera") - CFITSIO = PermissibleValue(text="CFITSIO") - checkmk = PermissibleValue(text="checkmk") - ClArtistic = PermissibleValue(text="ClArtistic") - Clips = PermissibleValue(text="Clips") - Crossword = PermissibleValue(text="Crossword") - CrystalStacker = PermissibleValue(text="CrystalStacker") - Cube = PermissibleValue(text="Cube") - curl = PermissibleValue(text="curl") - diffmark = PermissibleValue(text="diffmark") - DOC = PermissibleValue(text="DOC") - Dotseqn = PermissibleValue(text="Dotseqn") - DSDP = PermissibleValue(text="DSDP") - dtoa = PermissibleValue(text="dtoa") - dvipdfm = PermissibleValue(text="dvipdfm") - eGenix = PermissibleValue(text="eGenix") - Entessa = PermissibleValue(text="Entessa") - EPICS = PermissibleValue(text="EPICS") - EUDatagrid = PermissibleValue(text="EUDatagrid") - Eurosym = PermissibleValue(text="Eurosym") - Fair = PermissibleValue(text="Fair") - FreeImage = PermissibleValue(text="FreeImage") - FSFAP = PermissibleValue(text="FSFAP") - FSFUL = PermissibleValue(text="FSFUL") - FSFULLR = PermissibleValue(text="FSFULLR") - FSFULLRWD = PermissibleValue(text="FSFULLRWD") - FTL = PermissibleValue(text="FTL") - GD = PermissibleValue(text="GD") - Giftware = PermissibleValue(text="Giftware") - GL2PS = PermissibleValue(text="GL2PS") - Glide = PermissibleValue(text="Glide") - Glulxe = PermissibleValue(text="Glulxe") - GLWTPL = PermissibleValue(text="GLWTPL") - gnuplot = PermissibleValue(text="gnuplot") - HaskellReport = PermissibleValue(text="HaskellReport") - HPND = PermissibleValue(text="HPND") - HTMLTIDY = PermissibleValue(text="HTMLTIDY") - ICU = PermissibleValue(text="ICU") - IJG = PermissibleValue(text="IJG") - ImageMagick = PermissibleValue(text="ImageMagick") - iMatix = PermissibleValue(text="iMatix") - Imlib2 = PermissibleValue(text="Imlib2") - Intel = PermissibleValue(text="Intel") - IPA = PermissibleValue(text="IPA") - ISC = PermissibleValue(text="ISC") - Jam = PermissibleValue(text="Jam") - JPNIC = PermissibleValue(text="JPNIC") - JSON = PermissibleValue(text="JSON") - Kazlib = PermissibleValue(text="Kazlib") - Latex2e = PermissibleValue(text="Latex2e") - Leptonica = PermissibleValue(text="Leptonica") - LGPLLR = PermissibleValue(text="LGPLLR") - Libpng = PermissibleValue(text="Libpng") - libtiff = PermissibleValue(text="libtiff") - LOOP = PermissibleValue(text="LOOP") - MakeIndex = PermissibleValue(text="MakeIndex") - metamail = PermissibleValue(text="metamail") - Minpack = PermissibleValue(text="Minpack") - MirOS = PermissibleValue(text="MirOS") - MIT = PermissibleValue(text="MIT") - MITNFA = PermissibleValue(text="MITNFA") - Motosoto = PermissibleValue(text="Motosoto") - mpich2 = PermissibleValue(text="mpich2") - mplus = PermissibleValue(text="mplus") - MTLL = PermissibleValue(text="MTLL") - Multics = PermissibleValue(text="Multics") - Mup = PermissibleValue(text="Mup") - Naumen = PermissibleValue(text="Naumen") - NCSA = PermissibleValue(text="NCSA") - NetCDF = PermissibleValue(text="NetCDF") - Newsletr = PermissibleValue(text="Newsletr") - NGPL = PermissibleValue(text="NGPL") - NLPL = PermissibleValue(text="NLPL") - Nokia = PermissibleValue(text="Nokia") - NOSL = PermissibleValue(text="NOSL") - Noweb = PermissibleValue(text="Noweb") - NRL = PermissibleValue(text="NRL") - NTP = PermissibleValue(text="NTP") - OFFIS = PermissibleValue(text="OFFIS") - OGTSL = PermissibleValue(text="OGTSL") - OML = PermissibleValue(text="OML") - OpenSSL = PermissibleValue(text="OpenSSL") - Plexus = PermissibleValue(text="Plexus") - PostgreSQL = PermissibleValue(text="PostgreSQL") - psfrag = PermissibleValue(text="psfrag") - psutils = PermissibleValue(text="psutils") - Qhull = PermissibleValue(text="Qhull") - Rdisc = PermissibleValue(text="Rdisc") - RSCPL = PermissibleValue(text="RSCPL") - Ruby = PermissibleValue(text="Ruby") - Saxpath = PermissibleValue(text="Saxpath") - SCEA = PermissibleValue(text="SCEA") - SchemeReport = PermissibleValue(text="SchemeReport") - Sendmail = PermissibleValue(text="Sendmail") - SGP4 = PermissibleValue(text="SGP4") - SISSL = PermissibleValue(text="SISSL") - Sleepycat = PermissibleValue(text="Sleepycat") - SMLNJ = PermissibleValue(text="SMLNJ") - SMPPL = PermissibleValue(text="SMPPL") - SNIA = PermissibleValue(text="SNIA") - snprintf = PermissibleValue(text="snprintf") - SunPro = PermissibleValue(text="SunPro") - SWL = PermissibleValue(text="SWL") - Symlinks = PermissibleValue(text="Symlinks") - TCL = PermissibleValue(text="TCL") - TermReadKey = PermissibleValue(text="TermReadKey") - TMate = PermissibleValue(text="TMate") - TOSL = PermissibleValue(text="TOSL") - TPDL = PermissibleValue(text="TPDL") - TTWL = PermissibleValue(text="TTWL") - UCAR = PermissibleValue(text="UCAR") - UnixCrypt = PermissibleValue(text="UnixCrypt") - Unlicense = PermissibleValue(text="Unlicense") - Vim = PermissibleValue(text="Vim") - VOSTROM = PermissibleValue(text="VOSTROM") - W3C = PermissibleValue(text="W3C") - w3m = PermissibleValue(text="w3m") - Wsuipa = PermissibleValue(text="Wsuipa") - WTFPL = PermissibleValue(text="WTFPL") - X11 = PermissibleValue(text="X11") - Xerox = PermissibleValue(text="Xerox") - Xfig = PermissibleValue(text="Xfig") - xinetd = PermissibleValue(text="xinetd") - xlock = PermissibleValue(text="xlock") - Xnet = PermissibleValue(text="Xnet") - xpp = PermissibleValue(text="xpp") - XSkat = PermissibleValue(text="XSkat") - Zed = PermissibleValue(text="Zed") - Zlib = PermissibleValue(text="Zlib") - - _defn = EnumDefinition( - name="SPDX", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) - -class OSDistribution(EnumDefinitionImpl): - """ - Possible values for operating system distribution. - """ - Debian = PermissibleValue(text="Debian") - Fedora = PermissibleValue(text="Fedora") - FreeBSD = PermissibleValue(text="FreeBSD") - Mandrakelinux = PermissibleValue(text="Mandrakelinux") - NetBSD = PermissibleValue(text="NetBSD") - OpenBSD = PermissibleValue(text="OpenBSD") - OpenSolaris = PermissibleValue(text="OpenSolaris") - openSUSE = PermissibleValue(text="openSUSE") - Ubuntu = PermissibleValue(text="Ubuntu") - CirrOS = PermissibleValue(text="CirrOS") - AlmaLinux = PermissibleValue(text="AlmaLinux") - others = PermissibleValue(text="others") - - _defn = EnumDefinition( - name="OSDistribution", - description="Possible values for operating system distribution.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) - -class HypervisorType(EnumDefinitionImpl): - """ - Possible values for hypervisor types. - """ - quemu = PermissibleValue(text="quemu") - KVM = PermissibleValue(text="KVM") - Xen = PermissibleValue(text="Xen") - ESXi = PermissibleValue(text="ESXi") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="HypervisorType", - description="Possible values for hypervisor types.", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) - -class PersonalDataProtectionRegime(EnumDefinitionImpl): - - GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") - LGPD2019 = PermissibleValue( - text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") - PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") - CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") - VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") - - _defn = EnumDefinition( - name="PersonalDataProtectionRegime", - ) - -class RequestTypes(EnumDefinitionImpl): - - API = PermissibleValue(text="API") - email = PermissibleValue(text="email") - webform = PermissibleValue(text="webform") - unregisteredLetter = PermissibleValue(text="unregisteredLetter") - registeredLetter = PermissibleValue(text="registeredLetter") - supportCenter = PermissibleValue(text="supportCenter") - - _defn = EnumDefinition( - name="RequestTypes", - ) - -class AccessTypes(EnumDefinitionImpl): - - digital = PermissibleValue( - text="digital", - description="Access via digital service, such as e-mail or web form.") - physical = PermissibleValue( - text="physical", - description="Access via physical medium, such as letter or physical appointment.") - - _defn = EnumDefinition( - name="AccessTypes", - ) - -class MIMETypes(EnumDefinitionImpl): - - calendar = PermissibleValue(text="calendar") - cql = PermissibleValue(text="cql") - css = PermissibleValue(text="css") - csv = PermissibleValue(text="csv") - dns = PermissibleValue(text="dns") - encaprtp = PermissibleValue(text="encaprtp") - enriched = PermissibleValue(text="enriched") - example = PermissibleValue(text="example") - fhirpath = PermissibleValue(text="fhirpath") - flexfec = PermissibleValue(text="flexfec") - fwdred = PermissibleValue(text="fwdred") - gff3 = PermissibleValue(text="gff3") - hl7v2 = PermissibleValue(text="hl7v2") - html = PermissibleValue(text="html") - javascript = PermissibleValue(text="javascript") - markdown = PermissibleValue(text="markdown") - mizar = PermissibleValue(text="mizar") - n3 = PermissibleValue(text="n3") - parameters = PermissibleValue(text="parameters") - parityfec = PermissibleValue(text="parityfec") - plain = PermissibleValue(text="plain") - RED = PermissibleValue(text="RED") - richtext = PermissibleValue(text="richtext") - rtf = PermissibleValue(text="rtf") - rtploopback = PermissibleValue(text="rtploopback") - rtx = PermissibleValue(text="rtx") - SGML = PermissibleValue(text="SGML") - shacl = PermissibleValue(text="shacl") - shex = PermissibleValue(text="shex") - spdx = PermissibleValue(text="spdx") - strings = PermissibleValue(text="strings") - t140 = PermissibleValue(text="t140") - troff = PermissibleValue(text="troff") - turtle = PermissibleValue(text="turtle") - ulpfec = PermissibleValue(text="ulpfec") - vcard = PermissibleValue(text="vcard") - vtt = PermissibleValue(text="vtt") - wgsl = PermissibleValue(text="wgsl") - xml = PermissibleValue(text="xml") - A2L = PermissibleValue(text="A2L") - activemessage = PermissibleValue(text="activemessage") - AML = PermissibleValue(text="AML") - applefile = PermissibleValue(text="applefile") - ATF = PermissibleValue(text="ATF") - ATFX = PermissibleValue(text="ATFX") - atomicmail = PermissibleValue(text="atomicmail") - ATXML = PermissibleValue(text="ATXML") - cbor = PermissibleValue(text="cbor") - cccex = PermissibleValue(text="cccex") - cdni = PermissibleValue(text="cdni") - CEA = PermissibleValue(text="CEA") - cfw = PermissibleValue(text="cfw") - clr = PermissibleValue(text="clr") - cms = PermissibleValue(text="cms") - commonground = PermissibleValue(text="commonground") - cose = PermissibleValue(text="cose") - csrattrs = PermissibleValue(text="csrattrs") - cwl = PermissibleValue(text="cwl") - cwt = PermissibleValue(text="cwt") - cybercash = PermissibleValue(text="cybercash") - dashdelta = PermissibleValue(text="dashdelta") - DCD = PermissibleValue(text="DCD") - dicom = PermissibleValue(text="dicom") - DII = PermissibleValue(text="DII") - DIT = PermissibleValue(text="DIT") - dvcs = PermissibleValue(text="dvcs") - EDIFACT = PermissibleValue(text="EDIFACT") - efi = PermissibleValue(text="efi") - eshop = PermissibleValue(text="eshop") - exi = PermissibleValue(text="exi") - express = PermissibleValue(text="express") - fastinfoset = PermissibleValue(text="fastinfoset") - fastsoap = PermissibleValue(text="fastsoap") - fdf = PermissibleValue(text="fdf") - fits = PermissibleValue(text="fits") - gzip = PermissibleValue(text="gzip") - H224 = PermissibleValue(text="H224") - http = PermissibleValue(text="http") - hyperstudio = PermissibleValue(text="hyperstudio") - iges = PermissibleValue(text="iges") - index = PermissibleValue(text="index") - IOTP = PermissibleValue(text="IOTP") - ipfix = PermissibleValue(text="ipfix") - ipp = PermissibleValue(text="ipp") - ISUP = PermissibleValue(text="ISUP") - jose = PermissibleValue(text="jose") - json = PermissibleValue(text="json") - jwt = PermissibleValue(text="jwt") - linkset = PermissibleValue(text="linkset") - LXF = PermissibleValue(text="LXF") - macwriteii = PermissibleValue(text="macwriteii") - marc = PermissibleValue(text="marc") - mathematica = PermissibleValue(text="mathematica") - mbox = PermissibleValue(text="mbox") - MF4 = PermissibleValue(text="MF4") - mikey = PermissibleValue(text="mikey") - mipc = PermissibleValue(text="mipc") - mp21 = PermissibleValue(text="mp21") - mp4 = PermissibleValue(text="mp4") - msword = PermissibleValue(text="msword") - mxf = PermissibleValue(text="mxf") - nasdata = PermissibleValue(text="nasdata") - node = PermissibleValue(text="node") - nss = PermissibleValue(text="nss") - ODA = PermissibleValue(text="ODA") - ODX = PermissibleValue(text="ODX") - ogg = PermissibleValue(text="ogg") - oscore = PermissibleValue(text="oscore") - oxps = PermissibleValue(text="oxps") - p21 = PermissibleValue(text="p21") - passport = PermissibleValue(text="passport") - pdf = PermissibleValue(text="pdf") - PDX = PermissibleValue(text="PDX") - pkcs10 = PermissibleValue(text="pkcs10") - pkcs8 = PermissibleValue(text="pkcs8") - pkcs12 = PermissibleValue(text="pkcs12") - pkixcmp = PermissibleValue(text="pkixcmp") - postscript = PermissibleValue(text="postscript") - QSIG = PermissibleValue(text="QSIG") - raptorfec = PermissibleValue(text="raptorfec") - riscos = PermissibleValue(text="riscos") - sbe = PermissibleValue(text="sbe") - sdp = PermissibleValue(text="sdp") - sieve = PermissibleValue(text="sieve") - simpleSymbolContainer = PermissibleValue(text="simpleSymbolContainer") - sipc = PermissibleValue(text="sipc") - slate = PermissibleValue(text="slate") - smpte336m = PermissibleValue(text="smpte336m") - sql = PermissibleValue(text="sql") - srgs = PermissibleValue(text="srgs") - TETRA_ISI = PermissibleValue(text="TETRA_ISI") - tnauthlist = PermissibleValue(text="tnauthlist") - trig = PermissibleValue(text="trig") - tzif = PermissibleValue(text="tzif") - vemmi = PermissibleValue(text="vemmi") - wasm = PermissibleValue(text="wasm") - widget = PermissibleValue(text="widget") - wita = PermissibleValue(text="wita") - xfdf = PermissibleValue(text="xfdf") - yaml = PermissibleValue(text="yaml") - yang = PermissibleValue(text="yang") - zip = PermissibleValue(text="zip") - zlib = PermissibleValue(text="zlib") - zstd = PermissibleValue(text="zstd") - - _defn = EnumDefinition( - name="MIMETypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) - -class ProvisionTypes(EnumDefinitionImpl): - - private = PermissibleValue( - text="private", - description="A service, which is provided for one customer exclusively.") - public = PermissibleValue( - text="public", - description="A service, which is used by several customers, simultaneously.") - hybrid = PermissibleValue( - text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") - - _defn = EnumDefinition( - name="ProvisionTypes", - ) - -class TenantSeparation(EnumDefinitionImpl): - - physical = PermissibleValue( - text="physical", - description="TBD") - - _defn = EnumDefinition( - name="TenantSeparation", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) - -class FirmType(EnumDefinitionImpl): - """ - Possible values for VM image's firmerequired hypervisor. - """ - BIOS = PermissibleValue(text="BIOS") - UEFI = PermissibleValue(text="UEFI") - other = PermissibleValue(text="other") - - _defn = EnumDefinition( - name="FirmType", - description="Possible values for VM image's firmerequired hypervisor.", - ) - -class WatchDogActions(EnumDefinitionImpl): - """ - Possible values for VM image's watchdog actions. - """ - disabled = PermissibleValue( - text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") - reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") - poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") - pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") - none = PermissibleValue( - text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") - - _defn = EnumDefinition( - name="WatchDogActions", - description="Possible values for VM image's watchdog actions.", - ) - -class RNGTypes(EnumDefinitionImpl): - - Quantum = PermissibleValue( - text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") - - _defn = EnumDefinition( - name="RNGTypes", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "Electrical noise", - PermissibleValue( - text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", - PermissibleValue( - text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", - PermissibleValue( - text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", - PermissibleValue( - text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) - -class VMDiskType(EnumDefinitionImpl): - - RAW = PermissibleValue(text="RAW") - QCOW2 = PermissibleValue(text="QCOW2") - VHD = PermissibleValue(text="VHD") - VMDK = PermissibleValue(text="VMDK") - ISO = PermissibleValue(text="ISO") - CVF = PermissibleValue(text="CVF") - CVA = PermissibleValue(text="CVA") - - _defn = EnumDefinition( - name="VMDiskType", - ) - -# Slots -class slots: - pass - -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) - -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) \ No newline at end of file diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index b40ae07..dfad18b 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -2,7 +2,6 @@ Methods and classes needed/useful for JSON-LD serialization. """ import inspect -<<<<<<< HEAD from datetime import date, datetime from typing import List from uuid import uuid4 @@ -17,25 +16,21 @@ from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -======= - -from generator.common.gx_schema import SCHEMA -from generator.common.gx_schema import VCARD -from generator.common.gx_schema import GX -from generator.common.gx_schema import QUDT -from generator.common.gx_schema import YAMLRoot -from generator.common.gx_schema import slots from json import JSONDecoder from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from typing import List +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots +from linkml_runtime.utils.yamlutils import TypedNode +from typing import List, Tuple from uuid import uuid4 ->>>>>>> Add JSON-LD serialization +from datetime import date, datetime +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python @@ -46,20 +41,14 @@ class JsonLdObject: def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct -======= classes of Gaia-X Credential does not have an attribute to store instance's id.""" def __init__(self, gx_object: YAMLRoot, gx_id=None): """ ->>>>>>> Add JSON-LD serialization - @param gx_object: Gaia-X object @type gx_object: YAMLRoot @param gx_id: id of Gaia-X object -<<<<<<< HEAD @type gx_id: basestring -======= ->>>>>>> Add JSON-LD serialization """ self.gx_object = gx_object self.gx_id = gx_id @@ -69,17 +58,12 @@ def __init__(self, gx_object: YAMLRoot, gx_id=None): def get_json_ld_context() -> dict: """ -<<<<<<< HEAD Return JSON-LD context as dict. -======= - Returns JSON-LD context as dict ->>>>>>> Add JSON-LD serialization @return: JSON-LD context as dictionary @rtype: dict """ return { -<<<<<<< HEAD "@context": { GX.prefix: GX, QUDT.prefix: QUDT, @@ -88,16 +72,6 @@ def get_json_ld_context() -> dict: "xsd": "http://www.w3.org/2001/XMLSchema#", "ex": "https://example.com/", } -======= - "@context": - { - GX.prefix: GX, - QUDT.prefix: QUDT, - SCHEMA.prefix: SCHEMA, - VCARD.prefix: VCARD, - "xsd": "http://www.w3.org/2001/XMLSchema#" - } ->>>>>>> Add JSON-LD serialization } @@ -105,11 +79,7 @@ def to_json_ld(obj) -> dict: """ JSON serializer callback method. 1) Adds object's id, if any -<<<<<<< HEAD 2) Adds type information of instance and its attributes. As JSON-LD interprets all attributes without any type -======= - 2) Adds type information of instances and its attributes. As JSON-LD interprets all attributes without any type ->>>>>>> Add JSON-LD serialization information as string, we need to add type to non-string attributes explicitly. 3) Adds curie to instance and its attributes 4) Filters out empty values (None, {}, and []) @@ -118,8 +88,6 @@ def to_json_ld(obj) -> dict: @return: object as dictionary @rtype: dict """ -<<<<<<< HEAD - json_ld = dict() if isinstance(obj, JsonLdObject): # if JsonLdObject add id @@ -139,28 +107,11 @@ def to_json_ld(obj) -> dict: pass for key, value in obj.__dict__.items(): # serialize each attribute of object -======= - json_ld = dict() - - if isinstance(obj, JsonLdObject): - # if JsonLdObject adds id - gx_object = obj.gx_object - json_ld['@id'] = obj.gx_id - json_ld.update(to_json_ld(gx_object)) - return json_ld - elif isinstance(obj, YAMLRoot): - # if YAMLRoot (= all top level classes in Gaia-X Credential Schema, mao attributes to dict - json_ld['@type'] = get_types(obj.__class__) - for key, value in obj.__dict__.items(): ->>>>>>> Add JSON-LD serialization if value is None or value == [] or value == {}: # skip emtpy values continue slot_curie = get_slot_curie(key, obj) -<<<<<<< HEAD if isinstance(value, list): -======= - if isinstance(value, XSDDateTime): # Add type for datetime json_ld[slot_curie] = dict() json_ld[slot_curie]["@type"] = "xsd:dateTime" @@ -187,12 +138,11 @@ def to_json_ld(obj) -> dict: json_ld[slot_curie]["@type"] = "xsd:boolean" json_ld[slot_curie]["@value"] = value elif isinstance(value, list): ->>>>>>> Add JSON-LD serialization - # call to_json_ld for each entry in list + if isinstance(value, list): + # call to_json_ld for each entry in list json_ld[slot_curie] = list() for item in value: json_ld[slot_curie].append(to_json_ld(item)) -<<<<<<< HEAD elif isinstance(obj, EnumDefinitionImpl): # add text for enumeration values instead of code return obj.code.text @@ -222,34 +172,9 @@ def to_json_ld(obj) -> dict: def get_slot_curie(slot_name: str, gx_object: object) -> str: - """ - Return curie of slot with given SLOT_NAME of given GX_OBJECT. -======= - elif isinstance(value, EnumDefinitionImpl): - # add text for enumeration values instead of code - json_ld[slot_curie] = value.code.text - elif isinstance(value, YAMLRoot): - json_ld[slot_curie] = to_json_ld(value) - else: - json_ld[slot_curie] = value - return json_ld - elif isinstance(obj, str): - if obj.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld["@type"] = "xsd:anyURI" - json_ld["@value"] = obj - return json_ld - else: - return obj - else: - return JSONDecoder().decode(obj) - - -def get_slot_curie(slot_name:str, gx_object: object)-> str: """ Returns curie of slot with given SLOT_NAME of given GX_OBJECT. ->>>>>>> Add JSON-LD serialization + @param slot_name: name of slot whose curie is requested @type slot_name: str @param gx_object: GX object given slot may belong to @@ -263,49 +188,29 @@ def get_slot_curie(slot_name:str, gx_object: object)-> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie - -<<<<<<< HEAD def get_types(gx_object: type) -> List[type]: - """ - Return all types as curie of given GX_OBJECT. Types are instance's class as well as all super classes. - @param gx_object: GX object, whose type is to be retrieved - @type gx_object: type -======= -def get_types(gaia_object: type) -> List[type]: """ Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. @param gaia_object: GX object, whose type is to be retrived @type gaia_object: type ->>>>>>> Add JSON-LD serialization - @return: list of types if given GX_OBJECT - @rtype: list of types """ types = [] -<<<<<<< HEAD for base in _get_super_classes(gx_object): try: types.append(base.class_class_curie) except AttributeError: pass -======= - for base in inspect.getmro(gaia_object): + for base in inspect.getmro(gx_object): if isinstance(base, YAMLRoot): types.append(base.class_class_curie) ->>>>>>> Add JSON-LD serialization return types def _get_super_classes(class_name) -> List: """ -<<<<<<< HEAD Return all super classes of class with given CLASS_NAME. @param class_name: name of class @return: list of all super classes -======= - Returns all super classes of class with given CLASS_NAME - @param class_name: name of class - @return: list of all super classdes ->>>>>>> Add JSON-LD serialization """ classes = [] for base in inspect.getmro(class_name): From cddc66bc69ff82bad5e6d9bed8cb149562c1aafc Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Fri, 5 Jan 2024 15:01:01 +0100 Subject: [PATCH 160/175] Support siganure, finish JSON-LD serialization, refactoring Signed-off-by: Anja Strunk --- config/config.yaml | 1 + generator/common/const.py | 34 +-- generator/common/exceptions.py | 5 - generator/common/expections.py | 1 + generator/common/gx_schema.py | 38 ++- generator/common/json_ld.py | 21 +- generator/data.json | 0 .../discovery/openstack/opentack_discovery.py | 11 +- .../openstack/vm_images_discovery.py | 289 +++++++++++++++--- 9 files changed, 291 insertions(+), 109 deletions(-) delete mode 100644 generator/common/exceptions.py create mode 100644 generator/data.json diff --git a/config/config.yaml b/config/config.yaml index 694c926..304a792 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -135,3 +135,4 @@ default: #wallets: # filesystem: # path: /etc/wallet/gx-credentials/ + diff --git a/generator/common/const.py b/generator/common/const.py index ef09928..4944881 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -51,40 +51,10 @@ DEFAULT_FIRMWARE_TYPE = "other" DEFAULT_WATCHDOG_ACTION = "none" -<<<<<<< HEAD + UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" -======= -UNIT_MB = "https://qudt.org/vocab/unit/MegaBYTE" -UNIT_GB = "https://qudt.org/vocab/unit/GigaBYTE" -CONFIG_VM_IMAGE = "vm image" -CONFIG_RESOURCE_POLICY = "resource policy" -CONFIG_LICENSE = "license" -CONFIG_COPYRIGHT = "copyright owner" -CONFIG_OS_ALP = "Alpine Linux" -CONFIG_OS_ARCH = "Arch Linux" -CONFIG_OS_CENTOS = "CentOS Linux" -CONFIG_OS_DEBIAN = "Debian" -CONFIG_OS_FEDORA = "Fedora" -CONFIG_OS_FREEBSD = "FreeBSD" -CONFIG_OS_GENTOO = "Gentoo Linux" -CONFIG_OS_MANDRAKE = "Mandrake Linux" -CONFIG_OS_MANDRIVA = "Mandriva Linux" -CONFIG_OS_MES = "Mandriva Enterprise Server" -CONFIG_OS_MSDOS = "MS-DOS" -CONFIG_OS_NETBSD = "NetBSD" -CONFIG_OS_NOVELL = "Novell Netware" -CONFIG_OS_OPENBSD = "OpenBSD" -CONFIG_OS_SOLARIS = "OpenSolaris" -CONFIG_OS_OPEN_SUSE = "openSUSE" -CONFIG_OS_ROCKY = "Rocky Linux" -CONFIG_OS_RHEL = "Red Hat Enterprise Linux" -CONFIG_OS_SLED = "SUSE Linux Enterprise Desktop" -CONFIG_OS_UBUNTU = "Ubuntu" -CONFIG_OS_WINDOWS = "Microsoft Windows" -CONFIG_OS_CIRROS = "CirrOS" -CONFIG_OS_ALMALINUX = "AlmaLinux" ->>>>>>> Support mandatory attributes of VM Images + diff --git a/generator/common/exceptions.py b/generator/common/exceptions.py deleted file mode 100644 index de8920d..0000000 --- a/generator/common/exceptions.py +++ /dev/null @@ -1,5 +0,0 @@ - -class MissingMandatoryAttribute(AttributeError): - def __init__(self, *args, **kwargs): - super(MissingMandatoryAttribute, self).__init__(args, "Are you sure this is a SCS compliant cluster.") - diff --git a/generator/common/expections.py b/generator/common/expections.py index ae89ffa..e355490 100644 --- a/generator/common/expections.py +++ b/generator/common/expections.py @@ -1,3 +1,4 @@ + class MissingMandatoryAttribute(AttributeError): """ An exception that occurs when an SCS mandatory attributes are missing. diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index 1a6e2a5..fcd1d2a 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -1,5 +1,5 @@ # Auto generated from gaia-x.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-01-04T09:32:21 +# Generation date: 2024-01-05T13:21:25 # Schema: gaia-x # # id: http://w3id.org/gaia-x/gx-trust-framework/gaia-x @@ -255,7 +255,7 @@ class CheckSum(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.CheckSum checkSumCalculation: Union[str, "ChecksumAlgorithm"] = None - checkSum: str = None + checkSumValue: str = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.checkSumCalculation): @@ -263,10 +263,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.checkSumCalculation, ChecksumAlgorithm): self.checkSumCalculation = ChecksumAlgorithm(self.checkSumCalculation) - if self._is_empty(self.checkSum): - self.MissingRequiredField("checkSum") - if not isinstance(self.checkSum, str): - self.checkSum = str(self.checkSum) + if self._is_empty(self.checkSumValue): + self.MissingRequiredField("checkSumValue") + if not isinstance(self.checkSumValue, str): + self.checkSumValue = str(self.checkSumValue) super().__post_init__(**kwargs) @@ -280,15 +280,15 @@ class Signature(YAMLRoot): class_name: ClassVar[str] = "Signature" class_model_uri: ClassVar[URIRef] = GX.Signature - signature: str = None + signatureValue: str = None hashAlgorithm: Union[str, "ChecksumAlgorithm"] = None signatureAlgorithm: Union[str, "SignatureAlgorithm"] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.signature): - self.MissingRequiredField("signature") - if not isinstance(self.signature, str): - self.signature = str(self.signature) + if self._is_empty(self.signatureValue): + self.MissingRequiredField("signatureValue") + if not isinstance(self.signatureValue, str): + self.signatureValue = str(self.signatureValue) if self._is_empty(self.hashAlgorithm): self.MissingRequiredField("hashAlgorithm") @@ -1072,6 +1072,7 @@ class Image(CodeArtifact): videoRamSize: Optional[Union[dict, "MemorySize"]] = None rootDiskReq: Optional[Union[dict, Disk]] = None encryption: Optional[Union[dict, Encryption]] = None + checkSum: Optional[Union[dict, CheckSum]] = None secureBoot: Optional[Union[bool, Bool]] = False vPMU: Optional[Union[bool, Bool]] = False multiQueues: Optional[Union[bool, Bool]] = False @@ -1104,6 +1105,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.encryption is not None and not isinstance(self.encryption, Encryption): self.encryption = Encryption(**as_dict(self.encryption)) + if self.checkSum is not None and not isinstance(self.checkSum, CheckSum): + self.checkSum = CheckSum(**as_dict(self.checkSum)) + if self.secureBoot is not None and not isinstance(self.secureBoot, Bool): self.secureBoot = Bool(self.secureBoot) @@ -8877,11 +8881,11 @@ class slots: slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) -slots.checkSum__checkSum = Slot(uri=GX.checkSum, name="checkSum__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.checkSum__checkSum, domain=None, range=str) +slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), + model_uri=GX.checkSum__checkSumValue, domain=None, range=str) -slots.signature__signature = Slot(uri=GX.signature, name="signature__signature", curie=GX.curie('signature'), - model_uri=GX.signature__signature, domain=None, range=str) +slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), + model_uri=GX.signature__signatureValue, domain=None, range=str) slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) @@ -8955,6 +8959,9 @@ class slots: slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) +slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), + model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) + slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) @@ -9242,3 +9249,4 @@ class slots: slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) + diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index dfad18b..c7ad37a 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -17,23 +17,22 @@ from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from json import JSONDecoder +from datetime import date, datetime + +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int +from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots -from linkml_runtime.utils.yamlutils import TypedNode -from typing import List, Tuple +from typing import List from uuid import uuid4 -from datetime import date, datetime -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python +<<<<<<< HEAD <<<<<<< HEAD classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. """ @@ -43,8 +42,10 @@ def __init__(self, gx_object: YAMLRoot, gx_id: str = None): Create a new object of JsonLdObejct classes of Gaia-X Credential does not have an attribute to store instance's id.""" - def __init__(self, gx_object: YAMLRoot, gx_id=None): + def __init__(self, gx_object: YAMLRoot, gx_id:str=None): """ + Create a new object of JsonLdObejct + @param gx_object: Gaia-X object @type gx_object: YAMLRoot @param gx_id: id of Gaia-X object @@ -174,7 +175,6 @@ def to_json_ld(obj) -> dict: def get_slot_curie(slot_name: str, gx_object: object) -> str: """ Returns curie of slot with given SLOT_NAME of given GX_OBJECT. - @param slot_name: name of slot whose curie is requested @type slot_name: str @param gx_object: GX object given slot may belong to @@ -188,6 +188,7 @@ def get_slot_curie(slot_name: str, gx_object: object) -> str: elif hasattr(slots, slot_name): return getattr(slots, slot_name).curie + def get_types(gx_object: type) -> List[type]: """ Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. diff --git a/generator/data.json b/generator/data.json new file mode 100644 index 0000000..e69de29 diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 201de02..f9a4786 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -12,22 +12,23 @@ from typing import Dict, List import json +import generator.common.json_ld as json_ld + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery -import openstack from openstack.connection import Connection -from typing import Dict -import sys + from generator.common.json_ld import JsonLdObject from uuid import uuid4 import generator.common.json_ld as json_ld from generator.common.gx_schema import VMImage -from generator.discovery.openstack.vm_images_discovery import VmDiscovery + class OsCloud: - "Abstraction for openStack cloud with all its services" + "Abstraction for openStack cloud with all its services." def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 70dbead..81879d6 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -62,49 +62,46 @@ def _get_cpu_arch(os_image_arch: str) -> str: from json import JSONDecoder import json import urllib3 +from linkml_runtime.utils.metamodelcore import URI + +from generator.common.expections import MissingMandatoryAttribute -from generator.common.gx_schema import Architectures as cpu_arch_types +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX from generator.common.gx_schema import UpdateStrategy -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import GaiaXEntity - -from generator.common.gx_schema import UpdateFrequency from generator.common.gx_schema import VMImage as GX_Image -import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject -from generator.common.exceptions import MissingMandatoryAttribute from openstack.connection import Connection from openstack.image.v2.image import Image as OS_Image -from typing import List import generator.common.const as const -from typing import Dict +from typing import Dict, Union, List + +from datetime import datetime -import yaml # TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} -# TODO: Es gab probleme mit der Serialiserung nach JSON-LD. Es wird nur JSON unterstützt, wie keine Pröfixe oder Kontexte vorhanden isnd -# TODO: Es ga Probleme mit der Portierung von LinkML nach Python. Hier wird xsd:any of string abegebildet, Das macht er schwer daraud wieder sxd:anyURI zu machrn, was shacl erwartet. class VmDiscovery(): - def __init__(self) -> None: - with open("config/config.yaml", "r") as config_file: - self.config = yaml.safe_load(config_file) - - + # def __init__(self) -> None: + # with open("config/config.yaml", "r") as config_file: + # self.config = yaml.safe_load(config_file) - #def __init__(self, conn: Connection, config: Dict) -> None: - # self.conn = conn - # self.config = config + def __init__(self, conn: Connection, config: Dict) -> None: + self.conn = conn + self.config = config # def collect_vm_images(self, conn: Connection) -> List[str]: def discover_vm_images(self) -> List[JsonLdObject]: @@ -157,6 +154,7 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_patch_level(os_image, gx_image) self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) + self._add_signature(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -498,6 +496,183 @@ def _add_operation_system_info( ), ) + def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: + # Copyright owner and license not supported as Image properties, currently --> Default values from config are used + + if os_image.os_distro == "arch": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ARCH))) + elif os_image.os_distro == "centos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CENTOS), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CENTOS))) + elif os_image.os_distro == "debian": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_DEBIAN), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_DEBIAN))) + elif os_image.os_distro == "fedora": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FEDORA), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FEDORA))) + elif os_image.os_distro == "freebsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_FREEBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_FREEBSD), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_FREEBSD))) + elif os_image.os_distro == "gentoo": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_GENTOO), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_GENTOO))) + elif os_image.os_distro == "mandrake": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRAKE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRAKE), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) + elif os_image.os_distro == "mandriva": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_MANDRIVA), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_MANDRIVA), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) + elif os_image.os_distro == "mes": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MES))) + elif os_image.os_distro == "msdos": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_MSDOS))) + elif os_image.os_distro == "netbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NETBSD), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NETBSD))) + elif os_image.os_distro == "netware": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_NOVELL), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_NOVELL))) + elif os_image.os_distro == "openbsd": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPENBSD), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPENBSD), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPENBSD))) + elif os_image.os_distro == "opensolaris": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_SOLARIS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_SOLARIS), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SOLARIS))) + elif os_image.os_distro == "opensuse": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_OPEN_SUSE), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_OPEN_SUSE), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) + elif os_image.os_distro == "rocky": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ROCKY))) + elif os_image.os_distro == "rhel": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_RHEL))) + elif os_image.os_distro == "sled": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_SLED))) + elif os_image.os_distro == "ubuntu": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_UBUNTU), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_UBUNTU))) + elif os_image.os_distro == "windows": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_WINDOWS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_WINDOWS), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_WINDOWS))) + elif os_image.os_distro == "cirros": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_CIRROS), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_CIRROS))) + elif os_image.os_distro == "almalinux": + gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy( + const.CONFIG_OS_ALMALINUX), + copyrightOwnedBy=self._get_copyrightowner( + const.CONFIG_OS_ALMALINUX), + license=self._get_license( + self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) else: raise ValueError( "Unsupported value for operating system distribution found: '" @@ -561,7 +736,19 @@ def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list.append(lic) return license_list - def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: + license_list = list() + + for l in licenses: + if l.startswith("http"): + license_list.append(URI(l)) + else: + license_list.append(l) + return license_list + + @staticmethod + def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -569,7 +756,8 @@ def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -577,7 +765,8 @@ def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -585,7 +774,8 @@ def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -593,7 +783,8 @@ def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return @@ -603,7 +794,8 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -611,7 +803,8 @@ def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> Non except AttributeError: pass - def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -635,7 +828,8 @@ def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties["image_description"] except KeyError: @@ -649,7 +843,8 @@ def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -657,11 +852,14 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: + @staticmethod + def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: try: + gx_image.buildDate = datetime.strptime( os_image.properties["image_build_date"], "%Y-%m-%d" ) + except KeyError: pass @@ -706,16 +904,22 @@ def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_algo(os_image.hash_algo) + algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value - gx_image.checksum = CheckSum(checkSum=value, checkSumCalculation=algo) + gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass @staticmethod - def _get_algo(algo: str) -> str: - if algo in ['sha512', 'sha224', 'sha256' 'sha384']: - return 'sha-2' + def _get_checksum_algo(algo: str) -> str: + if algo == 'sha512': + return 'sha-512' + if algo == 'sha224': + return 'sha-224' + if algo == 'sha256': + return 'sha-256' + if algo == 'sha384': + return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo return ChecksumAlgorithm.other @@ -731,16 +935,16 @@ def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) - @staticmethod - def _add_signature(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - os_image.img_signature # value - os_image.img_signature_hash_method # hash algo - os_image.img_signature_key_type # signature algo - + gx_image.signature = Signature( + signatureValue=os_image.img_signature, + hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), + signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) except AttributeError: pass + def _get_checksum_algo(self, algo: str) -> str: if algo == "sha512": return "sha-512" @@ -809,3 +1013,4 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hwRngTypeOfImage = "None" + From b66dd30d02e2f6f9a1fe2ec5961a763e819200bf Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 8 Jan 2024 11:58:32 +0100 Subject: [PATCH 161/175] Support aggregation of Signed-off-by: Anja Strunk --- generator/common/const.py | 1 + .../openstack/vm_images_discovery.py | 140 +++++++++--------- 2 files changed, 75 insertions(+), 66 deletions(-) diff --git a/generator/common/const.py b/generator/common/const.py index 4944881..0690396 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -24,6 +24,7 @@ CONFIG_XFSC_WALLET = "xfsc" + CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" CONFIG_OS_CENTOS = "CentOS Linux" diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 81879d6..4f2504b 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -501,178 +501,178 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> if os_image.os_distro == "arch": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ARCH), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ARCH))) + self._get_license_for_os(const.CONFIG_OS_ARCH))) elif os_image.os_distro == "centos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CENTOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CENTOS))) + self._get_license_for_os(const.CONFIG_OS_CENTOS))) elif os_image.os_distro == "debian": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_DEBIAN), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_DEBIAN))) + self._get_license_for_os(const.CONFIG_OS_DEBIAN))) elif os_image.os_distro == "fedora": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FEDORA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FEDORA))) + self._get_license_for_os(const.CONFIG_OS_FEDORA))) elif os_image.os_distro == "freebsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_FREEBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_FREEBSD))) + self._get_license_for_os(const.CONFIG_OS_FREEBSD))) elif os_image.os_distro == "gentoo": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_GENTOO), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_GENTOO))) + self._get_license_for_os(const.CONFIG_OS_GENTOO))) elif os_image.os_distro == "mandrake": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRAKE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRAKE))) + self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) elif os_image.os_distro == "mandriva": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_MANDRIVA), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MANDRIVA))) + self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) elif os_image.os_distro == "mes": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MES), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MES))) + self._get_license_for_os(const.CONFIG_OS_MES))) elif os_image.os_distro == "msdos": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_MSDOS), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_MSDOS))) + self._get_license_for_os(const.CONFIG_OS_MSDOS))) elif os_image.os_distro == "netbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NETBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NETBSD))) + self._get_license_for_os(const.CONFIG_OS_NETBSD))) elif os_image.os_distro == "netware": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_NOVELL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_NOVELL))) + self._get_license_for_os(const.CONFIG_OS_NOVELL))) elif os_image.os_distro == "openbsd": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPENBSD), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPENBSD))) + self._get_license_for_os(const.CONFIG_OS_OPENBSD))) elif os_image.os_distro == "opensolaris": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_SOLARIS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SOLARIS))) + self._get_license_for_os(const.CONFIG_OS_SOLARIS))) elif os_image.os_distro == "opensuse": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_OPEN_SUSE), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_OPEN_SUSE))) + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) elif os_image.os_distro == "rocky": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_ROCKY), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ROCKY))) + self._get_license_for_os(const.CONFIG_OS_ROCKY))) elif os_image.os_distro == "rhel": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_RHEL), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_RHEL))) + self._get_license_for_os(const.CONFIG_OS_RHEL))) elif os_image.os_distro == "sled": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner(const.CONFIG_OS_SLED), + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_SLED))) + self._get_license_for_os(const.CONFIG_OS_SLED))) elif os_image.os_distro == "ubuntu": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_UBUNTU), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_UBUNTU))) + self._get_license_for_os(const.CONFIG_OS_UBUNTU))) elif os_image.os_distro == "windows": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_WINDOWS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_WINDOWS))) + self._get_license_for_os(const.CONFIG_OS_WINDOWS))) elif os_image.os_distro == "cirros": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner( + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_CIRROS), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_CIRROS))) + self._get_license_for_os(const.CONFIG_OS_CIRROS))) elif os_image.os_distro == "almalinux": gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy( + resourcePolicy=self._get_resource_policy_for_os( const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner( + copyrightOwnedBy=self._get_copyrightowner_for_os( const.CONFIG_OS_ALMALINUX), license=self._get_license( - self._get_license_from_config(const.CONFIG_OS_ALMALINUX))) + self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) else: raise ValueError( "Unsupported value for operating system distribution found: '" @@ -685,10 +685,12 @@ def _get_resource_policy_for_os(self, os: str) -> str: return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ const.CONFIG_RESOURCE_POLICY ] + except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ const.CONFIG_COPYRIGHT ] @@ -704,6 +706,7 @@ def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_COPYRIGHT] + except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -711,9 +714,11 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_LICENSE] + except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -721,6 +726,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_RESOURCE_POLICY] @@ -736,6 +742,7 @@ def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list.append(lic) return license_list + @staticmethod def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() @@ -1003,6 +1010,7 @@ def _get_signature_algo(self, algo: str) -> str: return SignatureAlgorithm.other.text def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][ os_image.name From 10e0c27e4d1a2100f3db20f7d126204ecf406701 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 10 Jan 2024 14:54:21 +0100 Subject: [PATCH 162/175] Support aggregationOf and hypervisorType Signed-off-by: Anja Strunk --- generator/common/const.py | 2 -- generator/common/json_ld.py | 2 ++ .../openstack/vm_images_discovery.py | 27 ++++++++++++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/generator/common/const.py b/generator/common/const.py index 0690396..7ffb822 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -23,8 +23,6 @@ CONFIG_FILESYSTEM_WALLET = "filesystem" CONFIG_XFSC_WALLET = "xfsc" - - CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" CONFIG_OS_CENTOS = "CentOS Linux" diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index c7ad37a..1335a28 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -24,6 +24,7 @@ from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.enumerations import EnumDefinitionImpl from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str +from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions from typing import List @@ -89,6 +90,7 @@ def to_json_ld(obj) -> dict: @return: object as dictionary @rtype: dict """ + json_ld = dict() if isinstance(obj, JsonLdObject): # if JsonLdObject add id diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 4f2504b..a6ba9ce 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -71,6 +71,7 @@ def _get_cpu_arch(os_image_arch: str) -> str: from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem @@ -155,6 +156,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_version(os_image, gx_image) self._add_checksum(os_image, gx_image) self._add_signature(os_image, gx_image) + self._add_hypervisor(os_image, gx_image) + self._add_aggregation_of(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -163,6 +166,7 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: return gx_image +<<<<<<< HEAD def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if os_image.disk_format.lower() == "raw": @@ -179,6 +183,23 @@ def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.vmImageDiskFormat = "CVA" except AttributeError: pass +======= + @staticmethod + def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: + try: + if os_image.architecture == "i686": + gx_image.cpuReq = CPU(cpuArchitecture="x86-32") + elif os_image.architecture in ["x86_64", "ia64"]: + gx_image.cpuReq = CPU(cpuArchitecture="x86-64") + elif os_image.architecture == "aarch6": + gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") + elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") + else: + gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) +>>>>>>> Support aggregationOf and hypervisorType def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) @@ -952,6 +973,7 @@ def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass + def _get_checksum_algo(self, algo: str) -> str: if algo == "sha512": return "sha-512" @@ -998,19 +1020,21 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hypervisorType = "quemu" elif os_image.hypervisor_type == "hyperv": gx_image.hypervisorType = "Hyper-V" - else: + gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: gx_image.hypervisorType = HypervisorType.other.text #raise MissingMandatoryAttribute(e.args) def _get_signature_algo(self, algo: str) -> str: + if algo.startswith("SHA-"): return "RSA-Signature" return SignatureAlgorithm.other.text def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][ os_image.name @@ -1022,3 +1046,4 @@ def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hwRngTypeOfImage = "None" + From efbbe90667d6849917d611f02f1d21b22e0374d5 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Mon, 15 Jan 2024 15:16:24 +0100 Subject: [PATCH 163/175] Add first test case Signed-off-by: Anja Strunk --- gax-cpu.py | 36 ------ .../openstack/vm_images_discovery.py | 111 ++++++++++++------ tests/connection.py | 15 +++ tests/test_vm_image_discovery.py | 36 +++++- 4 files changed, 128 insertions(+), 70 deletions(-) delete mode 100644 gax-cpu.py create mode 100644 tests/connection.py diff --git a/gax-cpu.py b/gax-cpu.py deleted file mode 100644 index 22a8c02..0000000 --- a/gax-cpu.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env python3 -# vim: set ts=4 sw=4 et: -# -# gax-cpu.py -""" -These classes reflect the Gaia-X view on physical infra - -(c) Kurt Garloff , 3/2022 - 6/2022 -SPDX-License-Identifier: EPL-2.0 -""" - - -class CPU: - "CPU abstraction according to Gaia-X attributes" - def __init__(self): - "c'tor setting all vals to defaults" - # Gaia-X attrs - self.numberOfCores = 0 - self.numberOfThreads = 0 - self.frequency = 0 - self.boostFrequency = 0 - self.cacheSize = 0 - # This would not be interesting typically - self.allowedSocket = "" - # Virt. attrs -- not in GaX - self.dedicatedCore = False - self.dedicatedThread = False - self.limitOversubscr = False - - -class MEM: - "RAM of an instance" - def __init__(self): - "c'tor setting all vals to defaults" - self.memGB = 0 - self.ECC = True \ No newline at end of file diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index a6ba9ce..0dd47b7 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,3 +1,4 @@ +<<<<<<< HEAD #!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # @@ -62,6 +63,8 @@ def _get_cpu_arch(os_image_arch: str) -> str: from json import JSONDecoder import json import urllib3 +======= +>>>>>>> Add first test case from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -93,7 +96,21 @@ def _get_cpu_arch(os_image_arch: str) -> str: from datetime import datetime -# TODO:; Check imag meta dafta props standard, ob dort klar ist, das einige Properties uer properties stehhen und nicht direkt abgefrgat werden klnnen mur iber propeertiues[metadfate} +def _get_cpu_arch(os_image_arch: str) -> str: + try: + if os_image_arch == "i686": + return "x86-32" + if os_image_arch in ["x86_64", "ia64"]: + return "x86-64" + if os_image_arch == "aarch6": + return "AArch-32" + if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + return "RISC-V" + return CpuArch.other.text + except AttributeError as e: + raise MissingMandatoryAttribute(e.args) + + class VmDiscovery(): # def __init__(self) -> None: @@ -158,6 +175,8 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: self._add_signature(os_image, gx_image) self._add_hypervisor(os_image, gx_image) self._add_aggregation_of(os_image, gx_image) + self._add_rng_model(os_image, gx_image) + self._add_disk_format(os_image, gx_image) # Discover mandatory attribute self._add_license(os_image, gx_image) @@ -166,6 +185,7 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: return gx_image +<<<<<<< HEAD <<<<<<< HEAD def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: @@ -204,6 +224,18 @@ def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) +======= + def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: + try: + gx_image.vmImageDiskFormat = os_image.disk_format + except AttributeError: + pass + + + def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: + cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) + +>>>>>>> Add first test case try: cpu.numberOfCores = os_image.hw_cpu_cores except AttributeError: @@ -232,7 +264,10 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass #raise MissingMandatoryAttribute(e.args) +<<<<<<< HEAD +======= +>>>>>>> Add first test case def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: size = MemorySize( @@ -755,6 +790,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: +<<<<<<< HEAD license_list = list() for lic in licenses: if lic.startswith("http"): @@ -766,6 +802,8 @@ def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: @staticmethod def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: +======= +>>>>>>> Add first test case license_list = list() for l in licenses: @@ -775,8 +813,7 @@ def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: license_list.append(l) return license_list - @staticmethod - def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.needs_secure_boot: return @@ -784,8 +821,7 @@ def _add_secure_boot(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_firmeware_type(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_firmware_type: return @@ -793,8 +829,7 @@ def _add_firmeware_type(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: gx_image.firmwareType = const.DEFAULT_FIRMWARE_TYPE - @staticmethod - def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_watchdog_action(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_watchdog_action: return @@ -802,8 +837,7 @@ def _add_watchdog_action(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_vmpu(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_pmu: return @@ -811,19 +845,21 @@ def _add_vmpu(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_video_ram(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return +<<<<<<< HEAD gx_image.videoRamSize = MemorySize( value=float(os_image.hw_video_ram), unit=const.UNIT_MB ) +======= + gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) +>>>>>>> Add first test case except AttributeError: pass - @staticmethod - def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_multiqueue_enabled(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_vif_multiqueue_enabled: return @@ -831,8 +867,7 @@ def _add_multiqueue_enabled(os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - @staticmethod - def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_update_strategy(self, os_image: OS_Image, gx_image: GX_Image) -> None: os_image.updateStrategy = UpdateStrategy() # collect mandatory attributes @@ -856,8 +891,7 @@ def _add_update_strategy(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_description(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.description = os_image.properties["image_description"] except KeyError: @@ -871,8 +905,7 @@ def _add_description(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.name: return @@ -880,8 +913,7 @@ def _add_name(os_image: OS_Image, gx_image: GX_Image) -> None: except KeyError: pass - @staticmethod - def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.buildDate = datetime.strptime( @@ -892,17 +924,21 @@ def _add_build_date(os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: +<<<<<<< HEAD try: gx_image.licenseIncluded = os_image.properties["licenseIncluded"] except KeyError: pass def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: +======= +>>>>>>> Add first test case try: gx_image.patchLevel = os_image.properties["patchlevel"] except KeyError: pass +<<<<<<< HEAD def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.version = os_image.properties["internal_version"] @@ -917,29 +953,29 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: +======= + def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: +>>>>>>> Add first test case try: gx_image.patchLevel = os_image.properties['patchlevel'] except KeyError: pass - @staticmethod - def _add_version(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.version = os_image.properties['internal_version'] except KeyError: pass - @staticmethod - def _add_checksum(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - algo = VmDiscovery._get_checksum_algo(os_image.hash_algo) + algo = self._get_checksum_algo(os_image.hash_algo) value = os_image.hash_value gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) except AttributeError: pass - @staticmethod - def _get_checksum_algo(algo: str) -> str: + def _get_checksum_algo(self, algo: str) -> str: if algo == 'sha512': return 'sha-512' if algo == 'sha224': @@ -950,17 +986,15 @@ def _get_checksum_algo(algo: str) -> str: return 'sha-384' if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: return algo - return ChecksumAlgorithm.other + return ChecksumAlgorithm.other.text - @staticmethod - def _add_maintenance_until(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.maintenance = os_image.properties['maintained_until'] except KeyError: pass - @staticmethod - def _add_file_size(os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -1020,7 +1054,11 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hypervisorType = "quemu" elif os_image.hypervisor_type == "hyperv": gx_image.hypervisorType = "Hyper-V" +<<<<<<< HEAD +======= + else: +>>>>>>> Add first test case gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: gx_image.hypervisorType = HypervisorType.other.text @@ -1028,6 +1066,10 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _get_signature_algo(self, algo: str) -> str: +<<<<<<< HEAD +======= + def _get_signature_algo(self, algo: str) -> str: +>>>>>>> Add first test case if algo.startswith("SHA-"): return "RSA-Signature" return SignatureAlgorithm.other.text @@ -1044,6 +1086,9 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hwRngTypeOfImage = "None" +<<<<<<< HEAD +======= +>>>>>>> Add first test case diff --git a/tests/connection.py b/tests/connection.py new file mode 100644 index 0000000..dd5ee80 --- /dev/null +++ b/tests/connection.py @@ -0,0 +1,15 @@ +from openstack.image.v2.image import Image +from typing import List + + +class TestConnection: + """ + Wrap connection to OpenStack Cluster + """ + images = [] + + def __init__(self, images: List[Image]): + self.images = images + + def list_images(self): + return self.images diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index cb257f1..f08e81b 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -1,10 +1,14 @@ +<<<<<<< HEAD import json +======= +>>>>>>> Add first test case import unittest import yaml from datetime import datetime from generator.common.json_ld import JsonLdObject +<<<<<<< HEAD from generator.common.gx_schema import CheckSum from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk @@ -23,11 +27,37 @@ from tests.common import OpenstackTestcase from tests.common import TestConnection +======= +from generator.common.gx_schema import Architectures as CpuArch +from generator.common.gx_schema import CheckSum +from generator.common.gx_schema import ChecksumAlgorithm +from generator.common.gx_schema import CPU +from generator.common.gx_schema import Disk +from generator.common.gx_schema import HypervisorType +from generator.common.gx_schema import Memory +from generator.common.gx_schema import MemorySize +from generator.common.gx_schema import OperatingSystem +from generator.common.gx_schema import Signature +from generator.common.gx_schema import SignatureAlgorithm +from generator.common.gx_schema import SPDX +from generator.common.gx_schema import WatchDogActions +from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import VMImage as GX_Image + +from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from openstack.image.v2.image import Image as OS_Image + +from tests.connection import TestConnection +>>>>>>> Add first test case def _get_gx_images(): return [JsonLdObject( +<<<<<<< HEAD gx_id='image_1', +======= + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', +>>>>>>> Add first test case gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], copyrightOwnedBy=['Canonical'], license=['https://ubuntu.com/legal/open-source-licences'], @@ -74,7 +104,11 @@ def _get_gx_images(): hypervisorType='other', hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), JsonLdObject( +<<<<<<< HEAD gx_id='image_2', +======= + gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', +>>>>>>> Add first test case gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], copyrightOwnedBy=['Microsoft Corporation'], license=['https://www.microsoft.com/licensing'], @@ -188,6 +222,7 @@ def _get_os_images(): os_hash_algo="sha512", os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", id="image_2", + properties={ 'image_build_date': '2023-11-01', 'hotfix_hours': '4', @@ -233,6 +268,5 @@ def test_json_ld(self): self.assertTrue(conforms) - if __name__ == '__main__': unittest.main() From 024d681f51589d1c9b30da0fa0c6b26b8b2cd522 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 09:54:56 +0100 Subject: [PATCH 164/175] Add unit tests Signed-off-by: Anja Strunk --- .../openstack/vm_images_discovery.py | 70 ++----------------- test.py | 0 tests/common.py | 6 ++ tests/test_vm_image_discovery.py | 28 ++------ 4 files changed, 17 insertions(+), 87 deletions(-) delete mode 100644 test.py diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 0dd47b7..24d61ae 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -1,4 +1,3 @@ -<<<<<<< HEAD #!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # @@ -63,8 +62,6 @@ def _get_cpu_arch(os_image_arch: str) -> str: from json import JSONDecoder import json import urllib3 -======= ->>>>>>> Add first test case from linkml_runtime.utils.metamodelcore import URI from generator.common.expections import MissingMandatoryAttribute @@ -185,8 +182,6 @@ def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: return gx_image -<<<<<<< HEAD -<<<<<<< HEAD def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if os_image.disk_format.lower() == "raw": @@ -203,39 +198,10 @@ def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.vmImageDiskFormat = "CVA" except AttributeError: pass -======= - @staticmethod - def _add_cpu_req(os_image: OS_Image, gx_image: GX_Image) -> None: - try: - if os_image.architecture == "i686": - gx_image.cpuReq = CPU(cpuArchitecture="x86-32") - elif os_image.architecture in ["x86_64", "ia64"]: - gx_image.cpuReq = CPU(cpuArchitecture="x86-64") - elif os_image.architecture == "aarch6": - gx_image.cpuReq = CPU(cpuArchitecture="AArch-32") - elif os_image.architecture in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: - gx_image.cpuReq = CPU(cpuArchitecture="RISC-V") - else: - gx_image.cpuReq = CPU(cpuArchitecture=CpuArch.other) - except AttributeError as e: - raise MissingMandatoryAttribute(e.args) ->>>>>>> Support aggregationOf and hypervisorType - - def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: - cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) - -======= - def _add_disk_format(self, os_image: OS_Image, gx_image: GX_Image) -> None: - try: - gx_image.vmImageDiskFormat = os_image.disk_format - except AttributeError: - pass - def _add_cpu_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: cpu = CPU(cpuArchitecture=_get_cpu_arch(os_image.architecture)) ->>>>>>> Add first test case try: cpu.numberOfCores = os_image.hw_cpu_cores except AttributeError: @@ -264,10 +230,7 @@ def _add_min_ram_req(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass #raise MissingMandatoryAttribute(e.args) -<<<<<<< HEAD -======= ->>>>>>> Add first test case def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: try: size = MemorySize( @@ -790,7 +753,6 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.resourcePolicy = [const.DEFAULT_RESOURCE_POLICY] def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: -<<<<<<< HEAD license_list = list() for lic in licenses: if lic.startswith("http"): @@ -802,8 +764,7 @@ def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: @staticmethod def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: -======= ->>>>>>> Add first test case + license_list = list() for l in licenses: @@ -849,13 +810,10 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return -<<<<<<< HEAD + gx_image.videoRamSize = MemorySize( value=float(os_image.hw_video_ram), unit=const.UNIT_MB ) -======= - gx_image.videoRamSize = MemorySize(value=float(os_image.hw_video_ram), unit=const.UNIT_MB) ->>>>>>> Add first test case except AttributeError: pass @@ -924,21 +882,20 @@ def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: -<<<<<<< HEAD + try: gx_image.licenseIncluded = os_image.properties["licenseIncluded"] except KeyError: pass def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: -======= ->>>>>>> Add first test case + try: gx_image.patchLevel = os_image.properties["patchlevel"] except KeyError: pass -<<<<<<< HEAD + def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.version = os_image.properties["internal_version"] @@ -953,9 +910,6 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: -======= - def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: ->>>>>>> Add first test case try: gx_image.patchLevel = os_image.properties['patchlevel'] except KeyError: @@ -1054,22 +1008,13 @@ def _add_hypervisor(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hypervisorType = "quemu" elif os_image.hypervisor_type == "hyperv": gx_image.hypervisorType = "Hyper-V" -<<<<<<< HEAD - -======= else: ->>>>>>> Add first test case gx_image.hypervisorType = HypervisorType.other.text except AttributeError as e: gx_image.hypervisorType = HypervisorType.other.text #raise MissingMandatoryAttribute(e.args) def _get_signature_algo(self, algo: str) -> str: - -<<<<<<< HEAD -======= - def _get_signature_algo(self, algo: str) -> str: ->>>>>>> Add first test case if algo.startswith("SHA-"): return "RSA-Signature" return SignatureAlgorithm.other.text @@ -1086,9 +1031,4 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.hwRngTypeOfImage = "None" -<<<<<<< HEAD - - -======= ->>>>>>> Add first test case diff --git a/test.py b/test.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/common.py b/tests/common.py index a9d5e33..9cc3953 100644 --- a/tests/common.py +++ b/tests/common.py @@ -18,8 +18,11 @@ from generator.common.gx_schema import VirtualResource from generator.common.gx_schema import VMImage +<<<<<<< HEAD from typing import List +======= +>>>>>>> Add unit tests class OpenstackTestcase(unittest.TestCase): def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): @@ -171,6 +174,7 @@ def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") +<<<<<<< HEAD class TestConnection: @@ -184,3 +188,5 @@ def __init__(self, images: List[Image]): def list_images(self): return self.images +======= +>>>>>>> Add unit tests diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index f08e81b..ae956a6 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -1,14 +1,11 @@ -<<<<<<< HEAD + import json -======= ->>>>>>> Add first test case import unittest import yaml from datetime import datetime from generator.common.json_ld import JsonLdObject -<<<<<<< HEAD from generator.common.gx_schema import CheckSum from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk @@ -27,37 +24,29 @@ from tests.common import OpenstackTestcase from tests.common import TestConnection -======= from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk -from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX from generator.common.gx_schema import WatchDogActions -from generator.common.gx_schema import UpdateStrategy from generator.common.gx_schema import VMImage as GX_Image +from generator.common.json_ld import to_json_ld + from generator.discovery.openstack.vm_images_discovery import VmDiscovery from openstack.image.v2.image import Image as OS_Image +from tests.common import OpenstackTestcase from tests.connection import TestConnection ->>>>>>> Add first test case + def _get_gx_images(): return [JsonLdObject( -<<<<<<< HEAD gx_id='image_1', -======= - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', ->>>>>>> Add first test case gx_object=GX_Image(name='Image1', description='Image 1_ext', aggregationOfResources=[], copyrightOwnedBy=['Canonical'], license=['https://ubuntu.com/legal/open-source-licences'], @@ -104,11 +93,7 @@ def _get_gx_images(): hypervisorType='other', hwRngTypeOfImage='None', watchDogAction=WatchDogActions.reset.text)), JsonLdObject( -<<<<<<< HEAD gx_id='image_2', -======= - gx_id='94414c54 - 6222 - 4376 - 8f7a - a3cdd9b7f737', ->>>>>>> Add first test case gx_object=GX_Image(name='Image2', description='Image 2', aggregationOfResources=[], copyrightOwnedBy=['Microsoft Corporation'], license=['https://www.microsoft.com/licensing'], @@ -222,7 +207,6 @@ def _get_os_images(): os_hash_algo="sha512", os_hash_value="7f8bababc2c2a94880747383750470aee68c7e8840bb8811eaeda1b0ce71d59f40ebb182", id="image_2", - properties={ 'image_build_date': '2023-11-01', 'hotfix_hours': '4', @@ -256,7 +240,6 @@ def test_discovery_vm_images(self): self.check_vm_image(image_1.gx_object, image_2.gx_object) def test_json_ld(self): - conforms, _, _ = validate(data_graph=json.dumps( _get_gx_images()[0], indent=4, default=to_json_ld), @@ -268,5 +251,6 @@ def test_json_ld(self): self.assertTrue(conforms) + if __name__ == '__main__': unittest.main() From 6918ccd56e1302477ee406ea49b64890b867990f Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 10:55:57 +0100 Subject: [PATCH 165/175] Add shacl validation Signed-off-by: Anja Strunk --- generator/data.json | 0 .../discovery/openstack/vm_images_discovery.py | 5 ++++- tests/common.py | 8 -------- tests/connection.py | 15 --------------- tests/test_vm_image_discovery.py | 7 ++++--- 5 files changed, 8 insertions(+), 27 deletions(-) delete mode 100644 generator/data.json delete mode 100644 tests/connection.py diff --git a/generator/data.json b/generator/data.json deleted file mode 100644 index e69de29..0000000 diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 24d61ae..4ba2046 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -71,6 +71,7 @@ def _get_cpu_arch(os_image_arch: str) -> str: from generator.common.gx_schema import ChecksumAlgorithm from generator.common.gx_schema import CPU from generator.common.gx_schema import Disk +from generator.common.gx_schema import DiskTypes from generator.common.gx_schema import HypervisorType from generator.common.gx_schema import Memory from generator.common.gx_schema import MemorySize @@ -92,6 +93,8 @@ def _get_cpu_arch(os_image_arch: str) -> str: from datetime import datetime +import yaml + def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -110,7 +113,7 @@ def _get_cpu_arch(os_image_arch: str) -> str: class VmDiscovery(): - # def __init__(self) -> None: + #def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) diff --git a/tests/common.py b/tests/common.py index 9cc3953..fe44886 100644 --- a/tests/common.py +++ b/tests/common.py @@ -18,12 +18,8 @@ from generator.common.gx_schema import VirtualResource from generator.common.gx_schema import VMImage -<<<<<<< HEAD from typing import List -======= ->>>>>>> Add unit tests - class OpenstackTestcase(unittest.TestCase): def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): self.assertEqual(ob_1.name, ob_2.name, @@ -174,8 +170,6 @@ def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): self.assertEqual(ob_1.firmwareType, str(ob_2.firmwareType), "VM_Image.firmwareType") self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") -<<<<<<< HEAD - class TestConnection: """ @@ -188,5 +182,3 @@ def __init__(self, images: List[Image]): def list_images(self): return self.images -======= ->>>>>>> Add unit tests diff --git a/tests/connection.py b/tests/connection.py deleted file mode 100644 index dd5ee80..0000000 --- a/tests/connection.py +++ /dev/null @@ -1,15 +0,0 @@ -from openstack.image.v2.image import Image -from typing import List - - -class TestConnection: - """ - Wrap connection to OpenStack Cluster - """ - images = [] - - def __init__(self, images: List[Image]): - self.images = images - - def list_images(self): - return self.images diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index ae956a6..ee4c174 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -1,4 +1,3 @@ - import json import unittest import yaml @@ -37,10 +36,13 @@ from generator.common.json_ld import to_json_ld from generator.discovery.openstack.vm_images_discovery import VmDiscovery + from openstack.image.v2.image import Image as OS_Image +from pyshacl import validate + from tests.common import OpenstackTestcase -from tests.connection import TestConnection +from tests.common import TestConnection @@ -251,6 +253,5 @@ def test_json_ld(self): self.assertTrue(conforms) - if __name__ == '__main__': unittest.main() From 8afd6f054c20e733d02319bb2cb8aea12ffc4a27 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:13:29 +0100 Subject: [PATCH 166/175] Add simple FileSystem Wallet Signed-off-by: Anja Strunk --- generator/cli.py | 56 ++++++++++++++++--- .../discovery/openstack/opentack_discovery.py | 13 +++-- .../openstack/vm_images_discovery.py | 10 +++- generator/wallet/file_wallet.py | 29 +++++++++- generator/wallet/wallet.py | 15 +++-- generator/wallet/xfsc_wallet.py | 5 +- 6 files changed, 102 insertions(+), 26 deletions(-) diff --git a/generator/cli.py b/generator/cli.py index 0244287..7da5373 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,12 +1,22 @@ import click +import json + +import generator.common.json_ld as json_ld +import generator.common.const as const + import openstack as os import sys import yaml +from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud -import json -import generator.common.json_ld as json_ld +from generator.wallet.wallet import WalletConnector +from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.xfsc_wallet import XFSCWallet + +from typing import List + @click.group() def cli(): @@ -14,10 +24,13 @@ def cli(): @click.command() -@click.option('--config', default='../config/config.yaml', help='Path to Configuration file for SCS GX Credential Generator.') +@click.option( + "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") +@click.option('--config', default='../config/config.yaml', + help='Path to Configuration file for SCS GX Credential Generator.') @click.option('--timeout', default=12, help='Timeout for API calls in seconds') @click.argument('cloud') -def openstack(cloud, timeout, config): +def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -28,14 +41,25 @@ def openstack(cloud, timeout, config): except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + default_domain='default', project_domain_id='default') conn.authorize() # generate Gaia-X Credentials with open(config, "r") as config_file: - os_cloud = OsCloud(conn, yaml.safe_load(config_file)) - props = os_cloud.discover_properties() - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) + # init everything + config_dict = yaml.safe_load(config_file) + wallets = init_wallets(config_dict) + os_cloud = OsCloud(conn, config_dict) + + # run discovery + creds = os_cloud.discover_properties() + + # store creds in wallets and print them as overall JSON-LD + store_creds_in_wallet(wallets, creds) + if print_json_ld: + props = json_ld.get_json_ld_context() + props['@graph'] = creds + print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @click.command() @@ -44,6 +68,22 @@ def kubernetes(): pass +def init_wallets(config: dict) -> List[WalletConnector]: + wallets = list() + for wallet in config[const.CONFIG_WALLETS]: + if wallet == const.CONFIG_FILESYSTEM_WALLET: + wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + elif wallet == const.CONFIG_XFSC_WALLET: + wallets.append(XFSCWallet()) + return wallets + + +def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: + for w in wallets: + for c in creds: + w.store_credential(c) + + cli.add_command(openstack) cli.add_command(kubernetes) diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index f9a4786..a8b7153 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,3 +1,4 @@ +<<<<<<< HEAD #!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # @@ -13,20 +14,23 @@ import json import generator.common.json_ld as json_ld +======= +from generator.common.json_ld import JsonLdObject +>>>>>>> Add simple FileSystem Wallet from generator.discovery.openstack.vm_images_discovery import VmDiscovery +from linkml_runtime.utils.yamlutils import YAMLRoot + from openstack.connection import Connection + from generator.common.json_ld import JsonLdObject from uuid import uuid4 import generator.common.json_ld as json_ld from generator.common.gx_schema import VMImage - - - class OsCloud: "Abstraction for openStack cloud with all its services." def __init__(self, conn: Connection, config: Dict) -> None: @@ -39,11 +43,10 @@ def __init__(self, conn: Connection, config: Dict) -> None: def discover_properties(self) -> List[JsonLdObject]: """ Discover all attributes of OS Cloud. - @return: all attributes as list of YAMLRoot + """ creds = list() vm_dis = VmDiscovery(self.conn, self.config) creds.extend(vm_dis.discover_vm_images()) - return creds diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 4ba2046..b9f2d6e 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -704,15 +704,18 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> def _get_resource_policy_for_os(self, os: str) -> str: try: +<<<<<<< HEAD return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ const.CONFIG_RESOURCE_POLICY ] +======= + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] +>>>>>>> Add simple FileSystem Wallet except KeyError: return const.DEFAULT_RESOURCE_POLICY def _get_copyrightowner_for_os(self, os: str) -> List[str]: - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ const.CONFIG_COPYRIGHT ] @@ -722,13 +725,14 @@ def _get_license_for_os(self, os: str) -> List[str]: const.CONFIG_LICENSE ] + def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: # check if comfig contains image's specific copyright owner try: + gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_COPYRIGHT] - except KeyError: gx_image.copyrightOwnedBy = gx_image.operatingSystem.copyrightOwnedBy @@ -741,6 +745,7 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_LICENSE] + except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -749,6 +754,7 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: # check if comfig contains image's specific resource policy + gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_RESOURCE_POLICY] diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index a71a2e8..896b6d2 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,10 +1,33 @@ -from wallet import WalletConnector +import json +import os +from generator.common.json_ld import to_json_ld +from generator.common.json_ld import get_json_ld_context -class FileSystemWallet(WalletConnector): +from generator.common.json_ld import JsonLdObject + +from generator.wallet.wallet import WalletConnector + + +class FileSystemWallet(WalletConnector, object): """ - Abstraction for filesystem acting as wallet. + Abstraction for filesystem acting as a wallet. """ + def __init__(self, dir: str) -> None: + super().__init__() + self.dir = dir + + def store_credential(self, credential: JsonLdObject) -> None: + super().store_credential(credential) + + with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + props = get_json_ld_context() + props['@graph'] = [credential] + json.dump(props, json_file, indent=4, default=to_json_ld) + + + + def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 592bd61..8e5e43a 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,16 +1,23 @@ -from abc import ABCMeta +from abc import ABC from abc import abstractmethod -from linkml_runtime.utils.yamlutils import YAMLRoot +from generator.common.json_ld import JsonLdObject -class WalletConnector(ABCMeta): + +class WalletConnector(ABC): """ Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector wraps API calls for different kind of wallets. """ @abstractmethod - def store_credential(self, credential: YAMLRoot, filename: str = None) -> None: + def store_credential(self, credential: JsonLdObject) -> None: + """ + Stores given CREDENTIAL in this wallet. + @param credential: credential to be stored in JSON-LD + @type JsonLdObject + @return: None + """ pass @abstractmethod diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py index b699aa1..489c619 100644 --- a/generator/wallet/xfsc_wallet.py +++ b/generator/wallet/xfsc_wallet.py @@ -1,4 +1,4 @@ -from wallet import WalletConnector +from generator.wallet.wallet import WalletConnector class XFSCWallet(WalletConnector): @@ -6,6 +6,3 @@ class XFSCWallet(WalletConnector): Abstraction XFSC wallet, called Organization Credential Manager. See https://projects.eclipse.org/projects/technology.xfsc """ - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) From ff46629cc68e97529c925bd2694862c5cf7a9e39 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:35:53 +0100 Subject: [PATCH 167/175] Reformat files Signed-off-by: Anja Strunk --- generator/cli.py | 54 +- generator/common/const.py | 5 +- generator/common/expections.py | 1 - generator/common/gx_schema.py | 15647 +++++++++------- generator/common/json_ld.py | 24 +- .../discovery/openstack/opentack_discovery.py | 7 +- .../openstack/vm_images_discovery.py | 546 +- generator/wallet/file_wallet.py | 15 +- generator/wallet/wallet.py | 3 +- 9 files changed, 9136 insertions(+), 7166 deletions(-) diff --git a/generator/cli.py b/generator/cli.py index 7da5373..b23a533 100644 --- a/generator/cli.py +++ b/generator/cli.py @@ -1,22 +1,19 @@ -import click import json +import sys +from typing import List -import generator.common.json_ld as json_ld -import generator.common.const as const - +import click import openstack as os -import sys import yaml +import generator.common.const as const +import generator.common.json_ld as json_ld from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud - -from generator.wallet.wallet import WalletConnector from generator.wallet.file_wallet import FileSystemWallet +from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet -from typing import List - @click.group() def cli(): @@ -25,11 +22,17 @@ def cli(): @click.command() @click.option( - "--print-json-ld", is_flag=True, help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.") -@click.option('--config', default='../config/config.yaml', - help='Path to Configuration file for SCS GX Credential Generator.') -@click.option('--timeout', default=12, help='Timeout for API calls in seconds') -@click.argument('cloud') + "--print-json-ld", + is_flag=True, + help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", +) +@click.option( + "--config", + default="../config/config.yaml", + help="Path to Configuration file for SCS GX Credential Generator.", +) +@click.option("--timeout", default=12, help="Timeout for API calls in seconds") +@click.argument("cloud") def openstack(cloud, timeout, config, print_json_ld): """Generates Gaia-X Credentials for openstack cloud CLOUD. CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" @@ -40,8 +43,13 @@ def openstack(cloud, timeout, config, print_json_ld): conn.authorize() except Exception: print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4, - default_domain='default', project_domain_id='default') + conn = os.connect( + cloud=cloud, + timeout=timeout, + api_timeout=timeout * 1.5 + 4, + default_domain="default", + project_domain_id="default", + ) conn.authorize() # generate Gaia-X Credentials @@ -58,7 +66,7 @@ def openstack(cloud, timeout, config, print_json_ld): store_creds_in_wallet(wallets, creds) if print_json_ld: props = json_ld.get_json_ld_context() - props['@graph'] = creds + props["@graph"] = creds print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) @@ -72,13 +80,19 @@ def init_wallets(config: dict) -> List[WalletConnector]: wallets = list() for wallet in config[const.CONFIG_WALLETS]: if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append(FileSystemWallet(config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]['path'])) + wallets.append( + FileSystemWallet( + config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] + ) + ) elif wallet == const.CONFIG_XFSC_WALLET: wallets.append(XFSCWallet()) return wallets -def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObject]) -> None: +def store_creds_in_wallet( + wallets: List[WalletConnector], creds: List[JsonLdObject] +) -> None: for w in wallets: for c in creds: w.store_credential(c) @@ -87,5 +101,5 @@ def store_creds_in_wallet(wallets: List[WalletConnector], creds: List[JsonLdObje cli.add_command(openstack) cli.add_command(kubernetes) -if __name__ == '__main__': +if __name__ == "__main__": cli() diff --git a/generator/common/const.py b/generator/common/const.py index 7ffb822..d25dc09 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -46,6 +46,7 @@ CONFIG_OS_WINDOWS = "Microsoft Windows" CONFIG_OS_CIRROS = "CirrOS" CONFIG_OS_ALMALINUX = "AlmaLinux" +<<<<<<< HEAD DEFAULT_RESOURCE_POLICY = "default: allow intent" DEFAULT_FIRMWARE_TYPE = "other" DEFAULT_WATCHDOG_ACTION = "none" @@ -53,7 +54,3 @@ UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" - - - - diff --git a/generator/common/expections.py b/generator/common/expections.py index e355490..ae89ffa 100644 --- a/generator/common/expections.py +++ b/generator/common/expections.py @@ -1,4 +1,3 @@ - class MissingMandatoryAttribute(AttributeError): """ An exception that occurs when an SCS mandatory attributes are missing. diff --git a/generator/common/gx_schema.py b/generator/common/gx_schema.py index fcd1d2a..ed19582 100644 --- a/generator/common/gx_schema.py +++ b/generator/common/gx_schema.py @@ -8,21 +8,47 @@ import dataclasses import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any from dataclasses import dataclass -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions +from typing import Any, ClassVar, Dict, List, Optional, Union -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx +from jsonasobj2 import JsonObj, as_dict +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) +from linkml_runtime.linkml_model.types import ( + Boolean, + Date, + Datetime, + Float, + Integer, + String, + Uri, +) +from linkml_runtime.utils.curienamespace import CurieNamespace +from linkml_runtime.utils.dataclass_extensions_376 import ( + dataclasses_init_fn_with_kwargs, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.formatutils import camelcase, sfx, underscore +from linkml_runtime.utils.metamodelcore import ( + URI, + Bool, + XSDDate, + XSDDateTime, + bnode, + empty_dict, + empty_list, +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str, +) from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from linkml_runtime.linkml_model.types import Boolean, Date, Datetime, Float, Integer, String, Uri -from linkml_runtime.utils.metamodelcore import Bool, URI, XSDDate, XSDDateTime metamodel_version = "1.7.0" version = None @@ -31,16 +57,17 @@ dataclasses._init_fn = dataclasses_init_fn_with_kwargs # Namespaces -GX = CurieNamespace('gx', 'http://w3id.org/gaia-x/gx-trust-framework/') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -QUDT = CurieNamespace('qudt', 'http://qudt.org/vocab/') -SCHEMA = CurieNamespace('schema', 'http://schema.org/') -VCARD = CurieNamespace('vcard', 'http://www.w3.org/2006/vcard/ns#') +GX = CurieNamespace("gx", "http://w3id.org/gaia-x/gx-trust-framework/") +LINKML = CurieNamespace("linkml", "https://w3id.org/linkml/") +QUDT = CurieNamespace("qudt", "http://qudt.org/vocab/") +SCHEMA = CurieNamespace("schema", "http://schema.org/") +VCARD = CurieNamespace("vcard", "http://www.w3.org/2006/vcard/ns#") DEFAULT_ = GX # Types + # Class references class LocalRegistrationNumberLocal(extended_str): pass @@ -70,6 +97,7 @@ class GaiaX(YAMLRoot): """ Top level element of Gaia-X ecosystem. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaX"] @@ -83,6 +111,7 @@ class Address(YAMLRoot): """ Full address of the entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = VCARD["Address"] @@ -91,7 +120,9 @@ class Address(YAMLRoot): class_model_uri: ClassVar[URIRef] = GX.Address countryCode: str = None - gps: Optional[Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]]] = empty_list() + gps: Optional[ + Union[Union[dict, "GPSLocation"], List[Union[dict, "GPSLocation"]]] + ] = empty_list() streetAddress: Optional[str] = None postalCode: Optional[str] = None locality: Optional[str] = None @@ -102,7 +133,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.countryCode, str): self.countryCode = str(self.countryCode) - self._normalize_inlined_as_dict(slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False) + self._normalize_inlined_as_dict( + slot_name="gps", slot_type=GPSLocation, key_name="latitude", keyed=False + ) if self.streetAddress is not None and not isinstance(self.streetAddress, str): self.streetAddress = str(self.streetAddress) @@ -121,6 +154,7 @@ class GPSLocation(YAMLRoot): """ Physical GPS coordinates in ISO 6709:2008/Cor 1:2009 format. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSLocation"] @@ -158,6 +192,7 @@ class GPSUnit(YAMLRoot): """ Definition of a geographical point. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPSUnit"] @@ -193,6 +228,7 @@ class GaiaXEntity(YAMLRoot): """ Root class for Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GaiaXEntity"] @@ -218,6 +254,7 @@ class Encryption(YAMLRoot): """ Encryption capabilities of a Gaia-X entity. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Encryption"] @@ -247,6 +284,7 @@ class CheckSum(YAMLRoot): """ Detail on how to calculate or verify a checksum. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CheckSum"] @@ -308,6 +346,7 @@ class Device(YAMLRoot): """ Details with respect to properties and capabilities of a hardware or virtualized device. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Device"] @@ -327,11 +366,17 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.generation is not None and not isinstance(self.generation, str): self.generation = str(self.generation) - if self.defaultOversubscriptionRatio is not None and not isinstance(self.defaultOversubscriptionRatio, int): + if self.defaultOversubscriptionRatio is not None and not isinstance( + self.defaultOversubscriptionRatio, int + ): self.defaultOversubscriptionRatio = int(self.defaultOversubscriptionRatio) - if self.supportedOversubscriptionRatio is not None and not isinstance(self.supportedOversubscriptionRatio, int): - self.supportedOversubscriptionRatio = int(self.supportedOversubscriptionRatio) + if self.supportedOversubscriptionRatio is not None and not isinstance( + self.supportedOversubscriptionRatio, int + ): + self.supportedOversubscriptionRatio = int( + self.supportedOversubscriptionRatio + ) super().__post_init__(**kwargs) @@ -341,6 +386,7 @@ class CPU(Device): """ Computational processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CPU"] @@ -359,7 +405,9 @@ class CPU(Device): thermalDesignPower: Optional[Union[dict, "Power"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.cpuArchitecture is not None and not isinstance(self.cpuArchitecture, Architectures): + if self.cpuArchitecture is not None and not isinstance( + self.cpuArchitecture, Architectures + ): self.cpuArchitecture = Architectures(self.cpuArchitecture) if not isinstance(self.cpuFlag, list): @@ -372,19 +420,29 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.numberOfCores is not None and not isinstance(self.numberOfCores, int): self.numberOfCores = int(self.numberOfCores) - if self.numberOfThreads is not None and not isinstance(self.numberOfThreads, int): + if self.numberOfThreads is not None and not isinstance( + self.numberOfThreads, int + ): self.numberOfThreads = int(self.numberOfThreads) - if self.baseFrequency is not None and not isinstance(self.baseFrequency, Frequency): + if self.baseFrequency is not None and not isinstance( + self.baseFrequency, Frequency + ): self.baseFrequency = Frequency(**as_dict(self.baseFrequency)) - if self.boostFrequency is not None and not isinstance(self.boostFrequency, Frequency): + if self.boostFrequency is not None and not isinstance( + self.boostFrequency, Frequency + ): self.boostFrequency = Frequency(**as_dict(self.boostFrequency)) - if self.lastLevelCacheSize is not None and not isinstance(self.lastLevelCacheSize, MemorySize): + if self.lastLevelCacheSize is not None and not isinstance( + self.lastLevelCacheSize, MemorySize + ): self.lastLevelCacheSize = MemorySize(**as_dict(self.lastLevelCacheSize)) - if self.thermalDesignPower is not None and not isinstance(self.thermalDesignPower, Power): + if self.thermalDesignPower is not None and not isinstance( + self.thermalDesignPower, Power + ): self.thermalDesignPower = Power(**as_dict(self.thermalDesignPower)) super().__post_init__(**kwargs) @@ -395,6 +453,7 @@ class Disk(Device): """ Capabilities of a physical or virtual hard drive. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Disk"] @@ -426,6 +485,7 @@ class Endpoint(YAMLRoot): """ An endpoint is a mean to access and interact with a service or a resource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Endpoint"] @@ -433,19 +493,28 @@ class Endpoint(YAMLRoot): class_name: ClassVar[str] = "Endpoint" class_model_uri: ClassVar[URIRef] = GX.Endpoint - standardConformity: Union[Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]]] = None + standardConformity: Union[ + Union[dict, "StandardConformity"], List[Union[dict, "StandardConformity"]] + ] = None endpointURL: Optional[Union[str, URI]] = None formalDescription: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.standardConformity): self.MissingRequiredField("standardConformity") - self._normalize_inlined_as_dict(slot_name="standardConformity", slot_type=StandardConformity, key_name="title", keyed=False) + self._normalize_inlined_as_dict( + slot_name="standardConformity", + slot_type=StandardConformity, + key_name="title", + keyed=False, + ) if self.endpointURL is not None and not isinstance(self.endpointURL, URI): self.endpointURL = URI(self.endpointURL) - if self.formalDescription is not None and not isinstance(self.formalDescription, str): + if self.formalDescription is not None and not isinstance( + self.formalDescription, str + ): self.formalDescription = str(self.formalDescription) super().__post_init__(**kwargs) @@ -456,6 +525,7 @@ class GPU(Device): """ Graphical processing unit of virtual and physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["GPU"] @@ -472,13 +542,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.gpuMemory is not None and not isinstance(self.gpuMemory, MemorySize): self.gpuMemory = MemorySize(**as_dict(self.gpuMemory)) - if self.gpuInterconnection is not None and not isinstance(self.gpuInterconnection, GPUInterconnetionTypes): + if self.gpuInterconnection is not None and not isinstance( + self.gpuInterconnection, GPUInterconnetionTypes + ): self.gpuInterconnection = GPUInterconnetionTypes(self.gpuInterconnection) - if self.gpuProcessingUnits is not None and not isinstance(self.gpuProcessingUnits, int): + if self.gpuProcessingUnits is not None and not isinstance( + self.gpuProcessingUnits, int + ): self.gpuProcessingUnits = int(self.gpuProcessingUnits) - if self.gpuPassthrough is not None and not isinstance(self.gpuPassthrough, Bool): + if self.gpuPassthrough is not None and not isinstance( + self.gpuPassthrough, Bool + ): self.gpuPassthrough = Bool(self.gpuPassthrough) super().__post_init__(**kwargs) @@ -489,6 +565,7 @@ class MaintenanceSubscription(YAMLRoot): """ A maintenance subscriptions gives access to bug fixes, security fixes and function updates from software vendor. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MaintenanceSubscription"] @@ -501,13 +578,19 @@ class MaintenanceSubscription(YAMLRoot): maintainedUntil: Optional[Union[str, XSDDate]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.subscriptionIncluded is not None and not isinstance(self.subscriptionIncluded, Bool): + if self.subscriptionIncluded is not None and not isinstance( + self.subscriptionIncluded, Bool + ): self.subscriptionIncluded = Bool(self.subscriptionIncluded) - if self.subscriptionRequired is not None and not isinstance(self.subscriptionRequired, Bool): + if self.subscriptionRequired is not None and not isinstance( + self.subscriptionRequired, Bool + ): self.subscriptionRequired = Bool(self.subscriptionRequired) - if self.maintainedUntil is not None and not isinstance(self.maintainedUntil, XSDDate): + if self.maintainedUntil is not None and not isinstance( + self.maintainedUntil, XSDDate + ): self.maintainedUntil = XSDDate(self.maintainedUntil) super().__post_init__(**kwargs) @@ -522,6 +605,7 @@ class UpdateStrategy(YAMLRoot): referencable by its ID for a transition period for customers' convenience. This class defines important aspects of providers image update policy. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["UpdateStrategy"] @@ -535,13 +619,17 @@ class UpdateStrategy(YAMLRoot): providedUntil: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.replaceFrequency is not None and not isinstance(self.replaceFrequency, UpdateFrequency): + if self.replaceFrequency is not None and not isinstance( + self.replaceFrequency, UpdateFrequency + ): self.replaceFrequency = UpdateFrequency(self.replaceFrequency) if self.hotfixHours is not None and not isinstance(self.hotfixHours, int): self.hotfixHours = int(self.hotfixHours) - if self.oldVersionsValidUntil is not None and not isinstance(self.oldVersionsValidUntil, str): + if self.oldVersionsValidUntil is not None and not isinstance( + self.oldVersionsValidUntil, str + ): self.oldVersionsValidUntil = str(self.oldVersionsValidUntil) if self.providedUntil is not None and not isinstance(self.providedUntil, str): @@ -555,6 +643,7 @@ class LatestN(YAMLRoot): """ Number of latest N outdated image versions, which will be valid. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LatestN"] @@ -575,6 +664,7 @@ class InstantiationRequirement(YAMLRoot): """ A container class to gather all requirements for compute service offering instantiations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InstantiationRequirement"] @@ -588,6 +678,7 @@ class Issuer(YAMLRoot): """ An issuer of W3C Verifiable Credentials and Verifiable Presentations. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Issuer"] @@ -601,7 +692,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.issuerTermsAndConditions): self.MissingRequiredField("issuerTermsAndConditions") if not isinstance(self.issuerTermsAndConditions, GaiaXTermsAndConditions): - self.issuerTermsAndConditions = GaiaXTermsAndConditions(self.issuerTermsAndConditions) + self.issuerTermsAndConditions = GaiaXTermsAndConditions( + self.issuerTermsAndConditions + ) super().__post_init__(**kwargs) @@ -611,6 +704,7 @@ class RegistrationNumber(YAMLRoot): Country's registration number, which identifies one specific entity. Allowed entries are Local, VatID, lei code, EODI, and EUID. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["RegistrationNumber"] @@ -724,6 +818,7 @@ class Memory(Device): """ Details with respect to properties and capabilities of RAM. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Memory"] @@ -743,7 +838,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.memorySize, MemorySize): self.memorySize = MemorySize(**as_dict(self.memorySize)) - if self.memoryClass is not None and not isinstance(self.memoryClass, MemoryClasses): + if self.memoryClass is not None and not isinstance( + self.memoryClass, MemoryClasses + ): self.memoryClass = MemoryClasses(self.memoryClass) if self.memoryRank is not None and not isinstance(self.memoryRank, MemoryRanks): @@ -752,7 +849,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.eccEnabled is not None and not isinstance(self.eccEnabled, Bool): self.eccEnabled = Bool(self.eccEnabled) - if self.hardwareEncryption is not None and not isinstance(self.hardwareEncryption, Bool): + if self.hardwareEncryption is not None and not isinstance( + self.hardwareEncryption, Bool + ): self.hardwareEncryption = Bool(self.hardwareEncryption) super().__post_init__(**kwargs) @@ -763,6 +862,7 @@ class Quantity(YAMLRoot): """ Abstract parent class for all physical quantities, such as frequency, power or length. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["Quantity"] @@ -792,6 +892,7 @@ class Frequency(Quantity): """ Definition of 'Frequency', according to http://qudt.org/quantitykind/FrequencyDefinition. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/FrequencyDefinition"] @@ -802,11 +903,13 @@ class Frequency(Quantity): value: float = None unit: str = None + @dataclass class MemorySize(Quantity): """ The number of bits, that can be stored on a digital storage. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["MemorySize"] @@ -817,11 +920,13 @@ class MemorySize(Quantity): value: float = None unit: str = None + @dataclass class Power(Quantity): """ Definition of 'Power', according to http://qudt.org/quantitykind/Power. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = QUDT["quantitykind/Power"] @@ -832,10 +937,12 @@ class Power(Quantity): value: float = None unit: str = None + class Participant(GaiaXEntity): """ An legal or natural person that is onboarded to Gaia-X and offers, consumes services or operates resources. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Participant"] @@ -849,6 +956,7 @@ class LegalPerson(Participant): """ A legal person, who is uniquely identified by its registration number. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["LegalPerson"] @@ -856,18 +964,38 @@ class LegalPerson(Participant): class_name: ClassVar[str] = "LegalPerson" class_model_uri: ClassVar[URIRef] = GX.LegalPerson - registrationNumber: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + registrationNumber: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None legalAddress: Union[dict, Address] = None headquartersAddress: Union[dict, Address] = None - parentOrganizationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - subOrganisationOf: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + parentOrganizationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + subOrganisationOf: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.registrationNumber): self.MissingRequiredField("registrationNumber") if not isinstance(self.registrationNumber, list): - self.registrationNumber = [self.registrationNumber] if self.registrationNumber is not None else [] - self.registrationNumber = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.registrationNumber] + self.registrationNumber = ( + [self.registrationNumber] if self.registrationNumber is not None else [] + ) + self.registrationNumber = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.registrationNumber + ] if self._is_empty(self.legalAddress): self.MissingRequiredField("legalAddress") @@ -880,12 +1008,28 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.headquartersAddress = Address(**as_dict(self.headquartersAddress)) if not isinstance(self.parentOrganizationOf, list): - self.parentOrganizationOf = [self.parentOrganizationOf] if self.parentOrganizationOf is not None else [] - self.parentOrganizationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.parentOrganizationOf] + self.parentOrganizationOf = ( + [self.parentOrganizationOf] + if self.parentOrganizationOf is not None + else [] + ) + self.parentOrganizationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.parentOrganizationOf + ] if not isinstance(self.subOrganisationOf, list): - self.subOrganisationOf = [self.subOrganisationOf] if self.subOrganisationOf is not None else [] - self.subOrganisationOf = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.subOrganisationOf] + self.subOrganisationOf = ( + [self.subOrganisationOf] if self.subOrganisationOf is not None else [] + ) + self.subOrganisationOf = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.subOrganisationOf + ] super().__post_init__(**kwargs) @@ -896,6 +1040,7 @@ class Resource(GaiaXEntity): Description of a good or object of the Gaia-X Ecosystem, and may be aggregated in a Service Offering or exist independently of it. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Resource"] @@ -907,8 +1052,14 @@ class Resource(GaiaXEntity): def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] super().__post_init__(**kwargs) @@ -919,6 +1070,7 @@ class VirtualResource(Resource): It represents static data in any form and necessary information such as dataset, configuration file, license, keypair, an AI model, neural network weights, etc. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualResource"] @@ -934,8 +1086,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.copyrightOwnedBy): self.MissingRequiredField("copyrightOwnedBy") if not isinstance(self.copyrightOwnedBy, list): - self.copyrightOwnedBy = [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] - self.copyrightOwnedBy = [v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy] + self.copyrightOwnedBy = ( + [self.copyrightOwnedBy] if self.copyrightOwnedBy is not None else [] + ) + self.copyrightOwnedBy = [ + v if isinstance(v, str) else str(v) for v in self.copyrightOwnedBy + ] if self._is_empty(self.license): self.MissingRequiredField("license") @@ -946,8 +1102,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.resourcePolicy): self.MissingRequiredField("resourcePolicy") if not isinstance(self.resourcePolicy, list): - self.resourcePolicy = [self.resourcePolicy] if self.resourcePolicy is not None else [] - self.resourcePolicy = [v if isinstance(v, str) else str(v) for v in self.resourcePolicy] + self.resourcePolicy = ( + [self.resourcePolicy] if self.resourcePolicy is not None else [] + ) + self.resourcePolicy = [ + v if isinstance(v, str) else str(v) for v in self.resourcePolicy + ] super().__post_init__(**kwargs) @@ -958,6 +1118,7 @@ class PhysicalResource(Resource): A Physical resource is, but not limited to, a datacenter, a bare-metal service, a warehouse, a plant. Those are entities that have a weight and position in physical space. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PhysicalResource"] @@ -965,29 +1126,63 @@ class PhysicalResource(Resource): class_name: ClassVar[str] = "PhysicalResource" class_model_uri: ClassVar[URIRef] = GX.PhysicalResource - maintainedBy: Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]] = None + maintainedBy: Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] = None location: Union[Union[dict, Address], List[Union[dict, Address]]] = None - ownedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() - manufacturedBy: Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]] = empty_list() + ownedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() + manufacturedBy: Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.maintainedBy): self.MissingRequiredField("maintainedBy") if not isinstance(self.maintainedBy, list): - self.maintainedBy = [self.maintainedBy] if self.maintainedBy is not None else [] - self.maintainedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.maintainedBy] + self.maintainedBy = ( + [self.maintainedBy] if self.maintainedBy is not None else [] + ) + self.maintainedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.maintainedBy + ] if self._is_empty(self.location): self.MissingRequiredField("location") - self._normalize_inlined_as_dict(slot_name="location", slot_type=Address, key_name="countryCode", keyed=False) + self._normalize_inlined_as_dict( + slot_name="location", slot_type=Address, key_name="countryCode", keyed=False + ) if not isinstance(self.ownedBy, list): self.ownedBy = [self.ownedBy] if self.ownedBy is not None else [] - self.ownedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.ownedBy] + self.ownedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.ownedBy + ] if not isinstance(self.manufacturedBy, list): - self.manufacturedBy = [self.manufacturedBy] if self.manufacturedBy is not None else [] - self.manufacturedBy = [v if isinstance(v, LegalPersonRegistrationNumber) else LegalPersonRegistrationNumber(v) for v in self.manufacturedBy] + self.manufacturedBy = ( + [self.manufacturedBy] if self.manufacturedBy is not None else [] + ) + self.manufacturedBy = [ + v + if isinstance(v, LegalPersonRegistrationNumber) + else LegalPersonRegistrationNumber(v) + for v in self.manufacturedBy + ] super().__post_init__(**kwargs) @@ -997,6 +1192,7 @@ class SoftwareResource(VirtualResource): """ A Gaia-X Virtual Resource describing an executable program. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["SoftwareResource"] @@ -1037,6 +1233,7 @@ class CodeArtifact(SoftwareResource): """ A piece of software that can be executed by a Compute service. It is a subclass of SoftwareResource. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["CodeArtifact"] @@ -1048,12 +1245,14 @@ class CodeArtifact(SoftwareResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None + @dataclass class Image(CodeArtifact): """ A software piece that can be executed by a virtual or bare metal Compute services. It is a subclass of OperatingSystem and CodeArtifact. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Image"] @@ -1084,7 +1283,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.fileSize is not None and not isinstance(self.fileSize, MemorySize): self.fileSize = MemorySize(**as_dict(self.fileSize)) - if self.operatingSystem is not None and not isinstance(self.operatingSystem, OperatingSystem): + if self.operatingSystem is not None and not isinstance( + self.operatingSystem, OperatingSystem + ): self.operatingSystem = OperatingSystem(**as_dict(self.operatingSystem)) if self.cpuReq is not None and not isinstance(self.cpuReq, CPU): @@ -1096,7 +1297,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.ramReq is not None and not isinstance(self.ramReq, Memory): self.ramReq = Memory(**as_dict(self.ramReq)) - if self.videoRamSize is not None and not isinstance(self.videoRamSize, MemorySize): + if self.videoRamSize is not None and not isinstance( + self.videoRamSize, MemorySize + ): self.videoRamSize = MemorySize(**as_dict(self.videoRamSize)) if self.rootDiskReq is not None and not isinstance(self.rootDiskReq, Disk): @@ -1117,13 +1320,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.multiQueues is not None and not isinstance(self.multiQueues, Bool): self.multiQueues = Bool(self.multiQueues) - if self.updateStrategy is not None and not isinstance(self.updateStrategy, UpdateStrategy): + if self.updateStrategy is not None and not isinstance( + self.updateStrategy, UpdateStrategy + ): self.updateStrategy = UpdateStrategy(**as_dict(self.updateStrategy)) - if self.licenseIncluded is not None and not isinstance(self.licenseIncluded, Bool): + if self.licenseIncluded is not None and not isinstance( + self.licenseIncluded, Bool + ): self.licenseIncluded = Bool(self.licenseIncluded) - if self.maintenance is not None and not isinstance(self.maintenance, MaintenanceSubscription): + if self.maintenance is not None and not isinstance( + self.maintenance, MaintenanceSubscription + ): self.maintenance = MaintenanceSubscription(**as_dict(self.maintenance)) super().__post_init__(**kwargs) @@ -1134,6 +1343,7 @@ class PXEImage(Image): """ PXE image for physical machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["PXEImage"] @@ -1147,7 +1357,9 @@ class PXEImage(Image): pxeImageDiskFormat: Optional[Union[str, "PXEDiskType"]] = "ISO" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.pxeImageDiskFormat is not None and not isinstance(self.pxeImageDiskFormat, PXEDiskType): + if self.pxeImageDiskFormat is not None and not isinstance( + self.pxeImageDiskFormat, PXEDiskType + ): self.pxeImageDiskFormat = PXEDiskType(self.pxeImageDiskFormat) super().__post_init__(**kwargs) @@ -1158,6 +1370,7 @@ class OperatingSystem(SoftwareResource): """ A special Gaia-X Software Resource describing an operating system. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["OperatingSystem"] @@ -1184,6 +1397,7 @@ class Hypervisor(SoftwareResource): """ A special Gaia-X Software Resource describing a hypervisor to provided virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Hypervisor"] @@ -1210,6 +1424,7 @@ class ServiceOffering(GaiaXEntity): """ A digital service available for order. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServiceOffering"] @@ -1218,12 +1433,21 @@ class ServiceOffering(GaiaXEntity): class_model_uri: ClassVar[URIRef] = GX.ServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" dependsOn: Optional[Union[str, List[str]]] = empty_list() aggregationOfResources: Optional[Union[str, List[str]]] = empty_list() - dataProtectionRegime: Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]] = empty_list() + dataProtectionRegime: Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ] = empty_list() keyword: Optional[Union[str, List[str]]] = empty_list() provisionType: Optional[Union[str, "ProvisionTypes"]] = None endpoint: Optional[Union[dict, Endpoint]] = None @@ -1237,35 +1461,66 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.serviceOfferingTermsAndConditions): self.MissingRequiredField("serviceOfferingTermsAndConditions") - self._normalize_inlined_as_dict(slot_name="serviceOfferingTermsAndConditions", slot_type=TermsAndConditions, key_name="url", keyed=False) + self._normalize_inlined_as_dict( + slot_name="serviceOfferingTermsAndConditions", + slot_type=TermsAndConditions, + key_name="url", + keyed=False, + ) if self._is_empty(self.servicePolicy): self.MissingRequiredField("servicePolicy") if not isinstance(self.servicePolicy, list): - self.servicePolicy = [self.servicePolicy] if self.servicePolicy is not None else [] - self.servicePolicy = [v if isinstance(v, str) else str(v) for v in self.servicePolicy] + self.servicePolicy = ( + [self.servicePolicy] if self.servicePolicy is not None else [] + ) + self.servicePolicy = [ + v if isinstance(v, str) else str(v) for v in self.servicePolicy + ] if self._is_empty(self.dataAccountExport): self.MissingRequiredField("dataAccountExport") - self._normalize_inlined_as_dict(slot_name="dataAccountExport", slot_type=DataAccountExport, key_name="requestType", keyed=False) + self._normalize_inlined_as_dict( + slot_name="dataAccountExport", + slot_type=DataAccountExport, + key_name="requestType", + keyed=False, + ) if not isinstance(self.dependsOn, list): self.dependsOn = [self.dependsOn] if self.dependsOn is not None else [] self.dependsOn = [v if isinstance(v, str) else str(v) for v in self.dependsOn] if not isinstance(self.aggregationOfResources, list): - self.aggregationOfResources = [self.aggregationOfResources] if self.aggregationOfResources is not None else [] - self.aggregationOfResources = [v if isinstance(v, str) else str(v) for v in self.aggregationOfResources] + self.aggregationOfResources = ( + [self.aggregationOfResources] + if self.aggregationOfResources is not None + else [] + ) + self.aggregationOfResources = [ + v if isinstance(v, str) else str(v) for v in self.aggregationOfResources + ] if not isinstance(self.dataProtectionRegime, list): - self.dataProtectionRegime = [self.dataProtectionRegime] if self.dataProtectionRegime is not None else [] - self.dataProtectionRegime = [v if isinstance(v, PersonalDataProtectionRegime) else PersonalDataProtectionRegime(v) for v in self.dataProtectionRegime] + self.dataProtectionRegime = ( + [self.dataProtectionRegime] + if self.dataProtectionRegime is not None + else [] + ) + self.dataProtectionRegime = [ + v + if isinstance(v, PersonalDataProtectionRegime) + else PersonalDataProtectionRegime(v) + for v in self.dataProtectionRegime + ] if not isinstance(self.keyword, list): self.keyword = [self.keyword] if self.keyword is not None else [] self.keyword = [v if isinstance(v, str) else str(v) for v in self.keyword] - if self.provisionType is not None and not isinstance(self.provisionType, ProvisionTypes): + if self.provisionType is not None and not isinstance( + self.provisionType, ProvisionTypes + ): self.provisionType = ProvisionTypes(self.provisionType) if self.endpoint is not None and not isinstance(self.endpoint, Endpoint): @@ -1283,6 +1538,7 @@ class InfrastructureServiceOffering(ServiceOffering): """ A digital service available for order and offering computational, storage and/pr network capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["InfrastructureServiceOffering"] @@ -1291,15 +1547,21 @@ class InfrastructureServiceOffering(ServiceOffering): class_model_uri: ClassVar[URIRef] = GX.InfrastructureServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" + @dataclass class ComputeServiceOffering(InfrastructureServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ComputeServiceOffering"] @@ -1308,13 +1570,19 @@ class ComputeServiceOffering(InfrastructureServiceOffering): class_model_uri: ClassVar[URIRef] = GX.ComputeServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" tenantSeparation: Optional[Union[str, "TenantSeparation"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.tenantSeparation is not None and not isinstance(self.tenantSeparation, TenantSeparation): + if self.tenantSeparation is not None and not isinstance( + self.tenantSeparation, TenantSeparation + ): self.tenantSeparation = TenantSeparation(self.tenantSeparation) super().__post_init__(**kwargs) @@ -1325,6 +1593,7 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): """ A digital service available for order and offering computational capabilities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VirtualMachineServiceOffering"] @@ -1333,20 +1602,36 @@ class VirtualMachineServiceOffering(ComputeServiceOffering): class_model_uri: ClassVar[URIRef] = GX.VirtualMachineServiceOffering providedBy: Union[str, LegalPersonRegistrationNumber] = None - serviceOfferingTermsAndConditions: Union[Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]]] = None - dataAccountExport: Union[Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]]] = None + serviceOfferingTermsAndConditions: Union[ + Union[dict, "TermsAndConditions"], List[Union[dict, "TermsAndConditions"]] + ] = None + dataAccountExport: Union[ + Union[dict, "DataAccountExport"], List[Union[dict, "DataAccountExport"]] + ] = None codeArtifact: Union[Union[dict, "VMImage"], List[Union[dict, "VMImage"]]] = None - instantiationReq: Union[Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]]] = None + instantiationReq: Union[ + Union[dict, "ServerFlavor"], List[Union[dict, "ServerFlavor"]] + ] = None servicePolicy: Union[str, List[str]] = "default:allow intent" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.codeArtifact): self.MissingRequiredField("codeArtifact") - self._normalize_inlined_as_dict(slot_name="codeArtifact", slot_type=VMImage, key_name="copyrightOwnedBy", keyed=False) + self._normalize_inlined_as_dict( + slot_name="codeArtifact", + slot_type=VMImage, + key_name="copyrightOwnedBy", + keyed=False, + ) if self._is_empty(self.instantiationReq): self.MissingRequiredField("instantiationReq") - self._normalize_inlined_as_dict(slot_name="instantiationReq", slot_type=ServerFlavor, key_name="cpu", keyed=False) + self._normalize_inlined_as_dict( + slot_name="instantiationReq", + slot_type=ServerFlavor, + key_name="cpu", + keyed=False, + ) super().__post_init__(**kwargs) @@ -1356,6 +1641,7 @@ class TermsAndConditions(YAMLRoot): """ Terms and Conditions applying to a service offering. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["TermsAndConditions"] @@ -1385,6 +1671,7 @@ class DataAccountExport(YAMLRoot): """ List of methods to export data from your account out of the service. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataAccountExport"] @@ -1420,6 +1707,7 @@ class StandardConformity(YAMLRoot): """ Details about standard applied to Gaia-X entities. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["StandardConformity"] @@ -1453,6 +1741,7 @@ class DataResource(VirtualResource): """ A dataset exposed through a service instance. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataResource"] @@ -1464,12 +1753,18 @@ class DataResource(VirtualResource): license: Union[str, List[str]] = None resourcePolicy: Union[str, List[str]] = None producedBy: Union[str, LegalPersonRegistrationNumber] = None - exposedThrough: Union[Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]]] = None + exposedThrough: Union[ + Union[dict, "DataExchangeComponent"], List[Union[dict, "DataExchangeComponent"]] + ] = None containsPII: Union[bool, Bool] = None obsoleteDateTime: Optional[Union[str, XSDDateTime]] = None expirationDateTime: Optional[Union[str, XSDDateTime]] = None - dataController: Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]] = empty_list() - consent: Optional[Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]]] = empty_list() + dataController: Optional[ + Union[Union[dict, Participant], List[Union[dict, Participant]]] + ] = empty_list() + consent: Optional[ + Union[Union[dict, "Consent"], List[Union[dict, "Consent"]]] + ] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.producedBy): @@ -1480,25 +1775,43 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.exposedThrough): self.MissingRequiredField("exposedThrough") if not isinstance(self.exposedThrough, list): - self.exposedThrough = [self.exposedThrough] if self.exposedThrough is not None else [] - self.exposedThrough = [v if isinstance(v, DataExchangeComponent) else DataExchangeComponent(**as_dict(v)) for v in self.exposedThrough] + self.exposedThrough = ( + [self.exposedThrough] if self.exposedThrough is not None else [] + ) + self.exposedThrough = [ + v + if isinstance(v, DataExchangeComponent) + else DataExchangeComponent(**as_dict(v)) + for v in self.exposedThrough + ] if self._is_empty(self.containsPII): self.MissingRequiredField("containsPII") if not isinstance(self.containsPII, Bool): self.containsPII = Bool(self.containsPII) - if self.obsoleteDateTime is not None and not isinstance(self.obsoleteDateTime, XSDDateTime): + if self.obsoleteDateTime is not None and not isinstance( + self.obsoleteDateTime, XSDDateTime + ): self.obsoleteDateTime = XSDDateTime(self.obsoleteDateTime) - if self.expirationDateTime is not None and not isinstance(self.expirationDateTime, XSDDateTime): + if self.expirationDateTime is not None and not isinstance( + self.expirationDateTime, XSDDateTime + ): self.expirationDateTime = XSDDateTime(self.expirationDateTime) if not isinstance(self.dataController, list): - self.dataController = [self.dataController] if self.dataController is not None else [] - self.dataController = [v if isinstance(v, Participant) else Participant(**as_dict(v)) for v in self.dataController] - - self._normalize_inlined_as_dict(slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False) + self.dataController = ( + [self.dataController] if self.dataController is not None else [] + ) + self.dataController = [ + v if isinstance(v, Participant) else Participant(**as_dict(v)) + for v in self.dataController + ] + + self._normalize_inlined_as_dict( + slot_name="consent", slot_type=Consent, key_name="legalBasis", keyed=False + ) super().__post_init__(**kwargs) @@ -1508,6 +1821,7 @@ class Consent(YAMLRoot): """ Information on the legitimate processing of information related to PII. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["Consent"] @@ -1529,8 +1843,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.dataProtectionContactPoint): self.MissingRequiredField("dataProtectionContactPoint") if not isinstance(self.dataProtectionContactPoint, list): - self.dataProtectionContactPoint = [self.dataProtectionContactPoint] if self.dataProtectionContactPoint is not None else [] - self.dataProtectionContactPoint = [v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint] + self.dataProtectionContactPoint = ( + [self.dataProtectionContactPoint] + if self.dataProtectionContactPoint is not None + else [] + ) + self.dataProtectionContactPoint = [ + v if isinstance(v, str) else str(v) for v in self.dataProtectionContactPoint + ] if self._is_empty(self.purpose): self.MissingRequiredField("purpose") @@ -1541,8 +1861,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.consentWithdrawalContactPoint): self.MissingRequiredField("consentWithdrawalContactPoint") if not isinstance(self.consentWithdrawalContactPoint, list): - self.consentWithdrawalContactPoint = [self.consentWithdrawalContactPoint] if self.consentWithdrawalContactPoint is not None else [] - self.consentWithdrawalContactPoint = [v if isinstance(v, str) else str(v) for v in self.consentWithdrawalContactPoint] + self.consentWithdrawalContactPoint = ( + [self.consentWithdrawalContactPoint] + if self.consentWithdrawalContactPoint is not None + else [] + ) + self.consentWithdrawalContactPoint = [ + v if isinstance(v, str) else str(v) + for v in self.consentWithdrawalContactPoint + ] super().__post_init__(**kwargs) @@ -1551,6 +1878,7 @@ class DataExchangeComponent(YAMLRoot): """ A service/resource used to make a data resource available. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["DataExchangeComponent"] @@ -1564,6 +1892,7 @@ class VMImage(Image): """ Image for virtual machines. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["VMImage"] @@ -1581,19 +1910,29 @@ class VMImage(Image): watchDogAction: Optional[Union[str, "WatchDogActions"]] = "disabled" def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.vmImageDiskFormat is not None and not isinstance(self.vmImageDiskFormat, VMDiskType): + if self.vmImageDiskFormat is not None and not isinstance( + self.vmImageDiskFormat, VMDiskType + ): self.vmImageDiskFormat = VMDiskType(self.vmImageDiskFormat) - if self.hypervisorType is not None and not isinstance(self.hypervisorType, HypervisorType): + if self.hypervisorType is not None and not isinstance( + self.hypervisorType, HypervisorType + ): self.hypervisorType = HypervisorType(self.hypervisorType) - if self.firmwareType is not None and not isinstance(self.firmwareType, FirmType): + if self.firmwareType is not None and not isinstance( + self.firmwareType, FirmType + ): self.firmwareType = FirmType(self.firmwareType) - if self.hwRngTypeOfImage is not None and not isinstance(self.hwRngTypeOfImage, RNGTypes): + if self.hwRngTypeOfImage is not None and not isinstance( + self.hwRngTypeOfImage, RNGTypes + ): self.hwRngTypeOfImage = RNGTypes(self.hwRngTypeOfImage) - if self.watchDogAction is not None and not isinstance(self.watchDogAction, WatchDogActions): + if self.watchDogAction is not None and not isinstance( + self.watchDogAction, WatchDogActions + ): self.watchDogAction = WatchDogActions(self.watchDogAction) super().__post_init__(**kwargs) @@ -1605,6 +1944,7 @@ class ServerFlavor(YAMLRoot): Description of the available hardware configuration, such as processor, ram and disk capacities, of a physical or virtual servers that can be launched. """ + _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = GX["ServerFlavor"] @@ -1617,7 +1957,9 @@ class ServerFlavor(YAMLRoot): bootVolume: Union[dict, Disk] = None gpu: Optional[Union[dict, GPU]] = None network: Optional[str] = None - additionalVolume: Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]] = empty_list() + additionalVolume: Optional[ + Union[Union[dict, Disk], List[Union[dict, Disk]]] + ] = empty_list() confidentialComputing: Optional[Union[dict, "ConfidentialComputing"]] = None hypervisor: Optional[Union[dict, SoftwareResource]] = None hardwareAssistedVirtualization: Optional[Union[bool, Bool]] = False @@ -1645,18 +1987,35 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.network is not None and not isinstance(self.network, str): self.network = str(self.network) - self._normalize_inlined_as_dict(slot_name="additionalVolume", slot_type=Disk, key_name="diskSize", keyed=False) - - if self.confidentialComputing is not None and not isinstance(self.confidentialComputing, ConfidentialComputing): - self.confidentialComputing = ConfidentialComputing(**as_dict(self.confidentialComputing)) - - if self.hypervisor is not None and not isinstance(self.hypervisor, SoftwareResource): + self._normalize_inlined_as_dict( + slot_name="additionalVolume", + slot_type=Disk, + key_name="diskSize", + keyed=False, + ) + + if self.confidentialComputing is not None and not isinstance( + self.confidentialComputing, ConfidentialComputing + ): + self.confidentialComputing = ConfidentialComputing( + **as_dict(self.confidentialComputing) + ) + + if self.hypervisor is not None and not isinstance( + self.hypervisor, SoftwareResource + ): self.hypervisor = SoftwareResource(**as_dict(self.hypervisor)) - if self.hardwareAssistedVirtualization is not None and not isinstance(self.hardwareAssistedVirtualization, Bool): - self.hardwareAssistedVirtualization = Bool(self.hardwareAssistedVirtualization) + if self.hardwareAssistedVirtualization is not None and not isinstance( + self.hardwareAssistedVirtualization, Bool + ): + self.hardwareAssistedVirtualization = Bool( + self.hardwareAssistedVirtualization + ) - if self.hwRngTypeOfFlavor is not None and not isinstance(self.hwRngTypeOfFlavor, RNGTypes): + if self.hwRngTypeOfFlavor is not None and not isinstance( + self.hwRngTypeOfFlavor, RNGTypes + ): self.hwRngTypeOfFlavor = RNGTypes(self.hwRngTypeOfFlavor) super().__post_init__(**kwargs) @@ -1680,7 +2039,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.technology, str): self.technology = str(self.technology) - if self.attestationServiceURI is not None and not isinstance(self.attestationServiceURI, URI): + if self.attestationServiceURI is not None and not isinstance( + self.attestationServiceURI, URI + ): self.attestationServiceURI = URI(self.attestationServiceURI) super().__post_init__(**kwargs) @@ -1688,751 +2049,343 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): # Enumerations class CountryNameAlpha2(EnumDefinitionImpl): - - AF = PermissibleValue( - text="AF", - description="Alpha2 code for Afghanistan.") - EG = PermissibleValue( - text="EG", - description="Alpha2 code for Egypt.") - AX = PermissibleValue( - text="AX", - description="Alpha2 code for Aland Islands.") - AL = PermissibleValue( - text="AL", - description="Alpha2 code for Albania.") - DZ = PermissibleValue( - text="DZ", - description="Alpha2 code for Algeria.") + AF = PermissibleValue(text="AF", description="Alpha2 code for Afghanistan.") + EG = PermissibleValue(text="EG", description="Alpha2 code for Egypt.") + AX = PermissibleValue(text="AX", description="Alpha2 code for Aland Islands.") + AL = PermissibleValue(text="AL", description="Alpha2 code for Albania.") + DZ = PermissibleValue(text="DZ", description="Alpha2 code for Algeria.") VI = PermissibleValue( - text="VI", - description="Alpha2 code for Virgin Islands (U.S.).") + text="VI", description="Alpha2 code for Virgin Islands (U.S.)." + ) UM = PermissibleValue( text="UM", - description="Alpha2 code for United States Minor Outlying Islands (the).") - AS = PermissibleValue( - text="AS", - description="Alpha2 code for American Samoa.") - AD = PermissibleValue( - text="AD", - description="Alpha2 code for Andorra.") - AO = PermissibleValue( - text="AO", - description="Alpha2 code for Angola.") - AI = PermissibleValue( - text="AI", - description="Alpha2 code for Anguilla.") - AQ = PermissibleValue( - text="AQ", - description="Alpha2 code for Antarctica.") - AG = PermissibleValue( - text="AG", - description="Alpha2 code for Antigua and Barbuda.") - GQ = PermissibleValue( - text="GQ", - description="Alpha2 code for Equatorial Guinea.") + description="Alpha2 code for United States Minor Outlying Islands (the).", + ) + AS = PermissibleValue(text="AS", description="Alpha2 code for American Samoa.") + AD = PermissibleValue(text="AD", description="Alpha2 code for Andorra.") + AO = PermissibleValue(text="AO", description="Alpha2 code for Angola.") + AI = PermissibleValue(text="AI", description="Alpha2 code for Anguilla.") + AQ = PermissibleValue(text="AQ", description="Alpha2 code for Antarctica.") + AG = PermissibleValue(text="AG", description="Alpha2 code for Antigua and Barbuda.") + GQ = PermissibleValue(text="GQ", description="Alpha2 code for Equatorial Guinea.") SY = PermissibleValue( - text="SY", - description="Alpha2 code for Syrian Arab Republic.") - AR = PermissibleValue( - text="AR", - description="Alpha2 code for Argentina.") - AM = PermissibleValue( - text="AM", - description="Alpha2 code for Armenia.") - AW = PermissibleValue( - text="AW", - description="Alpha2 code for Aruba.") - AZ = PermissibleValue( - text="AZ", - description="Alpha2 code for Azerbaijan.") - ET = PermissibleValue( - text="ET", - description="Alpha2 code for Ethiopia.") - AU = PermissibleValue( - text="AU", - description="Alpha2 code for Australia.") - BS = PermissibleValue( - text="BS", - description="Alpha2 code for Bahamas (the).") - BH = PermissibleValue( - text="BH", - description="Alpha2 code for Bahrain.") - BD = PermissibleValue( - text="BD", - description="Alpha2 code for Bangladesh.") - BB = PermissibleValue( - text="BB", - description="Alpha2 code for Barbados.") - BE = PermissibleValue( - text="BE", - description="Alpha2 code for Belgium.") - BZ = PermissibleValue( - text="BZ", - description="Alpha2 code for Belize.") - BJ = PermissibleValue( - text="BJ", - description="Alpha2 code for Benin.") - BM = PermissibleValue( - text="BM", - description="Alpha2 code for Bermuda.") - BT = PermissibleValue( - text="BT", - description="Alpha2 code for Bhutan.") + text="SY", description="Alpha2 code for Syrian Arab Republic." + ) + AR = PermissibleValue(text="AR", description="Alpha2 code for Argentina.") + AM = PermissibleValue(text="AM", description="Alpha2 code for Armenia.") + AW = PermissibleValue(text="AW", description="Alpha2 code for Aruba.") + AZ = PermissibleValue(text="AZ", description="Alpha2 code for Azerbaijan.") + ET = PermissibleValue(text="ET", description="Alpha2 code for Ethiopia.") + AU = PermissibleValue(text="AU", description="Alpha2 code for Australia.") + BS = PermissibleValue(text="BS", description="Alpha2 code for Bahamas (the).") + BH = PermissibleValue(text="BH", description="Alpha2 code for Bahrain.") + BD = PermissibleValue(text="BD", description="Alpha2 code for Bangladesh.") + BB = PermissibleValue(text="BB", description="Alpha2 code for Barbados.") + BE = PermissibleValue(text="BE", description="Alpha2 code for Belgium.") + BZ = PermissibleValue(text="BZ", description="Alpha2 code for Belize.") + BJ = PermissibleValue(text="BJ", description="Alpha2 code for Benin.") + BM = PermissibleValue(text="BM", description="Alpha2 code for Bermuda.") + BT = PermissibleValue(text="BT", description="Alpha2 code for Bhutan.") VE = PermissibleValue( - text="VE", - description="Alpha2 code for Venezuela (Bolivarian Republic of).") + text="VE", description="Alpha2 code for Venezuela (Bolivarian Republic of)." + ) BQ = PermissibleValue( - text="BQ", - description="Alpha2 code for Bonaire, Sint Eustatius and Saba.") + text="BQ", description="Alpha2 code for Bonaire, Sint Eustatius and Saba." + ) BA = PermissibleValue( - text="BA", - description="Alpha2 code for Bosnia and Herzegovina.") - BW = PermissibleValue( - text="BW", - description="Alpha2 code for Botswana.") - BV = PermissibleValue( - text="BV", - description="Alpha2 code for Bouvet Island.") - BR = PermissibleValue( - text="BR", - description="Alpha2 code for Brazil.") + text="BA", description="Alpha2 code for Bosnia and Herzegovina." + ) + BW = PermissibleValue(text="BW", description="Alpha2 code for Botswana.") + BV = PermissibleValue(text="BV", description="Alpha2 code for Bouvet Island.") + BR = PermissibleValue(text="BR", description="Alpha2 code for Brazil.") VG = PermissibleValue( - text="VG", - description="Alpha2 code for Virgin Islands (British).") + text="VG", description="Alpha2 code for Virgin Islands (British)." + ) IO = PermissibleValue( - text="IO", - description="Alpha2 code for British Indian Ocean Territory (the).") - BN = PermissibleValue( - text="BN", - description="Alpha2 code for Brunei Darussalam.") - BG = PermissibleValue( - text="BG", - description="Alpha2 code for Bulgaria.") - BF = PermissibleValue( - text="BF", - description="Alpha2 code for Burkina Faso.") - BI = PermissibleValue( - text="BI", - description="Alpha2 code for Burundi.") - CV = PermissibleValue( - text="CV", - description="Alpha2 code for Cabo Verde.") - CL = PermissibleValue( - text="CL", - description="Alpha2 code for Chile.") - CN = PermissibleValue( - text="CN", - description="Alpha2 code for China.") - CK = PermissibleValue( - text="CK", - description="Alpha2 code for Cook Islands (the).") - CR = PermissibleValue( - text="CR", - description="Alpha2 code for Costa Rica.") - CI = PermissibleValue( - text="CI", - description="Alpha2 code for Cote dIvoire.") - CW = PermissibleValue( - text="CW", - description="Alpha2 code for Curacao.") - DK = PermissibleValue( - text="DK", - description="Alpha2 code for Denmark.") + text="IO", description="Alpha2 code for British Indian Ocean Territory (the)." + ) + BN = PermissibleValue(text="BN", description="Alpha2 code for Brunei Darussalam.") + BG = PermissibleValue(text="BG", description="Alpha2 code for Bulgaria.") + BF = PermissibleValue(text="BF", description="Alpha2 code for Burkina Faso.") + BI = PermissibleValue(text="BI", description="Alpha2 code for Burundi.") + CV = PermissibleValue(text="CV", description="Alpha2 code for Cabo Verde.") + CL = PermissibleValue(text="CL", description="Alpha2 code for Chile.") + CN = PermissibleValue(text="CN", description="Alpha2 code for China.") + CK = PermissibleValue(text="CK", description="Alpha2 code for Cook Islands (the).") + CR = PermissibleValue(text="CR", description="Alpha2 code for Costa Rica.") + CI = PermissibleValue(text="CI", description="Alpha2 code for Cote dIvoire.") + CW = PermissibleValue(text="CW", description="Alpha2 code for Curacao.") + DK = PermissibleValue(text="DK", description="Alpha2 code for Denmark.") CD = PermissibleValue( - text="CD", - description="Alpha2 code for Congo (the Democratic Republic of the).") + text="CD", description="Alpha2 code for Congo (the Democratic Republic of the)." + ) KP = PermissibleValue( text="KP", - description="Alpha2 code for Korea (the Democratic Peoples Republic of).") + description="Alpha2 code for Korea (the Democratic Peoples Republic of).", + ) LA = PermissibleValue( - text="LA", - description="Alpha2 code for Lao Peoples Democratic Republic (the).") - DE = PermissibleValue( - text="DE", - description="Alpha2 code for Germany.") - DM = PermissibleValue( - text="DM", - description="Alpha2 code for Dominica.") + text="LA", description="Alpha2 code for Lao Peoples Democratic Republic (the)." + ) + DE = PermissibleValue(text="DE", description="Alpha2 code for Germany.") + DM = PermissibleValue(text="DM", description="Alpha2 code for Dominica.") DO = PermissibleValue( - text="DO", - description="Alpha2 code for Dominican Republic (the).") - DJ = PermissibleValue( - text="DJ", - description="Alpha2 code for Djibouti.") - EC = PermissibleValue( - text="EC", - description="Alpha2 code for Ecuador.") + text="DO", description="Alpha2 code for Dominican Republic (the)." + ) + DJ = PermissibleValue(text="DJ", description="Alpha2 code for Djibouti.") + EC = PermissibleValue(text="EC", description="Alpha2 code for Ecuador.") MK = PermissibleValue( - text="MK", - description="Alpha2 code for Republic of North Macedonia.") - SV = PermissibleValue( - text="SV", - description="Alpha2 code for El Salvador.") - ER = PermissibleValue( - text="ER", - description="Alpha2 code for Eritrea.") - EE = PermissibleValue( - text="EE", - description="Alpha2 code for Estonia.") + text="MK", description="Alpha2 code for Republic of North Macedonia." + ) + SV = PermissibleValue(text="SV", description="Alpha2 code for El Salvador.") + ER = PermissibleValue(text="ER", description="Alpha2 code for Eritrea.") + EE = PermissibleValue(text="EE", description="Alpha2 code for Estonia.") FK = PermissibleValue( - text="FK", - description="Alpha2 code for Falkland Islands (the) [Malvinas].") - FO = PermissibleValue( - text="FO", - description="Alpha2 code for Faroe Islands (the).") - FJ = PermissibleValue( - text="FJ", - description="Alpha2 code for Fiji.") - FI = PermissibleValue( - text="FI", - description="Alpha2 code for Finland.") + text="FK", description="Alpha2 code for Falkland Islands (the) [Malvinas]." + ) + FO = PermissibleValue(text="FO", description="Alpha2 code for Faroe Islands (the).") + FJ = PermissibleValue(text="FJ", description="Alpha2 code for Fiji.") + FI = PermissibleValue(text="FI", description="Alpha2 code for Finland.") FM = PermissibleValue( - text="FM", - description="Alpha2 code for Micronesia (Federated States of).") - FR = PermissibleValue( - text="FR", - description="Alpha2 code for France.") + text="FM", description="Alpha2 code for Micronesia (Federated States of)." + ) + FR = PermissibleValue(text="FR", description="Alpha2 code for France.") TF = PermissibleValue( - text="TF", - description="Alpha2 code for French Southern Territories (the).") - GF = PermissibleValue( - text="GF", - description="Alpha2 code for French Guiana.") - PF = PermissibleValue( - text="PF", - description="Alpha2 code for French Polynesia.") - GA = PermissibleValue( - text="GA", - description="Alpha2 code for Gabon.") - GM = PermissibleValue( - text="GM", - description="Alpha2 code for Gambia (the).") - GE = PermissibleValue( - text="GE", - description="Alpha2 code for Georgia.") - GH = PermissibleValue( - text="GH", - description="Alpha2 code for Ghana.") - GI = PermissibleValue( - text="GI", - description="Alpha2 code for Gibraltar.") - GD = PermissibleValue( - text="GD", - description="Alpha2 code for Grenada.") - GR = PermissibleValue( - text="GR", - description="Alpha2 code for Greece.") - GL = PermissibleValue( - text="GL", - description="Alpha2 code for Greenland.") - GP = PermissibleValue( - text="GP", - description="Alpha2 code for Guadeloupe.") - GU = PermissibleValue( - text="GU", - description="Alpha2 code for Guam.") - GT = PermissibleValue( - text="GT", - description="Alpha2 code for Guatemala.") - GG = PermissibleValue( - text="GG", - description="Alpha2 code for Guernsey.") - GN = PermissibleValue( - text="GN", - description="Alpha2 code for Guinea.") - GW = PermissibleValue( - text="GW", - description="Alpha2 code for Guinea-Bissau.") - GY = PermissibleValue( - text="GY", - description="Alpha2 code for Guyana.") - HT = PermissibleValue( - text="HT", - description="Alpha2 code for Haiti.") + text="TF", description="Alpha2 code for French Southern Territories (the)." + ) + GF = PermissibleValue(text="GF", description="Alpha2 code for French Guiana.") + PF = PermissibleValue(text="PF", description="Alpha2 code for French Polynesia.") + GA = PermissibleValue(text="GA", description="Alpha2 code for Gabon.") + GM = PermissibleValue(text="GM", description="Alpha2 code for Gambia (the).") + GE = PermissibleValue(text="GE", description="Alpha2 code for Georgia.") + GH = PermissibleValue(text="GH", description="Alpha2 code for Ghana.") + GI = PermissibleValue(text="GI", description="Alpha2 code for Gibraltar.") + GD = PermissibleValue(text="GD", description="Alpha2 code for Grenada.") + GR = PermissibleValue(text="GR", description="Alpha2 code for Greece.") + GL = PermissibleValue(text="GL", description="Alpha2 code for Greenland.") + GP = PermissibleValue(text="GP", description="Alpha2 code for Guadeloupe.") + GU = PermissibleValue(text="GU", description="Alpha2 code for Guam.") + GT = PermissibleValue(text="GT", description="Alpha2 code for Guatemala.") + GG = PermissibleValue(text="GG", description="Alpha2 code for Guernsey.") + GN = PermissibleValue(text="GN", description="Alpha2 code for Guinea.") + GW = PermissibleValue(text="GW", description="Alpha2 code for Guinea-Bissau.") + GY = PermissibleValue(text="GY", description="Alpha2 code for Guyana.") + HT = PermissibleValue(text="HT", description="Alpha2 code for Haiti.") HM = PermissibleValue( - text="HM", - description="Alpha2 code for Heard Island and McDonald Islands.") - HN = PermissibleValue( - text="HN", - description="Alpha2 code for Honduras.") - HK = PermissibleValue( - text="HK", - description="Alpha2 code for Hong Kong.") - IN = PermissibleValue( - text="IN", - description="Alpha2 code for India.") - ID = PermissibleValue( - text="ID", - description="Alpha2 code for Indonesia.") - IM = PermissibleValue( - text="IM", - description="Alpha2 code for Isle of Man.") - IQ = PermissibleValue( - text="IQ", - description="Alpha2 code for Iraq.") - IE = PermissibleValue( - text="IE", - description="Alpha2 code for Ireland.") + text="HM", description="Alpha2 code for Heard Island and McDonald Islands." + ) + HN = PermissibleValue(text="HN", description="Alpha2 code for Honduras.") + HK = PermissibleValue(text="HK", description="Alpha2 code for Hong Kong.") + IN = PermissibleValue(text="IN", description="Alpha2 code for India.") + ID = PermissibleValue(text="ID", description="Alpha2 code for Indonesia.") + IM = PermissibleValue(text="IM", description="Alpha2 code for Isle of Man.") + IQ = PermissibleValue(text="IQ", description="Alpha2 code for Iraq.") + IE = PermissibleValue(text="IE", description="Alpha2 code for Ireland.") IR = PermissibleValue( - text="IR", - description="Alpha2 code for Iran (Islamic Republic of).") - IS = PermissibleValue( - text="IS", - description="Alpha2 code for Iceland.") - IL = PermissibleValue( - text="IL", - description="Alpha2 code for Israel.") - IT = PermissibleValue( - text="IT", - description="Alpha2 code for Italy.") - JM = PermissibleValue( - text="JM", - description="Alpha2 code for Jamaica.") - JP = PermissibleValue( - text="JP", - description="Alpha2 code for Japan.") - YE = PermissibleValue( - text="YE", - description="Alpha2 code for Yemen.") - JE = PermissibleValue( - text="JE", - description="Alpha2 code for Jersey.") - JO = PermissibleValue( - text="JO", - description="Alpha2 code for Jordan.") + text="IR", description="Alpha2 code for Iran (Islamic Republic of)." + ) + IS = PermissibleValue(text="IS", description="Alpha2 code for Iceland.") + IL = PermissibleValue(text="IL", description="Alpha2 code for Israel.") + IT = PermissibleValue(text="IT", description="Alpha2 code for Italy.") + JM = PermissibleValue(text="JM", description="Alpha2 code for Jamaica.") + JP = PermissibleValue(text="JP", description="Alpha2 code for Japan.") + YE = PermissibleValue(text="YE", description="Alpha2 code for Yemen.") + JE = PermissibleValue(text="JE", description="Alpha2 code for Jersey.") + JO = PermissibleValue(text="JO", description="Alpha2 code for Jordan.") KY = PermissibleValue( - text="KY", - description="Alpha2 code for Cayman Islands (the).") - KH = PermissibleValue( - text="KH", - description="Alpha2 code for Cambodia.") - CM = PermissibleValue( - text="CM", - description="Alpha2 code for Cameroon.") - CA = PermissibleValue( - text="CA", - description="Alpha2 code for Canada.") - KZ = PermissibleValue( - text="KZ", - description="Alpha2 code for Kazakhstan.") - QA = PermissibleValue( - text="QA", - description="Alpha2 code for Qatar.") - KE = PermissibleValue( - text="KE", - description="Alpha2 code for Kenya.") - KG = PermissibleValue( - text="KG", - description="Alpha2 code for Kyrgyzstan.") - KI = PermissibleValue( - text="KI", - description="Alpha2 code for Kiribati.") + text="KY", description="Alpha2 code for Cayman Islands (the)." + ) + KH = PermissibleValue(text="KH", description="Alpha2 code for Cambodia.") + CM = PermissibleValue(text="CM", description="Alpha2 code for Cameroon.") + CA = PermissibleValue(text="CA", description="Alpha2 code for Canada.") + KZ = PermissibleValue(text="KZ", description="Alpha2 code for Kazakhstan.") + QA = PermissibleValue(text="QA", description="Alpha2 code for Qatar.") + KE = PermissibleValue(text="KE", description="Alpha2 code for Kenya.") + KG = PermissibleValue(text="KG", description="Alpha2 code for Kyrgyzstan.") + KI = PermissibleValue(text="KI", description="Alpha2 code for Kiribati.") CC = PermissibleValue( - text="CC", - description="Alpha2 code for Cocos (Keeling) Islands (the).") - CO = PermissibleValue( - text="CO", - description="Alpha2 code for Colombia.") - KM = PermissibleValue( - text="KM", - description="Alpha2 code for Comoros (the).") - CG = PermissibleValue( - text="CG", - description="Alpha2 code for Congo (the).") - HR = PermissibleValue( - text="HR", - description="Alpha2 code for Croatia.") - CU = PermissibleValue( - text="CU", - description="Alpha2 code for Cuba.") - KW = PermissibleValue( - text="KW", - description="Alpha2 code for Kuwait.") - LS = PermissibleValue( - text="LS", - description="Alpha2 code for Lesotho.") - LV = PermissibleValue( - text="LV", - description="Alpha2 code for Latvia.") - LB = PermissibleValue( - text="LB", - description="Alpha2 code for Lebanon.") - LR = PermissibleValue( - text="LR", - description="Alpha2 code for Liberia.") - LY = PermissibleValue( - text="LY", - description="Alpha2 code for Libya.") - LI = PermissibleValue( - text="LI", - description="Alpha2 code for Liechtenstein.") - LT = PermissibleValue( - text="LT", - description="Alpha2 code for Lithuania.") - LU = PermissibleValue( - text="LU", - description="Alpha2 code for Luxembourg.") - MO = PermissibleValue( - text="MO", - description="Alpha2 code for Macao.") - MG = PermissibleValue( - text="MG", - description="Alpha2 code for Madagascar.") - MW = PermissibleValue( - text="MW", - description="Alpha2 code for Malawi.") - MY = PermissibleValue( - text="MY", - description="Alpha2 code for Malaysia.") - MV = PermissibleValue( - text="MV", - description="Alpha2 code for Maldives.") - ML = PermissibleValue( - text="ML", - description="Alpha2 code for Mali.") - MT = PermissibleValue( - text="MT", - description="Alpha2 code for Malta.") + text="CC", description="Alpha2 code for Cocos (Keeling) Islands (the)." + ) + CO = PermissibleValue(text="CO", description="Alpha2 code for Colombia.") + KM = PermissibleValue(text="KM", description="Alpha2 code for Comoros (the).") + CG = PermissibleValue(text="CG", description="Alpha2 code for Congo (the).") + HR = PermissibleValue(text="HR", description="Alpha2 code for Croatia.") + CU = PermissibleValue(text="CU", description="Alpha2 code for Cuba.") + KW = PermissibleValue(text="KW", description="Alpha2 code for Kuwait.") + LS = PermissibleValue(text="LS", description="Alpha2 code for Lesotho.") + LV = PermissibleValue(text="LV", description="Alpha2 code for Latvia.") + LB = PermissibleValue(text="LB", description="Alpha2 code for Lebanon.") + LR = PermissibleValue(text="LR", description="Alpha2 code for Liberia.") + LY = PermissibleValue(text="LY", description="Alpha2 code for Libya.") + LI = PermissibleValue(text="LI", description="Alpha2 code for Liechtenstein.") + LT = PermissibleValue(text="LT", description="Alpha2 code for Lithuania.") + LU = PermissibleValue(text="LU", description="Alpha2 code for Luxembourg.") + MO = PermissibleValue(text="MO", description="Alpha2 code for Macao.") + MG = PermissibleValue(text="MG", description="Alpha2 code for Madagascar.") + MW = PermissibleValue(text="MW", description="Alpha2 code for Malawi.") + MY = PermissibleValue(text="MY", description="Alpha2 code for Malaysia.") + MV = PermissibleValue(text="MV", description="Alpha2 code for Maldives.") + ML = PermissibleValue(text="ML", description="Alpha2 code for Mali.") + MT = PermissibleValue(text="MT", description="Alpha2 code for Malta.") MP = PermissibleValue( - text="MP", - description="Alpha2 code for Northern Mariana Islands (the).") - MA = PermissibleValue( - text="MA", - description="Alpha2 code for Morocco.") + text="MP", description="Alpha2 code for Northern Mariana Islands (the)." + ) + MA = PermissibleValue(text="MA", description="Alpha2 code for Morocco.") MH = PermissibleValue( - text="MH", - description="Alpha2 code for Marshall Islands (the).") - MQ = PermissibleValue( - text="MQ", - description="Alpha2 code for Martinique.") - MR = PermissibleValue( - text="MR", - description="Alpha2 code for Mauritania.") - MU = PermissibleValue( - text="MU", - description="Alpha2 code for Mauritius.") - YT = PermissibleValue( - text="YT", - description="Alpha2 code for Mayotte.") - MX = PermissibleValue( - text="MX", - description="Alpha2 code for Mexico.") - MC = PermissibleValue( - text="MC", - description="Alpha2 code for Monaco.") - MN = PermissibleValue( - text="MN", - description="Alpha2 code for Mongolia.") - MS = PermissibleValue( - text="MS", - description="Alpha2 code for Montserrat.") - ME = PermissibleValue( - text="ME", - description="Alpha2 code for Montenegro.") - MZ = PermissibleValue( - text="MZ", - description="Alpha2 code for Mozambique.") - MM = PermissibleValue( - text="MM", - description="Alpha2 code for Myanmar.") - NA = PermissibleValue( - text="NA", - description="Alpha2 code for Namibia.") - NR = PermissibleValue( - text="NR", - description="Alpha2 code for Nauru.") - NP = PermissibleValue( - text="NP", - description="Alpha2 code for Nepal.") - NC = PermissibleValue( - text="NC", - description="Alpha2 code for New Caledonia.") - NZ = PermissibleValue( - text="NZ", - description="Alpha2 code for New Zealand.") - NI = PermissibleValue( - text="NI", - description="Alpha2 code for Nicaragua.") - NL = PermissibleValue( - text="NL", - description="Alpha2 code for Netherlands (the).") - NE = PermissibleValue( - text="NE", - description="Alpha2 code for Niger (the).") - NG = PermissibleValue( - text="NG", - description="Alpha2 code for Nigeria.") - NU = PermissibleValue( - text="NU", - description="Alpha2 code for Niue.") - NF = PermissibleValue( - text="NF", - description="Alpha2 code for Norfolk Island.") - OM = PermissibleValue( - text="OM", - description="Alpha2 code for Oman.") - AT = PermissibleValue( - text="AT", - description="Alpha2 code for Austria.") - PK = PermissibleValue( - text="PK", - description="Alpha2 code for Pakistan.") - PW = PermissibleValue( - text="PW", - description="Alpha2 code for Palau.") - PS = PermissibleValue( - text="PS", - description="Alpha2 code for Palestine, State of.") - PA = PermissibleValue( - text="PA", - description="Alpha2 code for Panama.") - PG = PermissibleValue( - text="PG", - description="Alpha2 code for Papua New Guinea.") - PY = PermissibleValue( - text="PY", - description="Alpha2 code for Paraguay.") - PE = PermissibleValue( - text="PE", - description="Alpha2 code for Peru.") - PH = PermissibleValue( - text="PH", - description="Alpha2 code for Philippines (the).") - PN = PermissibleValue( - text="PN", - description="Alpha2 code for Pitcairn.") + text="MH", description="Alpha2 code for Marshall Islands (the)." + ) + MQ = PermissibleValue(text="MQ", description="Alpha2 code for Martinique.") + MR = PermissibleValue(text="MR", description="Alpha2 code for Mauritania.") + MU = PermissibleValue(text="MU", description="Alpha2 code for Mauritius.") + YT = PermissibleValue(text="YT", description="Alpha2 code for Mayotte.") + MX = PermissibleValue(text="MX", description="Alpha2 code for Mexico.") + MC = PermissibleValue(text="MC", description="Alpha2 code for Monaco.") + MN = PermissibleValue(text="MN", description="Alpha2 code for Mongolia.") + MS = PermissibleValue(text="MS", description="Alpha2 code for Montserrat.") + ME = PermissibleValue(text="ME", description="Alpha2 code for Montenegro.") + MZ = PermissibleValue(text="MZ", description="Alpha2 code for Mozambique.") + MM = PermissibleValue(text="MM", description="Alpha2 code for Myanmar.") + NA = PermissibleValue(text="NA", description="Alpha2 code for Namibia.") + NR = PermissibleValue(text="NR", description="Alpha2 code for Nauru.") + NP = PermissibleValue(text="NP", description="Alpha2 code for Nepal.") + NC = PermissibleValue(text="NC", description="Alpha2 code for New Caledonia.") + NZ = PermissibleValue(text="NZ", description="Alpha2 code for New Zealand.") + NI = PermissibleValue(text="NI", description="Alpha2 code for Nicaragua.") + NL = PermissibleValue(text="NL", description="Alpha2 code for Netherlands (the).") + NE = PermissibleValue(text="NE", description="Alpha2 code for Niger (the).") + NG = PermissibleValue(text="NG", description="Alpha2 code for Nigeria.") + NU = PermissibleValue(text="NU", description="Alpha2 code for Niue.") + NF = PermissibleValue(text="NF", description="Alpha2 code for Norfolk Island.") + OM = PermissibleValue(text="OM", description="Alpha2 code for Oman.") + AT = PermissibleValue(text="AT", description="Alpha2 code for Austria.") + PK = PermissibleValue(text="PK", description="Alpha2 code for Pakistan.") + PW = PermissibleValue(text="PW", description="Alpha2 code for Palau.") + PS = PermissibleValue(text="PS", description="Alpha2 code for Palestine, State of.") + PA = PermissibleValue(text="PA", description="Alpha2 code for Panama.") + PG = PermissibleValue(text="PG", description="Alpha2 code for Papua New Guinea.") + PY = PermissibleValue(text="PY", description="Alpha2 code for Paraguay.") + PE = PermissibleValue(text="PE", description="Alpha2 code for Peru.") + PH = PermissibleValue(text="PH", description="Alpha2 code for Philippines (the).") + PN = PermissibleValue(text="PN", description="Alpha2 code for Pitcairn.") BO = PermissibleValue( - text="BO", - description="Alpha2 code for Bolivia (Plurinational State of).") - PL = PermissibleValue( - text="PL", - description="Alpha2 code for Poland.") - PT = PermissibleValue( - text="PT", - description="Alpha2 code for Portugal.") - PR = PermissibleValue( - text="PR", - description="Alpha2 code for Puerto Rico.") + text="BO", description="Alpha2 code for Bolivia (Plurinational State of)." + ) + PL = PermissibleValue(text="PL", description="Alpha2 code for Poland.") + PT = PermissibleValue(text="PT", description="Alpha2 code for Portugal.") + PR = PermissibleValue(text="PR", description="Alpha2 code for Puerto Rico.") KR = PermissibleValue( - text="KR", - description="Alpha2 code for Korea (the Republic of).") + text="KR", description="Alpha2 code for Korea (the Republic of)." + ) MD = PermissibleValue( - text="MD", - description="Alpha2 code for Moldova (the Republic of).") - RE = PermissibleValue( - text="RE", - description="Alpha2 code for Reunion.") - RW = PermissibleValue( - text="RW", - description="Alpha2 code for Rwanda.") - RO = PermissibleValue( - text="RO", - description="Alpha2 code for Romania.") + text="MD", description="Alpha2 code for Moldova (the Republic of)." + ) + RE = PermissibleValue(text="RE", description="Alpha2 code for Reunion.") + RW = PermissibleValue(text="RW", description="Alpha2 code for Rwanda.") + RO = PermissibleValue(text="RO", description="Alpha2 code for Romania.") RU = PermissibleValue( - text="RU", - description="Alpha2 code for Russian Federation (the).") - SB = PermissibleValue( - text="SB", - description="Alpha2 code for Solomon Islands.") - ZM = PermissibleValue( - text="ZM", - description="Alpha2 code for Zambia.") - WS = PermissibleValue( - text="WS", - description="Alpha2 code for Samoa.") - SM = PermissibleValue( - text="SM", - description="Alpha2 code for San Marino.") + text="RU", description="Alpha2 code for Russian Federation (the)." + ) + SB = PermissibleValue(text="SB", description="Alpha2 code for Solomon Islands.") + ZM = PermissibleValue(text="ZM", description="Alpha2 code for Zambia.") + WS = PermissibleValue(text="WS", description="Alpha2 code for Samoa.") + SM = PermissibleValue(text="SM", description="Alpha2 code for San Marino.") ST = PermissibleValue( - text="ST", - description="Alpha2 code for Sao Tome and Principe.") - SA = PermissibleValue( - text="SA", - description="Alpha2 code for Saudi Arabia.") - SE = PermissibleValue( - text="SE", - description="Alpha2 code for Sweden.") - CH = PermissibleValue( - text="CH", - description="Alpha2 code for Switzerland.") - SN = PermissibleValue( - text="SN", - description="Alpha2 code for Senegal.") - RS = PermissibleValue( - text="RS", - description="Alpha2 code for Serbia.") - SC = PermissibleValue( - text="SC", - description="Alpha2 code for Seychelles.") - SL = PermissibleValue( - text="SL", - description="Alpha2 code for Sierra Leone.") - ZW = PermissibleValue( - text="ZW", - description="Alpha2 code for Zimbabwe.") - SG = PermissibleValue( - text="SG", - description="Alpha2 code for Singapore.") - SK = PermissibleValue( - text="SK", - description="Alpha2 code for Slovakia.") - SI = PermissibleValue( - text="SI", - description="Alpha2 code for Slovenia.") - SO = PermissibleValue( - text="SO", - description="Alpha2 code for Somalia.") - ES = PermissibleValue( - text="ES", - description="Alpha2 code for Spain.") - LK = PermissibleValue( - text="LK", - description="Alpha2 code for Sri Lanka.") - BL = PermissibleValue( - text="BL", - description="Alpha2 code for Saint Barthelemy.") + text="ST", description="Alpha2 code for Sao Tome and Principe." + ) + SA = PermissibleValue(text="SA", description="Alpha2 code for Saudi Arabia.") + SE = PermissibleValue(text="SE", description="Alpha2 code for Sweden.") + CH = PermissibleValue(text="CH", description="Alpha2 code for Switzerland.") + SN = PermissibleValue(text="SN", description="Alpha2 code for Senegal.") + RS = PermissibleValue(text="RS", description="Alpha2 code for Serbia.") + SC = PermissibleValue(text="SC", description="Alpha2 code for Seychelles.") + SL = PermissibleValue(text="SL", description="Alpha2 code for Sierra Leone.") + ZW = PermissibleValue(text="ZW", description="Alpha2 code for Zimbabwe.") + SG = PermissibleValue(text="SG", description="Alpha2 code for Singapore.") + SK = PermissibleValue(text="SK", description="Alpha2 code for Slovakia.") + SI = PermissibleValue(text="SI", description="Alpha2 code for Slovenia.") + SO = PermissibleValue(text="SO", description="Alpha2 code for Somalia.") + ES = PermissibleValue(text="ES", description="Alpha2 code for Spain.") + LK = PermissibleValue(text="LK", description="Alpha2 code for Sri Lanka.") + BL = PermissibleValue(text="BL", description="Alpha2 code for Saint Barthelemy.") SH = PermissibleValue( text="SH", - description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha2 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KN = PermissibleValue( - text="KN", - description="Alpha2 code for Saint Kitts and Nevis.") - LC = PermissibleValue( - text="LC", - description="Alpha2 code for Saint Lucia.") + text="KN", description="Alpha2 code for Saint Kitts and Nevis." + ) + LC = PermissibleValue(text="LC", description="Alpha2 code for Saint Lucia.") MF = PermissibleValue( - text="MF", - description="Alpha2 code for Saint Martin (French part).") + text="MF", description="Alpha2 code for Saint Martin (French part)." + ) SX = PermissibleValue( - text="SX", - description="Alpha2 code for Sint Maarten (Dutch part).") + text="SX", description="Alpha2 code for Sint Maarten (Dutch part)." + ) PM = PermissibleValue( - text="PM", - description="Alpha2 code for Saint Pierre and Miquelon.") + text="PM", description="Alpha2 code for Saint Pierre and Miquelon." + ) VC = PermissibleValue( - text="VC", - description="Alpha2 code for Saint Vincent and the Grenadines.") - ZA = PermissibleValue( - text="ZA", - description="Alpha2 code for South Africa.") - SD = PermissibleValue( - text="SD", - description="Alpha2 code for Sudan (the).") + text="VC", description="Alpha2 code for Saint Vincent and the Grenadines." + ) + ZA = PermissibleValue(text="ZA", description="Alpha2 code for South Africa.") + SD = PermissibleValue(text="SD", description="Alpha2 code for Sudan (the).") GS = PermissibleValue( text="GS", - description="Alpha2 code for South Georgia and the South Sandwich Islands.") - SS = PermissibleValue( - text="SS", - description="Alpha2 code for South Sudan.") - SR = PermissibleValue( - text="SR", - description="Alpha2 code for Suriname.") + description="Alpha2 code for South Georgia and the South Sandwich Islands.", + ) + SS = PermissibleValue(text="SS", description="Alpha2 code for South Sudan.") + SR = PermissibleValue(text="SR", description="Alpha2 code for Suriname.") SJ = PermissibleValue( - text="SJ", - description="Alpha2 code for Svalbard and Jan Mayen.") - SZ = PermissibleValue( - text="SZ", - description="Alpha2 code for Eswatini.") - TJ = PermissibleValue( - text="TJ", - description="Alpha2 code for Tajikistan.") + text="SJ", description="Alpha2 code for Svalbard and Jan Mayen." + ) + SZ = PermissibleValue(text="SZ", description="Alpha2 code for Eswatini.") + TJ = PermissibleValue(text="TJ", description="Alpha2 code for Tajikistan.") TW = PermissibleValue( - text="TW", - description="Alpha2 code for Taiwan (Province of China).") - TH = PermissibleValue( - text="TH", - description="Alpha2 code for Thailand.") - TL = PermissibleValue( - text="TL", - description="Alpha2 code for Timor-Leste.") - TG = PermissibleValue( - text="TG", - description="Alpha2 code for Togo.") - TK = PermissibleValue( - text="TK", - description="Alpha2 code for Tokelau.") - TO = PermissibleValue( - text="TO", - description="Alpha2 code for Tonga.") - TT = PermissibleValue( - text="TT", - description="Alpha2 code for Trinidad and Tobago.") - TD = PermissibleValue( - text="TD", - description="Alpha2 code for Chad.") - CZ = PermissibleValue( - text="CZ", - description="Alpha2 code for Czechia.") - TN = PermissibleValue( - text="TN", - description="Alpha2 code for Tunisia.") - TR = PermissibleValue( - text="TR", - description="Alpha2 code for Turkey.") - TM = PermissibleValue( - text="TM", - description="Alpha2 code for Turkmenistan.") + text="TW", description="Alpha2 code for Taiwan (Province of China)." + ) + TH = PermissibleValue(text="TH", description="Alpha2 code for Thailand.") + TL = PermissibleValue(text="TL", description="Alpha2 code for Timor-Leste.") + TG = PermissibleValue(text="TG", description="Alpha2 code for Togo.") + TK = PermissibleValue(text="TK", description="Alpha2 code for Tokelau.") + TO = PermissibleValue(text="TO", description="Alpha2 code for Tonga.") + TT = PermissibleValue(text="TT", description="Alpha2 code for Trinidad and Tobago.") + TD = PermissibleValue(text="TD", description="Alpha2 code for Chad.") + CZ = PermissibleValue(text="CZ", description="Alpha2 code for Czechia.") + TN = PermissibleValue(text="TN", description="Alpha2 code for Tunisia.") + TR = PermissibleValue(text="TR", description="Alpha2 code for Turkey.") + TM = PermissibleValue(text="TM", description="Alpha2 code for Turkmenistan.") TC = PermissibleValue( - text="TC", - description="Alpha2 code for Turks and Caicos Islands (the).") - TV = PermissibleValue( - text="TV", - description="Alpha2 code for Tuvalu.") - UG = PermissibleValue( - text="UG", - description="Alpha2 code for Uganda.") - UA = PermissibleValue( - text="UA", - description="Alpha2 code for Ukraine.") - HU = PermissibleValue( - text="HU", - description="Alpha2 code for Hungary.") - UY = PermissibleValue( - text="UY", - description="Alpha2 code for Uruguay.") - UZ = PermissibleValue( - text="UZ", - description="Alpha2 code for Uzbekistan.") - VU = PermissibleValue( - text="VU", - description="Alpha2 code for Vanuatu.") - VA = PermissibleValue( - text="VA", - description="Alpha2 code for Holy See (the).") + text="TC", description="Alpha2 code for Turks and Caicos Islands (the)." + ) + TV = PermissibleValue(text="TV", description="Alpha2 code for Tuvalu.") + UG = PermissibleValue(text="UG", description="Alpha2 code for Uganda.") + UA = PermissibleValue(text="UA", description="Alpha2 code for Ukraine.") + HU = PermissibleValue(text="HU", description="Alpha2 code for Hungary.") + UY = PermissibleValue(text="UY", description="Alpha2 code for Uruguay.") + UZ = PermissibleValue(text="UZ", description="Alpha2 code for Uzbekistan.") + VU = PermissibleValue(text="VU", description="Alpha2 code for Vanuatu.") + VA = PermissibleValue(text="VA", description="Alpha2 code for Holy See (the).") AE = PermissibleValue( - text="AE", - description="Alpha2 code for United Arab Emirates (the).") + text="AE", description="Alpha2 code for United Arab Emirates (the)." + ) TZ = PermissibleValue( - text="TZ", - description="Alpha2 code for Tanzania, United Republic of.") + text="TZ", description="Alpha2 code for Tanzania, United Republic of." + ) US = PermissibleValue( - text="US", - description="Alpha2 code for United States of America (the).") + text="US", description="Alpha2 code for United States of America (the)." + ) GB = PermissibleValue( text="GB", - description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).") - VN = PermissibleValue( - text="VN", - description="Alpha2 code for Viet Nam.") - WF = PermissibleValue( - text="WF", - description="Alpha2 code for Wallis and Futuna.") - CX = PermissibleValue( - text="CX", - description="Alpha2 code for Christmas Island.") - BY = PermissibleValue( - text="BY", - description="Alpha2 code for Belarus.") - EH = PermissibleValue( - text="EH", - description="Alpha2 code for Western Sahara.") + description="Alpha2 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) + VN = PermissibleValue(text="VN", description="Alpha2 code for Viet Nam.") + WF = PermissibleValue(text="WF", description="Alpha2 code for Wallis and Futuna.") + CX = PermissibleValue(text="CX", description="Alpha2 code for Christmas Island.") + BY = PermissibleValue(text="BY", description="Alpha2 code for Belarus.") + EH = PermissibleValue(text="EH", description="Alpha2 code for Western Sahara.") CF = PermissibleValue( - text="CF", - description="Alpha2 code for Central African Republic (the).") - CY = PermissibleValue( - text="CY", - description="Alpha2 code for Cyprus.") + text="CF", description="Alpha2 code for Central African Republic (the)." + ) + CY = PermissibleValue(text="CY", description="Alpha2 code for Cyprus.") _defn = EnumDefinition( name="CountryNameAlpha2", @@ -2440,1801 +2393,1781 @@ class CountryNameAlpha2(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "False", - PermissibleValue( - text="False", - description="Alpha2 code for Norway.")) + setattr( + cls, + "False", + PermissibleValue(text="False", description="Alpha2 code for Norway."), + ) -class CountryNameAlpha3(EnumDefinitionImpl): - AFG = PermissibleValue( - text="AFG", - description="Alpha3 code for Afghanistan.") - ALA = PermissibleValue( - text="ALA", - description="Alpha3 code for Aland Islands.") - ALB = PermissibleValue( - text="ALB", - description="Alpha3 code for Albania.") - DZA = PermissibleValue( - text="DZA", - description="Alpha3 code for Algeria.") - ASM = PermissibleValue( - text="ASM", - description="Alpha3 code for American Samoa.") - AND = PermissibleValue( - text="AND", - description="Alpha3 code for Andorra.") - AGO = PermissibleValue( - text="AGO", - description="Alpha3 code for Angola.") - AIA = PermissibleValue( - text="AIA", - description="Alpha3 code for Anguilla.") - ATA = PermissibleValue( - text="ATA", - description="Alpha3 code for Antarctica.") +class CountryNameAlpha3(EnumDefinitionImpl): + AFG = PermissibleValue(text="AFG", description="Alpha3 code for Afghanistan.") + ALA = PermissibleValue(text="ALA", description="Alpha3 code for Aland Islands.") + ALB = PermissibleValue(text="ALB", description="Alpha3 code for Albania.") + DZA = PermissibleValue(text="DZA", description="Alpha3 code for Algeria.") + ASM = PermissibleValue(text="ASM", description="Alpha3 code for American Samoa.") + AND = PermissibleValue(text="AND", description="Alpha3 code for Andorra.") + AGO = PermissibleValue(text="AGO", description="Alpha3 code for Angola.") + AIA = PermissibleValue(text="AIA", description="Alpha3 code for Anguilla.") + ATA = PermissibleValue(text="ATA", description="Alpha3 code for Antarctica.") ATG = PermissibleValue( - text="ATG", - description="Alpha3 code for Antigua and Barbuda.") - ARG = PermissibleValue( - text="ARG", - description="Alpha3 code for Argentina.") - ARM = PermissibleValue( - text="ARM", - description="Alpha3 code for Armenia.") - ABW = PermissibleValue( - text="ABW", - description="Alpha3 code for Aruba.") - AUS = PermissibleValue( - text="AUS", - description="Alpha3 code for Australia.") - AUT = PermissibleValue( - text="AUT", - description="Alpha3 code for Austria.") - AZE = PermissibleValue( - text="AZE", - description="Alpha3 code for Azerbaijan.") - BHS = PermissibleValue( - text="BHS", - description="Alpha3 code for Bahamas (the).") - BHR = PermissibleValue( - text="BHR", - description="Alpha3 code for Bahrain.") - BGD = PermissibleValue( - text="BGD", - description="Alpha3 code for Bangladesh.") - BRB = PermissibleValue( - text="BRB", - description="Alpha3 code for Barbados.") - BLR = PermissibleValue( - text="BLR", - description="Alpha3 code for Belarus.") - BEL = PermissibleValue( - text="BEL", - description="Alpha3 code for Belgium.") - BLZ = PermissibleValue( - text="BLZ", - description="Alpha3 code for Belize.") - BEN = PermissibleValue( - text="BEN", - description="Alpha3 code for Benin.") - BMU = PermissibleValue( - text="BMU", - description="Alpha3 code for Bermuda.") - BTN = PermissibleValue( - text="BTN", - description="Alpha3 code for Bhutan.") + text="ATG", description="Alpha3 code for Antigua and Barbuda." + ) + ARG = PermissibleValue(text="ARG", description="Alpha3 code for Argentina.") + ARM = PermissibleValue(text="ARM", description="Alpha3 code for Armenia.") + ABW = PermissibleValue(text="ABW", description="Alpha3 code for Aruba.") + AUS = PermissibleValue(text="AUS", description="Alpha3 code for Australia.") + AUT = PermissibleValue(text="AUT", description="Alpha3 code for Austria.") + AZE = PermissibleValue(text="AZE", description="Alpha3 code for Azerbaijan.") + BHS = PermissibleValue(text="BHS", description="Alpha3 code for Bahamas (the).") + BHR = PermissibleValue(text="BHR", description="Alpha3 code for Bahrain.") + BGD = PermissibleValue(text="BGD", description="Alpha3 code for Bangladesh.") + BRB = PermissibleValue(text="BRB", description="Alpha3 code for Barbados.") + BLR = PermissibleValue(text="BLR", description="Alpha3 code for Belarus.") + BEL = PermissibleValue(text="BEL", description="Alpha3 code for Belgium.") + BLZ = PermissibleValue(text="BLZ", description="Alpha3 code for Belize.") + BEN = PermissibleValue(text="BEN", description="Alpha3 code for Benin.") + BMU = PermissibleValue(text="BMU", description="Alpha3 code for Bermuda.") + BTN = PermissibleValue(text="BTN", description="Alpha3 code for Bhutan.") BOL = PermissibleValue( - text="BOL", - description="Alpha3 code for Bolivia (Plurinational State of).") + text="BOL", description="Alpha3 code for Bolivia (Plurinational State of)." + ) BES = PermissibleValue( - text="BES", - description="Alpha3 code for Bonaire, Sint Eustatius and Saba.") + text="BES", description="Alpha3 code for Bonaire, Sint Eustatius and Saba." + ) BIH = PermissibleValue( - text="BIH", - description="Alpha3 code for Bosnia and Herzegovina.") - BWA = PermissibleValue( - text="BWA", - description="Alpha3 code for Botswana.") - BVT = PermissibleValue( - text="BVT", - description="Alpha3 code for Bouvet Island.") - BRA = PermissibleValue( - text="BRA", - description="Alpha3 code for Brazil.") + text="BIH", description="Alpha3 code for Bosnia and Herzegovina." + ) + BWA = PermissibleValue(text="BWA", description="Alpha3 code for Botswana.") + BVT = PermissibleValue(text="BVT", description="Alpha3 code for Bouvet Island.") + BRA = PermissibleValue(text="BRA", description="Alpha3 code for Brazil.") IOT = PermissibleValue( - text="IOT", - description="Alpha3 code for British Indian Ocean Territory (the).") - BRN = PermissibleValue( - text="BRN", - description="Alpha3 code for Brunei Darussalam.") - BGR = PermissibleValue( - text="BGR", - description="Alpha3 code for Bulgaria.") - BFA = PermissibleValue( - text="BFA", - description="Alpha3 code for Burkina Faso.") - BDI = PermissibleValue( - text="BDI", - description="Alpha3 code for Burundi.") - KHM = PermissibleValue( - text="KHM", - description="Alpha3 code for Cambodia.") - CMR = PermissibleValue( - text="CMR", - description="Alpha3 code for Cameroon.") - CAN = PermissibleValue( - text="CAN", - description="Alpha3 code for Canada.") - CPV = PermissibleValue( - text="CPV", - description="Alpha3 code for Cabo Verde.") + text="IOT", description="Alpha3 code for British Indian Ocean Territory (the)." + ) + BRN = PermissibleValue(text="BRN", description="Alpha3 code for Brunei Darussalam.") + BGR = PermissibleValue(text="BGR", description="Alpha3 code for Bulgaria.") + BFA = PermissibleValue(text="BFA", description="Alpha3 code for Burkina Faso.") + BDI = PermissibleValue(text="BDI", description="Alpha3 code for Burundi.") + KHM = PermissibleValue(text="KHM", description="Alpha3 code for Cambodia.") + CMR = PermissibleValue(text="CMR", description="Alpha3 code for Cameroon.") + CAN = PermissibleValue(text="CAN", description="Alpha3 code for Canada.") + CPV = PermissibleValue(text="CPV", description="Alpha3 code for Cabo Verde.") CYM = PermissibleValue( - text="CYM", - description="Alpha3 code for Cayman Islands (the).") + text="CYM", description="Alpha3 code for Cayman Islands (the)." + ) CAF = PermissibleValue( - text="CAF", - description="Alpha3 code for Central African Republic (the).") - TCD = PermissibleValue( - text="TCD", - description="Alpha3 code for Chad.") - CHL = PermissibleValue( - text="CHL", - description="Alpha3 code for Chile.") - CHN = PermissibleValue( - text="CHN", - description="Alpha3 code for China.") - CXR = PermissibleValue( - text="CXR", - description="Alpha3 code for Christmas Island.") + text="CAF", description="Alpha3 code for Central African Republic (the)." + ) + TCD = PermissibleValue(text="TCD", description="Alpha3 code for Chad.") + CHL = PermissibleValue(text="CHL", description="Alpha3 code for Chile.") + CHN = PermissibleValue(text="CHN", description="Alpha3 code for China.") + CXR = PermissibleValue(text="CXR", description="Alpha3 code for Christmas Island.") CCK = PermissibleValue( - text="CCK", - description="Alpha3 code for Cocos (Keeling) Islands (the).") - COL = PermissibleValue( - text="COL", - description="Alpha3 code for Colombia.") - COM = PermissibleValue( - text="COM", - description="Alpha3 code for Comoros (the).") - COG = PermissibleValue( - text="COG", - description="Alpha3 code for Congo (the).") + text="CCK", description="Alpha3 code for Cocos (Keeling) Islands (the)." + ) + COL = PermissibleValue(text="COL", description="Alpha3 code for Colombia.") + COM = PermissibleValue(text="COM", description="Alpha3 code for Comoros (the).") + COG = PermissibleValue(text="COG", description="Alpha3 code for Congo (the).") COD = PermissibleValue( text="COD", - description="Alpha3 code for Congo (the Democratic Republic of the).") + description="Alpha3 code for Congo (the Democratic Republic of the).", + ) COK = PermissibleValue( - text="COK", - description="Alpha3 code for Cook Islands (the).") - CRI = PermissibleValue( - text="CRI", - description="Alpha3 code for Costa Rica.") - CIV = PermissibleValue( - text="CIV", - description="Alpha3 code for Cote dIvoire.") - HRV = PermissibleValue( - text="HRV", - description="Alpha3 code for Croatia.") - CUB = PermissibleValue( - text="CUB", - description="Alpha3 code for Cuba.") - CUW = PermissibleValue( - text="CUW", - description="Alpha3 code for Curacao.") - CYP = PermissibleValue( - text="CYP", - description="Alpha3 code for Cyprus.") - CZE = PermissibleValue( - text="CZE", - description="Alpha3 code for Czechia.") - DNK = PermissibleValue( - text="DNK", - description="Alpha3 code for Denmark.") - DJI = PermissibleValue( - text="DJI", - description="Alpha3 code for Djibouti.") - DMA = PermissibleValue( - text="DMA", - description="Alpha3 code for Dominica.") + text="COK", description="Alpha3 code for Cook Islands (the)." + ) + CRI = PermissibleValue(text="CRI", description="Alpha3 code for Costa Rica.") + CIV = PermissibleValue(text="CIV", description="Alpha3 code for Cote dIvoire.") + HRV = PermissibleValue(text="HRV", description="Alpha3 code for Croatia.") + CUB = PermissibleValue(text="CUB", description="Alpha3 code for Cuba.") + CUW = PermissibleValue(text="CUW", description="Alpha3 code for Curacao.") + CYP = PermissibleValue(text="CYP", description="Alpha3 code for Cyprus.") + CZE = PermissibleValue(text="CZE", description="Alpha3 code for Czechia.") + DNK = PermissibleValue(text="DNK", description="Alpha3 code for Denmark.") + DJI = PermissibleValue(text="DJI", description="Alpha3 code for Djibouti.") + DMA = PermissibleValue(text="DMA", description="Alpha3 code for Dominica.") DOM = PermissibleValue( - text="DOM", - description="Alpha3 code for Dominican Republic (the).") - ECU = PermissibleValue( - text="ECU", - description="Alpha3 code for Ecuador.") - EGY = PermissibleValue( - text="EGY", - description="Alpha3 code for Egypt.") - SLV = PermissibleValue( - text="SLV", - description="Alpha3 code for El Salvador.") - GNQ = PermissibleValue( - text="GNQ", - description="Alpha3 code for Equatorial Guinea.") - ERI = PermissibleValue( - text="ERI", - description="Alpha3 code for Eritrea.") - EST = PermissibleValue( - text="EST", - description="Alpha3 code for Estonia.") - ETH = PermissibleValue( - text="ETH", - description="Alpha3 code for Ethiopia.") + text="DOM", description="Alpha3 code for Dominican Republic (the)." + ) + ECU = PermissibleValue(text="ECU", description="Alpha3 code for Ecuador.") + EGY = PermissibleValue(text="EGY", description="Alpha3 code for Egypt.") + SLV = PermissibleValue(text="SLV", description="Alpha3 code for El Salvador.") + GNQ = PermissibleValue(text="GNQ", description="Alpha3 code for Equatorial Guinea.") + ERI = PermissibleValue(text="ERI", description="Alpha3 code for Eritrea.") + EST = PermissibleValue(text="EST", description="Alpha3 code for Estonia.") + ETH = PermissibleValue(text="ETH", description="Alpha3 code for Ethiopia.") FLK = PermissibleValue( - text="FLK", - description="Alpha3 code for Falkland Islands (the) [Malvinas].") + text="FLK", description="Alpha3 code for Falkland Islands (the) [Malvinas]." + ) FRO = PermissibleValue( - text="FRO", - description="Alpha3 code for Faroe Islands (the).") - FJI = PermissibleValue( - text="FJI", - description="Alpha3 code for Fiji.") - FIN = PermissibleValue( - text="FIN", - description="Alpha3 code for Finland.") - FRA = PermissibleValue( - text="FRA", - description="Alpha3 code for France.") - GUF = PermissibleValue( - text="GUF", - description="Alpha3 code for French Guiana.") - PYF = PermissibleValue( - text="PYF", - description="Alpha3 code for French Polynesia.") + text="FRO", description="Alpha3 code for Faroe Islands (the)." + ) + FJI = PermissibleValue(text="FJI", description="Alpha3 code for Fiji.") + FIN = PermissibleValue(text="FIN", description="Alpha3 code for Finland.") + FRA = PermissibleValue(text="FRA", description="Alpha3 code for France.") + GUF = PermissibleValue(text="GUF", description="Alpha3 code for French Guiana.") + PYF = PermissibleValue(text="PYF", description="Alpha3 code for French Polynesia.") ATF = PermissibleValue( - text="ATF", - description="Alpha3 code for French Southern Territories (the).") - GAB = PermissibleValue( - text="GAB", - description="Alpha3 code for Gabon.") - GMB = PermissibleValue( - text="GMB", - description="Alpha3 code for Gambia (the).") - GEO = PermissibleValue( - text="GEO", - description="Alpha3 code for Georgia.") - DEU = PermissibleValue( - text="DEU", - description="Alpha3 code for Germany.") - GHA = PermissibleValue( - text="GHA", - description="Alpha3 code for Ghana.") - GIB = PermissibleValue( - text="GIB", - description="Alpha3 code for Gibraltar.") - GRC = PermissibleValue( - text="GRC", - description="Alpha3 code for Greece.") - GRL = PermissibleValue( - text="GRL", - description="Alpha3 code for Greenland.") - GRD = PermissibleValue( - text="GRD", - description="Alpha3 code for Grenada.") - GLP = PermissibleValue( - text="GLP", - description="Alpha3 code for Guadeloupe.") - GUM = PermissibleValue( - text="GUM", - description="Alpha3 code for Guam.") - GTM = PermissibleValue( - text="GTM", - description="Alpha3 code for Guatemala.") - GGY = PermissibleValue( - text="GGY", - description="Alpha3 code for Guernsey.") - GIN = PermissibleValue( - text="GIN", - description="Alpha3 code for Guinea.") - GNB = PermissibleValue( - text="GNB", - description="Alpha3 code for Guinea-Bissau.") - GUY = PermissibleValue( - text="GUY", - description="Alpha3 code for Guyana.") - HTI = PermissibleValue( - text="HTI", - description="Alpha3 code for Haiti.") + text="ATF", description="Alpha3 code for French Southern Territories (the)." + ) + GAB = PermissibleValue(text="GAB", description="Alpha3 code for Gabon.") + GMB = PermissibleValue(text="GMB", description="Alpha3 code for Gambia (the).") + GEO = PermissibleValue(text="GEO", description="Alpha3 code for Georgia.") + DEU = PermissibleValue(text="DEU", description="Alpha3 code for Germany.") + GHA = PermissibleValue(text="GHA", description="Alpha3 code for Ghana.") + GIB = PermissibleValue(text="GIB", description="Alpha3 code for Gibraltar.") + GRC = PermissibleValue(text="GRC", description="Alpha3 code for Greece.") + GRL = PermissibleValue(text="GRL", description="Alpha3 code for Greenland.") + GRD = PermissibleValue(text="GRD", description="Alpha3 code for Grenada.") + GLP = PermissibleValue(text="GLP", description="Alpha3 code for Guadeloupe.") + GUM = PermissibleValue(text="GUM", description="Alpha3 code for Guam.") + GTM = PermissibleValue(text="GTM", description="Alpha3 code for Guatemala.") + GGY = PermissibleValue(text="GGY", description="Alpha3 code for Guernsey.") + GIN = PermissibleValue(text="GIN", description="Alpha3 code for Guinea.") + GNB = PermissibleValue(text="GNB", description="Alpha3 code for Guinea-Bissau.") + GUY = PermissibleValue(text="GUY", description="Alpha3 code for Guyana.") + HTI = PermissibleValue(text="HTI", description="Alpha3 code for Haiti.") HMD = PermissibleValue( - text="HMD", - description="Alpha3 code for Heard Island and McDonald Islands.") - VAT = PermissibleValue( - text="VAT", - description="Alpha3 code for Holy See (the).") - HND = PermissibleValue( - text="HND", - description="Alpha3 code for Honduras.") - HKG = PermissibleValue( - text="HKG", - description="Alpha3 code for Hong Kong.") - HUN = PermissibleValue( - text="HUN", - description="Alpha3 code for Hungary.") - ISL = PermissibleValue( - text="ISL", - description="Alpha3 code for Iceland.") - IND = PermissibleValue( - text="IND", - description="Alpha3 code for India.") - IDN = PermissibleValue( - text="IDN", - description="Alpha3 code for Indonesia.") + text="HMD", description="Alpha3 code for Heard Island and McDonald Islands." + ) + VAT = PermissibleValue(text="VAT", description="Alpha3 code for Holy See (the).") + HND = PermissibleValue(text="HND", description="Alpha3 code for Honduras.") + HKG = PermissibleValue(text="HKG", description="Alpha3 code for Hong Kong.") + HUN = PermissibleValue(text="HUN", description="Alpha3 code for Hungary.") + ISL = PermissibleValue(text="ISL", description="Alpha3 code for Iceland.") + IND = PermissibleValue(text="IND", description="Alpha3 code for India.") + IDN = PermissibleValue(text="IDN", description="Alpha3 code for Indonesia.") IRN = PermissibleValue( - text="IRN", - description="Alpha3 code for Iran (Islamic Republic of).") - IRQ = PermissibleValue( - text="IRQ", - description="Alpha3 code for Iraq.") - IRL = PermissibleValue( - text="IRL", - description="Alpha3 code for Ireland.") - IMN = PermissibleValue( - text="IMN", - description="Alpha3 code for Isle of Man.") - ISR = PermissibleValue( - text="ISR", - description="Alpha3 code for Israel.") - ITA = PermissibleValue( - text="ITA", - description="Alpha3 code for Italy.") - JAM = PermissibleValue( - text="JAM", - description="Alpha3 code for Jamaica.") - JPN = PermissibleValue( - text="JPN", - description="Alpha3 code for Japan.") - JEY = PermissibleValue( - text="JEY", - description="Alpha3 code for Jersey.") - JOR = PermissibleValue( - text="JOR", - description="Alpha3 code for Jordan.") - KAZ = PermissibleValue( - text="KAZ", - description="Alpha3 code for Kazakhstan.") - KEN = PermissibleValue( - text="KEN", - description="Alpha3 code for Kenya.") - KIR = PermissibleValue( - text="KIR", - description="Alpha3 code for Kiribati.") + text="IRN", description="Alpha3 code for Iran (Islamic Republic of)." + ) + IRQ = PermissibleValue(text="IRQ", description="Alpha3 code for Iraq.") + IRL = PermissibleValue(text="IRL", description="Alpha3 code for Ireland.") + IMN = PermissibleValue(text="IMN", description="Alpha3 code for Isle of Man.") + ISR = PermissibleValue(text="ISR", description="Alpha3 code for Israel.") + ITA = PermissibleValue(text="ITA", description="Alpha3 code for Italy.") + JAM = PermissibleValue(text="JAM", description="Alpha3 code for Jamaica.") + JPN = PermissibleValue(text="JPN", description="Alpha3 code for Japan.") + JEY = PermissibleValue(text="JEY", description="Alpha3 code for Jersey.") + JOR = PermissibleValue(text="JOR", description="Alpha3 code for Jordan.") + KAZ = PermissibleValue(text="KAZ", description="Alpha3 code for Kazakhstan.") + KEN = PermissibleValue(text="KEN", description="Alpha3 code for Kenya.") + KIR = PermissibleValue(text="KIR", description="Alpha3 code for Kiribati.") PRK = PermissibleValue( text="PRK", - description="Alpha3 code for Korea (the Democratic Peoples Republic of).") + description="Alpha3 code for Korea (the Democratic Peoples Republic of).", + ) KOR = PermissibleValue( - text="KOR", - description="Alpha3 code for Korea (the Republic of).") - KWT = PermissibleValue( - text="KWT", - description="Alpha3 code for Kuwait.") - KGZ = PermissibleValue( - text="KGZ", - description="Alpha3 code for Kyrgyzstan.") + text="KOR", description="Alpha3 code for Korea (the Republic of)." + ) + KWT = PermissibleValue(text="KWT", description="Alpha3 code for Kuwait.") + KGZ = PermissibleValue(text="KGZ", description="Alpha3 code for Kyrgyzstan.") LAO = PermissibleValue( - text="LAO", - description="Alpha3 code for Lao Peoples Democratic Republic (the).") - LVA = PermissibleValue( - text="LVA", - description="Alpha3 code for Latvia.") - LBN = PermissibleValue( - text="LBN", - description="Alpha3 code for Lebanon.") - LSO = PermissibleValue( - text="LSO", - description="Alpha3 code for Lesotho.") - LBR = PermissibleValue( - text="LBR", - description="Alpha3 code for Liberia.") - LBY = PermissibleValue( - text="LBY", - description="Alpha3 code for Libya.") - LIE = PermissibleValue( - text="LIE", - description="Alpha3 code for Liechtenstein.") - LTU = PermissibleValue( - text="LTU", - description="Alpha3 code for Lithuania.") - LUX = PermissibleValue( - text="LUX", - description="Alpha3 code for Luxembourg.") - MAC = PermissibleValue( - text="MAC", - description="Alpha3 code for Macao.") + text="LAO", description="Alpha3 code for Lao Peoples Democratic Republic (the)." + ) + LVA = PermissibleValue(text="LVA", description="Alpha3 code for Latvia.") + LBN = PermissibleValue(text="LBN", description="Alpha3 code for Lebanon.") + LSO = PermissibleValue(text="LSO", description="Alpha3 code for Lesotho.") + LBR = PermissibleValue(text="LBR", description="Alpha3 code for Liberia.") + LBY = PermissibleValue(text="LBY", description="Alpha3 code for Libya.") + LIE = PermissibleValue(text="LIE", description="Alpha3 code for Liechtenstein.") + LTU = PermissibleValue(text="LTU", description="Alpha3 code for Lithuania.") + LUX = PermissibleValue(text="LUX", description="Alpha3 code for Luxembourg.") + MAC = PermissibleValue(text="MAC", description="Alpha3 code for Macao.") MKD = PermissibleValue( - text="MKD", - description="Alpha3 code for Republic of North Macedonia.") - MDG = PermissibleValue( - text="MDG", - description="Alpha3 code for Madagascar.") - MWI = PermissibleValue( - text="MWI", - description="Alpha3 code for Malawi.") - MYS = PermissibleValue( - text="MYS", - description="Alpha3 code for Malaysia.") - MDV = PermissibleValue( - text="MDV", - description="Alpha3 code for Maldives.") - MLI = PermissibleValue( - text="MLI", - description="Alpha3 code for Mali.") - MLT = PermissibleValue( - text="MLT", - description="Alpha3 code for Malta.") + text="MKD", description="Alpha3 code for Republic of North Macedonia." + ) + MDG = PermissibleValue(text="MDG", description="Alpha3 code for Madagascar.") + MWI = PermissibleValue(text="MWI", description="Alpha3 code for Malawi.") + MYS = PermissibleValue(text="MYS", description="Alpha3 code for Malaysia.") + MDV = PermissibleValue(text="MDV", description="Alpha3 code for Maldives.") + MLI = PermissibleValue(text="MLI", description="Alpha3 code for Mali.") + MLT = PermissibleValue(text="MLT", description="Alpha3 code for Malta.") MHL = PermissibleValue( - text="MHL", - description="Alpha3 code for Marshall Islands (the).") - MTQ = PermissibleValue( - text="MTQ", - description="Alpha3 code for Martinique.") - MRT = PermissibleValue( - text="MRT", - description="Alpha3 code for Mauritania.") - MUS = PermissibleValue( - text="MUS", - description="Alpha3 code for Mauritius.") - MYT = PermissibleValue( - text="MYT", - description="Alpha3 code for Mayotte.") - MEX = PermissibleValue( - text="MEX", - description="Alpha3 code for Mexico.") + text="MHL", description="Alpha3 code for Marshall Islands (the)." + ) + MTQ = PermissibleValue(text="MTQ", description="Alpha3 code for Martinique.") + MRT = PermissibleValue(text="MRT", description="Alpha3 code for Mauritania.") + MUS = PermissibleValue(text="MUS", description="Alpha3 code for Mauritius.") + MYT = PermissibleValue(text="MYT", description="Alpha3 code for Mayotte.") + MEX = PermissibleValue(text="MEX", description="Alpha3 code for Mexico.") FSM = PermissibleValue( - text="FSM", - description="Alpha3 code for Micronesia (Federated States of).") + text="FSM", description="Alpha3 code for Micronesia (Federated States of)." + ) MDA = PermissibleValue( - text="MDA", - description="Alpha3 code for Moldova (the Republic of).") - MCO = PermissibleValue( - text="MCO", - description="Alpha3 code for Monaco.") - MNG = PermissibleValue( - text="MNG", - description="Alpha3 code for Mongolia.") - MNE = PermissibleValue( - text="MNE", - description="Alpha3 code for Montenegro.") - MSR = PermissibleValue( - text="MSR", - description="Alpha3 code for Montserrat.") - MAR = PermissibleValue( - text="MAR", - description="Alpha3 code for Morocco.") - MOZ = PermissibleValue( - text="MOZ", - description="Alpha3 code for Mozambique.") - MMR = PermissibleValue( - text="MMR", - description="Alpha3 code for Myanmar.") - NAM = PermissibleValue( - text="NAM", - description="Alpha3 code for Namibia.") - NRU = PermissibleValue( - text="NRU", - description="Alpha3 code for Nauru.") - NPL = PermissibleValue( - text="NPL", - description="Alpha3 code for Nepal.") - NLD = PermissibleValue( - text="NLD", - description="Alpha3 code for Netherlands (the).") - NCL = PermissibleValue( - text="NCL", - description="Alpha3 code for New Caledonia.") - NZL = PermissibleValue( - text="NZL", - description="Alpha3 code for New Zealand.") - NIC = PermissibleValue( - text="NIC", - description="Alpha3 code for Nicaragua.") - NER = PermissibleValue( - text="NER", - description="Alpha3 code for Niger (the).") - NGA = PermissibleValue( - text="NGA", - description="Alpha3 code for Nigeria.") - NIU = PermissibleValue( - text="NIU", - description="Alpha3 code for Niue.") - NFK = PermissibleValue( - text="NFK", - description="Alpha3 code for Norfolk Island.") + text="MDA", description="Alpha3 code for Moldova (the Republic of)." + ) + MCO = PermissibleValue(text="MCO", description="Alpha3 code for Monaco.") + MNG = PermissibleValue(text="MNG", description="Alpha3 code for Mongolia.") + MNE = PermissibleValue(text="MNE", description="Alpha3 code for Montenegro.") + MSR = PermissibleValue(text="MSR", description="Alpha3 code for Montserrat.") + MAR = PermissibleValue(text="MAR", description="Alpha3 code for Morocco.") + MOZ = PermissibleValue(text="MOZ", description="Alpha3 code for Mozambique.") + MMR = PermissibleValue(text="MMR", description="Alpha3 code for Myanmar.") + NAM = PermissibleValue(text="NAM", description="Alpha3 code for Namibia.") + NRU = PermissibleValue(text="NRU", description="Alpha3 code for Nauru.") + NPL = PermissibleValue(text="NPL", description="Alpha3 code for Nepal.") + NLD = PermissibleValue(text="NLD", description="Alpha3 code for Netherlands (the).") + NCL = PermissibleValue(text="NCL", description="Alpha3 code for New Caledonia.") + NZL = PermissibleValue(text="NZL", description="Alpha3 code for New Zealand.") + NIC = PermissibleValue(text="NIC", description="Alpha3 code for Nicaragua.") + NER = PermissibleValue(text="NER", description="Alpha3 code for Niger (the).") + NGA = PermissibleValue(text="NGA", description="Alpha3 code for Nigeria.") + NIU = PermissibleValue(text="NIU", description="Alpha3 code for Niue.") + NFK = PermissibleValue(text="NFK", description="Alpha3 code for Norfolk Island.") MNP = PermissibleValue( - text="MNP", - description="Alpha3 code for Northern Mariana Islands (the).") - NOR = PermissibleValue( - text="NOR", - description="Alpha3 code for Norway.") - OMN = PermissibleValue( - text="OMN", - description="Alpha3 code for Oman.") - PAK = PermissibleValue( - text="PAK", - description="Alpha3 code for Pakistan.") - PLW = PermissibleValue( - text="PLW", - description="Alpha3 code for Palau.") + text="MNP", description="Alpha3 code for Northern Mariana Islands (the)." + ) + NOR = PermissibleValue(text="NOR", description="Alpha3 code for Norway.") + OMN = PermissibleValue(text="OMN", description="Alpha3 code for Oman.") + PAK = PermissibleValue(text="PAK", description="Alpha3 code for Pakistan.") + PLW = PermissibleValue(text="PLW", description="Alpha3 code for Palau.") PSE = PermissibleValue( - text="PSE", - description="Alpha3 code for Palestine, State of.") - PAN = PermissibleValue( - text="PAN", - description="Alpha3 code for Panama.") - PNG = PermissibleValue( - text="PNG", - description="Alpha3 code for Papua New Guinea.") - PRY = PermissibleValue( - text="PRY", - description="Alpha3 code for Paraguay.") - PER = PermissibleValue( - text="PER", - description="Alpha3 code for Peru.") - PHL = PermissibleValue( - text="PHL", - description="Alpha3 code for Philippines (the).") - PCN = PermissibleValue( - text="PCN", - description="Alpha3 code forPitcairn.") - POL = PermissibleValue( - text="POL", - description="Alpha3 code for Poland.") - PRT = PermissibleValue( - text="PRT", - description="Alpha3 code for Portugal.") - PRI = PermissibleValue( - text="PRI", - description="Alpha3 code for Puerto Rico.") - QAT = PermissibleValue( - text="QAT", - description="Alpha3 code for Qatar.") - SRB = PermissibleValue( - text="SRB", - description="Alpha3 code for Serbia.") - REU = PermissibleValue( - text="REU", - description="Alpha3 code for Reunion.") - ROU = PermissibleValue( - text="ROU", - description="Alpha3 code for Romania.") + text="PSE", description="Alpha3 code for Palestine, State of." + ) + PAN = PermissibleValue(text="PAN", description="Alpha3 code for Panama.") + PNG = PermissibleValue(text="PNG", description="Alpha3 code for Papua New Guinea.") + PRY = PermissibleValue(text="PRY", description="Alpha3 code for Paraguay.") + PER = PermissibleValue(text="PER", description="Alpha3 code for Peru.") + PHL = PermissibleValue(text="PHL", description="Alpha3 code for Philippines (the).") + PCN = PermissibleValue(text="PCN", description="Alpha3 code forPitcairn.") + POL = PermissibleValue(text="POL", description="Alpha3 code for Poland.") + PRT = PermissibleValue(text="PRT", description="Alpha3 code for Portugal.") + PRI = PermissibleValue(text="PRI", description="Alpha3 code for Puerto Rico.") + QAT = PermissibleValue(text="QAT", description="Alpha3 code for Qatar.") + SRB = PermissibleValue(text="SRB", description="Alpha3 code for Serbia.") + REU = PermissibleValue(text="REU", description="Alpha3 code for Reunion.") + ROU = PermissibleValue(text="ROU", description="Alpha3 code for Romania.") RUS = PermissibleValue( - text="RUS", - description="Alpha3 code for Russian Federation (the).") - RWA = PermissibleValue( - text="RWA", - description="Alpha3 code for Rwanda.") - BLM = PermissibleValue( - text="BLM", - description="Alpha3 code for Saint Barthelemy.") + text="RUS", description="Alpha3 code for Russian Federation (the)." + ) + RWA = PermissibleValue(text="RWA", description="Alpha3 code for Rwanda.") + BLM = PermissibleValue(text="BLM", description="Alpha3 code for Saint Barthelemy.") SHN = PermissibleValue( text="SHN", - description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.") + description="Alpha3 code for Saint Helena, Ascension and Tristan da Cunha.", + ) KNA = PermissibleValue( - text="KNA", - description="Alpha3 code for Saint Kitts and Nevis.") - LCA = PermissibleValue( - text="LCA", - description="Alpha3 code for Saint Lucia.") + text="KNA", description="Alpha3 code for Saint Kitts and Nevis." + ) + LCA = PermissibleValue(text="LCA", description="Alpha3 code for Saint Lucia.") MAF = PermissibleValue( - text="MAF", - description="Alpha3 code for Saint Martin (French part).") + text="MAF", description="Alpha3 code for Saint Martin (French part)." + ) SPM = PermissibleValue( - text="SPM", - description="Alpha3 code for Saint Pierre and Miquelon.") + text="SPM", description="Alpha3 code for Saint Pierre and Miquelon." + ) VCT = PermissibleValue( - text="VCT", - description="Alpha3 code for Saint Vincent and the Grenadines.") - WSM = PermissibleValue( - text="WSM", - description="Alpha3 code for Samoa.") - SMR = PermissibleValue( - text="SMR", - description="Alpha3 code for San Marino.") + text="VCT", description="Alpha3 code for Saint Vincent and the Grenadines." + ) + WSM = PermissibleValue(text="WSM", description="Alpha3 code for Samoa.") + SMR = PermissibleValue(text="SMR", description="Alpha3 code for San Marino.") STP = PermissibleValue( - text="STP", - description="Alpha3 code for Sao Tome and Principe.") - SAU = PermissibleValue( - text="SAU", - description="Alpha3 code for Saudi Arabia.") - SEN = PermissibleValue( - text="SEN", - description="Alpha3 code for Senegal.") - SYC = PermissibleValue( - text="SYC", - description="Alpha3 code for Seychelles.") - SLE = PermissibleValue( - text="SLE", - description="Alpha3 code for Sierra Leone.") - SGP = PermissibleValue( - text="SGP", - description="Alpha3 code for Singapore.") + text="STP", description="Alpha3 code for Sao Tome and Principe." + ) + SAU = PermissibleValue(text="SAU", description="Alpha3 code for Saudi Arabia.") + SEN = PermissibleValue(text="SEN", description="Alpha3 code for Senegal.") + SYC = PermissibleValue(text="SYC", description="Alpha3 code for Seychelles.") + SLE = PermissibleValue(text="SLE", description="Alpha3 code for Sierra Leone.") + SGP = PermissibleValue(text="SGP", description="Alpha3 code for Singapore.") SXM = PermissibleValue( - text="SXM", - description="Alpha3 code for Sint Maarten (Dutch part).") - SVK = PermissibleValue( - text="SVK", - description="Alpha3 code for Slovakia.") - SVN = PermissibleValue( - text="SVN", - description="Alpha3 code for Slovenia.") - SLB = PermissibleValue( - text="SLB", - description="Alpha3 code for Solomon Islands.") - SOM = PermissibleValue( - text="SOM", - description="Alpha3 code for Somalia.") - ZAF = PermissibleValue( - text="ZAF", - description="Alpha3 code for South Africa.") + text="SXM", description="Alpha3 code for Sint Maarten (Dutch part)." + ) + SVK = PermissibleValue(text="SVK", description="Alpha3 code for Slovakia.") + SVN = PermissibleValue(text="SVN", description="Alpha3 code for Slovenia.") + SLB = PermissibleValue(text="SLB", description="Alpha3 code for Solomon Islands.") + SOM = PermissibleValue(text="SOM", description="Alpha3 code for Somalia.") + ZAF = PermissibleValue(text="ZAF", description="Alpha3 code for South Africa.") SGS = PermissibleValue( text="SGS", - description="Alpha3 code for South Georgia and the South Sandwich Islands.") - SSD = PermissibleValue( - text="SSD", - description="Alpha3 code for South Sudan.") - ESP = PermissibleValue( - text="ESP", - description="Alpha3 code for Spain.") - LKA = PermissibleValue( - text="LKA", - description="Alpha3 code for Sri Lanka.") - SDN = PermissibleValue( - text="SDN", - description="Alpha3 code for Sudan (the).") - SUR = PermissibleValue( - text="SUR", - description="Alpha3 code for Suriname.") + description="Alpha3 code for South Georgia and the South Sandwich Islands.", + ) + SSD = PermissibleValue(text="SSD", description="Alpha3 code for South Sudan.") + ESP = PermissibleValue(text="ESP", description="Alpha3 code for Spain.") + LKA = PermissibleValue(text="LKA", description="Alpha3 code for Sri Lanka.") + SDN = PermissibleValue(text="SDN", description="Alpha3 code for Sudan (the).") + SUR = PermissibleValue(text="SUR", description="Alpha3 code for Suriname.") SJM = PermissibleValue( - text="SJM", - description="Alpha3 code for Svalbard and Jan Mayen.") - SWZ = PermissibleValue( - text="SWZ", - description="Alpha3 code for Eswatini.") - SWE = PermissibleValue( - text="SWE", - description="Alpha3 code for Sweden.") - CHE = PermissibleValue( - text="CHE", - description="Alpha3 code for Switzerland.") + text="SJM", description="Alpha3 code for Svalbard and Jan Mayen." + ) + SWZ = PermissibleValue(text="SWZ", description="Alpha3 code for Eswatini.") + SWE = PermissibleValue(text="SWE", description="Alpha3 code for Sweden.") + CHE = PermissibleValue(text="CHE", description="Alpha3 code for Switzerland.") SYR = PermissibleValue( - text="SYR", - description="Alpha3 code for Syrian Arab Republic.") + text="SYR", description="Alpha3 code for Syrian Arab Republic." + ) TWN = PermissibleValue( - text="TWN", - description="Alpha3 code for Taiwan (Province of China).") - TJK = PermissibleValue( - text="TJK", - description="Alpha3 code for Tajikistan.") + text="TWN", description="Alpha3 code for Taiwan (Province of China)." + ) + TJK = PermissibleValue(text="TJK", description="Alpha3 code for Tajikistan.") TZA = PermissibleValue( - text="TZA", - description="Alpha3 code for Tanzania, United Republic of.") - THA = PermissibleValue( - text="THA", - description="Alpha3 code for Thailand.") - TLS = PermissibleValue( - text="TLS", - description="Alpha3 code for Timor-Leste.") - TGO = PermissibleValue( - text="TGO", - description="Alpha3 code for Togo.") - TKL = PermissibleValue( - text="TKL", - description="Alpha3 code for Tokelau.") - TON = PermissibleValue( - text="TON", - description="Alpha3 code for Tonga.") + text="TZA", description="Alpha3 code for Tanzania, United Republic of." + ) + THA = PermissibleValue(text="THA", description="Alpha3 code for Thailand.") + TLS = PermissibleValue(text="TLS", description="Alpha3 code for Timor-Leste.") + TGO = PermissibleValue(text="TGO", description="Alpha3 code for Togo.") + TKL = PermissibleValue(text="TKL", description="Alpha3 code for Tokelau.") + TON = PermissibleValue(text="TON", description="Alpha3 code for Tonga.") TTO = PermissibleValue( - text="TTO", - description="Alpha3 code for Trinidad and Tobago.") - TUN = PermissibleValue( - text="TUN", - description="Alpha3 code for Tunisia.") - TUR = PermissibleValue( - text="TUR", - description="Alpha3 code for Turkey.") + text="TTO", description="Alpha3 code for Trinidad and Tobago." + ) + TUN = PermissibleValue(text="TUN", description="Alpha3 code for Tunisia.") + TUR = PermissibleValue(text="TUR", description="Alpha3 code for Turkey.") XTX = PermissibleValue( - text="XTX", - description="Alpha3 code for Turkish Republic of northern Cyprus.") - TKM = PermissibleValue( - text="TKM", - description="Alpha3 code for Turkmenistan.") + text="XTX", description="Alpha3 code for Turkish Republic of northern Cyprus." + ) + TKM = PermissibleValue(text="TKM", description="Alpha3 code for Turkmenistan.") TCA = PermissibleValue( - text="TCA", - description="Alpha3 code for Turks and Caicos Islands (the).") - TUV = PermissibleValue( - text="TUV", - description="Alpha3 code for Tuvalu.") - UGA = PermissibleValue( - text="UGA", - description="Alpha3 code for Uganda.") - UKR = PermissibleValue( - text="UKR", - description="Alpha3 code for Ukraine.") + text="TCA", description="Alpha3 code for Turks and Caicos Islands (the)." + ) + TUV = PermissibleValue(text="TUV", description="Alpha3 code for Tuvalu.") + UGA = PermissibleValue(text="UGA", description="Alpha3 code for Uganda.") + UKR = PermissibleValue(text="UKR", description="Alpha3 code for Ukraine.") ARE = PermissibleValue( - text="ARE", - description="Alpha3 code for United Arab Emirates (the).") + text="ARE", description="Alpha3 code for United Arab Emirates (the)." + ) GBR = PermissibleValue( text="GBR", - description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).") + description="Alpha3 code for United Kingdom of Great Britain and Northern Ireland (the).", + ) USA = PermissibleValue( - text="USA", - description="Alpha3 code for United States of America (the).") + text="USA", description="Alpha3 code for United States of America (the)." + ) UMI = PermissibleValue( text="UMI", - description="Alpha3 code for United States Minor Outlying Islands (the).") - URY = PermissibleValue( - text="URY", - description="Alpha3 code for Uruguay.") - UZB = PermissibleValue( - text="UZB", - description="Alpha3 code for Uzbekistan.") - VUT = PermissibleValue( - text="VUT", - description="Alpha3 code for Vanuatu.") + description="Alpha3 code for United States Minor Outlying Islands (the).", + ) + URY = PermissibleValue(text="URY", description="Alpha3 code for Uruguay.") + UZB = PermissibleValue(text="UZB", description="Alpha3 code for Uzbekistan.") + VUT = PermissibleValue(text="VUT", description="Alpha3 code for Vanuatu.") VEN = PermissibleValue( - text="VEN", - description="Alpha3 code for Venezuela (Bolivarian Republic of).") - VNM = PermissibleValue( - text="VNM", - description="Alpha3 code for Viet Nam.") + text="VEN", description="Alpha3 code for Venezuela (Bolivarian Republic of)." + ) + VNM = PermissibleValue(text="VNM", description="Alpha3 code for Viet Nam.") VGB = PermissibleValue( - text="VGB", - description="Alpha3 code for Virgin Islands (British).") + text="VGB", description="Alpha3 code for Virgin Islands (British)." + ) VIR = PermissibleValue( - text="VIR", - description="Alpha3 code for Virgin Islands (U.S.).") - WLF = PermissibleValue( - text="WLF", - description="Alpha3 code for Wallis and Futuna.") - ESH = PermissibleValue( - text="ESH", - description="Alpha3 code for Western Sahara.") - YEM = PermissibleValue( - text="YEM", - description="Alpha3 code for Yemen.") - ZMB = PermissibleValue( - text="ZMB", - description="Alpha3 code for Zambia.") - ZWE = PermissibleValue( - text="ZWE", - description="Alpha3 code for Zimbabwe.") - XKX = PermissibleValue( - text="XKX", - description="Alpha3 code for Kosovo.") + text="VIR", description="Alpha3 code for Virgin Islands (U.S.)." + ) + WLF = PermissibleValue(text="WLF", description="Alpha3 code for Wallis and Futuna.") + ESH = PermissibleValue(text="ESH", description="Alpha3 code for Western Sahara.") + YEM = PermissibleValue(text="YEM", description="Alpha3 code for Yemen.") + ZMB = PermissibleValue(text="ZMB", description="Alpha3 code for Zambia.") + ZWE = PermissibleValue(text="ZWE", description="Alpha3 code for Zimbabwe.") + XKX = PermissibleValue(text="XKX", description="Alpha3 code for Kosovo.") _defn = EnumDefinition( name="CountryNameAlpha3", ) -class CountryNameNumeric(EnumDefinitionImpl): +class CountryNameNumeric(EnumDefinitionImpl): _defn = EnumDefinition( name="CountryNameNumeric", ) @classmethod def _addvals(cls): - setattr(cls, "4", - PermissibleValue( - text="4", - description="Numeric code for Afghanistan.")) - setattr(cls, "818", - PermissibleValue( - text="818", - description="Numeric code for Egypt.")) - setattr(cls, "248", - PermissibleValue( - text="248", - description="Numeric code for Aland Islands.")) - setattr(cls, "008", - PermissibleValue( - text="008", - description="Numeric code for Albania.")) - setattr(cls, "10", - PermissibleValue( - text="10", - description="Numeric code for Algeria.")) - setattr(cls, "850", - PermissibleValue( - text="850", - description="Numeric code for Virgin Islands (U.S.).")) - setattr(cls, "581", + setattr( + cls, + "4", + PermissibleValue(text="4", description="Numeric code for Afghanistan."), + ) + setattr( + cls, + "818", + PermissibleValue(text="818", description="Numeric code for Egypt."), + ) + setattr( + cls, + "248", + PermissibleValue(text="248", description="Numeric code for Aland Islands."), + ) + setattr( + cls, + "008", + PermissibleValue(text="008", description="Numeric code for Albania."), + ) + setattr( + cls, + "10", + PermissibleValue(text="10", description="Numeric code for Algeria."), + ) + setattr( + cls, + "850", + PermissibleValue( + text="850", description="Numeric code for Virgin Islands (U.S.)." + ), + ) + setattr( + cls, + "581", PermissibleValue( text="581", - description="Numeric code for United States Minor Outlying Islands (the).")) - setattr(cls, "14", - PermissibleValue( - text="14", - description="Numeric code for American Samoa.")) - setattr(cls, "16", - PermissibleValue( - text="16", - description="Numeric code for Andorra.")) - setattr(cls, "20", - PermissibleValue( - text="20", - description="Numeric code for Angola.")) - setattr(cls, "660", - PermissibleValue( - text="660", - description="Numeric code for Anguilla.")) - setattr(cls, "8", - PermissibleValue( - text="8", - description="Numeric code for Antarctica.")) - setattr(cls, "028", - PermissibleValue( - text="028", - description="Numeric code for Antigua and Barbuda.")) - setattr(cls, "226", - PermissibleValue( - text="226", - description="Numeric code for Equatorial Guinea.")) - setattr(cls, "760", - PermissibleValue( - text="760", - description="Numeric code for Syrian Arab Republic.")) - setattr(cls, "26", - PermissibleValue( - text="26", - description="Numeric code for Argentina.")) - setattr(cls, "41", - PermissibleValue( - text="41", - description="Numeric code for Armenia.")) - setattr(cls, "231", - PermissibleValue( - text="231", - description="Numeric code for Ethiopia.")) - setattr(cls, "30", - PermissibleValue( - text="30", - description="Numeric code for Australia.")) - setattr(cls, "36", - PermissibleValue( - text="36", - description="Numeric code for Bahamas (the).")) - setattr(cls, "048", - PermissibleValue( - text="048", - description="Numeric code for Bahrain.")) - setattr(cls, "40", - PermissibleValue( - text="40", - description="Numeric code for Bangladesh.")) - setattr(cls, "42", - PermissibleValue( - text="42", - description="Numeric code for Barbados.")) - setattr(cls, "46", - PermissibleValue( - text="46", - description="Numeric code forBelgium.")) - setattr(cls, "084", - PermissibleValue( - text="084", - description="Numeric code for Belize.")) - setattr(cls, "204", - PermissibleValue( - text="204", - description="Numeric code for Benin.")) - setattr(cls, "48", - PermissibleValue( - text="48", - description="Numeric code for Bermuda.")) - setattr(cls, "52", - PermissibleValue( - text="52", - description="Numeric code for Bhutan.")) - setattr(cls, "58", - PermissibleValue( - text="58", - description="Numeric code for Botswana.")) - setattr(cls, "60", - PermissibleValue( - text="60", - description="Numeric code for Bouvet Island.")) - setattr(cls, "62", - PermissibleValue( - text="62", - description="Numeric code for Brazil.")) - setattr(cls, "092", - PermissibleValue( - text="092", - description="Numeric code for Virgin Islands (British).")) - setattr(cls, "086", + description="Numeric code for United States Minor Outlying Islands (the).", + ), + ) + setattr( + cls, + "14", + PermissibleValue(text="14", description="Numeric code for American Samoa."), + ) + setattr( + cls, + "16", + PermissibleValue(text="16", description="Numeric code for Andorra."), + ) + setattr( + cls, + "20", + PermissibleValue(text="20", description="Numeric code for Angola."), + ) + setattr( + cls, + "660", + PermissibleValue(text="660", description="Numeric code for Anguilla."), + ) + setattr( + cls, + "8", + PermissibleValue(text="8", description="Numeric code for Antarctica."), + ) + setattr( + cls, + "028", + PermissibleValue( + text="028", description="Numeric code for Antigua and Barbuda." + ), + ) + setattr( + cls, + "226", + PermissibleValue( + text="226", description="Numeric code for Equatorial Guinea." + ), + ) + setattr( + cls, + "760", + PermissibleValue( + text="760", description="Numeric code for Syrian Arab Republic." + ), + ) + setattr( + cls, + "26", + PermissibleValue(text="26", description="Numeric code for Argentina."), + ) + setattr( + cls, + "41", + PermissibleValue(text="41", description="Numeric code for Armenia."), + ) + setattr( + cls, + "231", + PermissibleValue(text="231", description="Numeric code for Ethiopia."), + ) + setattr( + cls, + "30", + PermissibleValue(text="30", description="Numeric code for Australia."), + ) + setattr( + cls, + "36", + PermissibleValue(text="36", description="Numeric code for Bahamas (the)."), + ) + setattr( + cls, + "048", + PermissibleValue(text="048", description="Numeric code for Bahrain."), + ) + setattr( + cls, + "40", + PermissibleValue(text="40", description="Numeric code for Bangladesh."), + ) + setattr( + cls, + "42", + PermissibleValue(text="42", description="Numeric code for Barbados."), + ) + setattr( + cls, + "46", + PermissibleValue(text="46", description="Numeric code forBelgium."), + ) + setattr( + cls, + "084", + PermissibleValue(text="084", description="Numeric code for Belize."), + ) + setattr( + cls, + "204", + PermissibleValue(text="204", description="Numeric code for Benin."), + ) + setattr( + cls, + "48", + PermissibleValue(text="48", description="Numeric code for Bermuda."), + ) + setattr( + cls, + "52", + PermissibleValue(text="52", description="Numeric code for Bhutan."), + ) + setattr( + cls, + "58", + PermissibleValue(text="58", description="Numeric code for Botswana."), + ) + setattr( + cls, + "60", + PermissibleValue(text="60", description="Numeric code for Bouvet Island."), + ) + setattr( + cls, + "62", + PermissibleValue(text="62", description="Numeric code for Brazil."), + ) + setattr( + cls, + "092", + PermissibleValue( + text="092", description="Numeric code for Virgin Islands (British)." + ), + ) + setattr( + cls, + "086", PermissibleValue( text="086", - description="Numeric code for British Indian Ocean Territory (the).")) - setattr(cls, "854", - PermissibleValue( - text="854", - description="Numeric code for Burkina Faso.")) - setattr(cls, "108", - PermissibleValue( - text="108", - description="Numeric code for Burundi.")) - setattr(cls, "132", - PermissibleValue( - text="132", - description="Numeric code for Cabo Verde.")) - setattr(cls, "152", - PermissibleValue( - text="152", - description="Numeric code for Chile.")) - setattr(cls, "156", - PermissibleValue( - text="156", - description="Numeric code for China.")) - setattr(cls, "184", - PermissibleValue( - text="184", - description="Numeric code for Cook Islands (the).")) - setattr(cls, "188", - PermissibleValue( - text="188", - description="Numeric code for Costa Rica.")) - setattr(cls, "384", - PermissibleValue( - text="384", - description="Numeric code for Cote dIvoire.")) - setattr(cls, "531", - PermissibleValue( - text="531", - description="Numeric code for Curacao.")) - setattr(cls, "208", - PermissibleValue( - text="208", - description="Numeric code for Denmark.")) - setattr(cls, "180", + description="Numeric code for British Indian Ocean Territory (the).", + ), + ) + setattr( + cls, + "854", + PermissibleValue(text="854", description="Numeric code for Burkina Faso."), + ) + setattr( + cls, + "108", + PermissibleValue(text="108", description="Numeric code for Burundi."), + ) + setattr( + cls, + "132", + PermissibleValue(text="132", description="Numeric code for Cabo Verde."), + ) + setattr( + cls, + "152", + PermissibleValue(text="152", description="Numeric code for Chile."), + ) + setattr( + cls, + "156", + PermissibleValue(text="156", description="Numeric code for China."), + ) + setattr( + cls, + "184", + PermissibleValue( + text="184", description="Numeric code for Cook Islands (the)." + ), + ) + setattr( + cls, + "188", + PermissibleValue(text="188", description="Numeric code for Costa Rica."), + ) + setattr( + cls, + "384", + PermissibleValue(text="384", description="Numeric code for Cote dIvoire."), + ) + setattr( + cls, + "531", + PermissibleValue(text="531", description="Numeric code for Curacao."), + ) + setattr( + cls, + "208", + PermissibleValue(text="208", description="Numeric code for Denmark."), + ) + setattr( + cls, + "180", PermissibleValue( text="180", - description="Numeric code for Congo (the Democratic Republic of the).")) - setattr(cls, "408", + description="Numeric code for Congo (the Democratic Republic of the).", + ), + ) + setattr( + cls, + "408", PermissibleValue( text="408", - description="Numeric code for Korea (the Democratic Peoples Republic of).")) - setattr(cls, "418", + description="Numeric code for Korea (the Democratic Peoples Republic of).", + ), + ) + setattr( + cls, + "418", PermissibleValue( text="418", - description="Numeric code for Lao Peoples Democratic Republic (the).")) - setattr(cls, "276", - PermissibleValue( - text="276", - description="Numeric code for Germany.")) - setattr(cls, "212", - PermissibleValue( - text="212", - description="Numeric code for Dominica.")) - setattr(cls, "214", - PermissibleValue( - text="214", - description="Numeric code for Dominican Republic (the).")) - setattr(cls, "262", - PermissibleValue( - text="262", - description="Numeric code for Djibouti.")) - setattr(cls, "218", - PermissibleValue( - text="218", - description="Numeric code for Ecuador.")) - setattr(cls, "807", - PermissibleValue( - text="807", - description="Numeric code for Republic of North Macedonia.")) - setattr(cls, "222", - PermissibleValue( - text="222", - description="Numeric code for El Salvador.")) - setattr(cls, "232", - PermissibleValue( - text="232", - description="Numeric code for Eritrea.")) - setattr(cls, "233", - PermissibleValue( - text="233", - description="Numeric code for Estonia.")) - setattr(cls, "238", + description="Numeric code for Lao Peoples Democratic Republic (the).", + ), + ) + setattr( + cls, + "276", + PermissibleValue(text="276", description="Numeric code for Germany."), + ) + setattr( + cls, + "212", + PermissibleValue(text="212", description="Numeric code for Dominica."), + ) + setattr( + cls, + "214", + PermissibleValue( + text="214", description="Numeric code for Dominican Republic (the)." + ), + ) + setattr( + cls, + "262", + PermissibleValue(text="262", description="Numeric code for Djibouti."), + ) + setattr( + cls, + "218", + PermissibleValue(text="218", description="Numeric code for Ecuador."), + ) + setattr( + cls, + "807", + PermissibleValue( + text="807", description="Numeric code for Republic of North Macedonia." + ), + ) + setattr( + cls, + "222", + PermissibleValue(text="222", description="Numeric code for El Salvador."), + ) + setattr( + cls, + "232", + PermissibleValue(text="232", description="Numeric code for Eritrea."), + ) + setattr( + cls, + "233", + PermissibleValue(text="233", description="Numeric code for Estonia."), + ) + setattr( + cls, + "238", PermissibleValue( text="238", - description="Numeric code for Falkland Islands (the) [Malvinas].")) - setattr(cls, "234", - PermissibleValue( - text="234", - description="Numeric code for Faroe Islands (the).")) - setattr(cls, "242", - PermissibleValue( - text="242", - description="Numeric code for Fiji.")) - setattr(cls, "246", - PermissibleValue( - text="246", - description="Numeric code for Finland.")) - setattr(cls, "583", + description="Numeric code for Falkland Islands (the) [Malvinas].", + ), + ) + setattr( + cls, + "234", + PermissibleValue( + text="234", description="Numeric code for Faroe Islands (the)." + ), + ) + setattr( + cls, + "242", + PermissibleValue(text="242", description="Numeric code for Fiji."), + ) + setattr( + cls, + "246", + PermissibleValue(text="246", description="Numeric code for Finland."), + ) + setattr( + cls, + "583", PermissibleValue( text="583", - description="Numeric code for Micronesia (Federated States of).")) - setattr(cls, "250", - PermissibleValue( - text="250", - description="Numeric code for France.")) - setattr(cls, "260", + description="Numeric code for Micronesia (Federated States of).", + ), + ) + setattr( + cls, + "250", + PermissibleValue(text="250", description="Numeric code for France."), + ) + setattr( + cls, + "260", PermissibleValue( text="260", - description="Numeric code for French Southern Territories (the).")) - setattr(cls, "254", - PermissibleValue( - text="254", - description="Numeric code for French Guiana.")) - setattr(cls, "258", - PermissibleValue( - text="258", - description="Numeric code for French Polynesia.")) - setattr(cls, "266", - PermissibleValue( - text="266", - description="Numeric code for Gabon.")) - setattr(cls, "270", - PermissibleValue( - text="270", - description="Numeric code for Gambia (the).")) - setattr(cls, "268", - PermissibleValue( - text="268", - description="Numeric code for Georgia.")) - setattr(cls, "288", - PermissibleValue( - text="288", - description="Numeric code for Ghana.")) - setattr(cls, "292", - PermissibleValue( - text="292", - description="Numeric code for Gibraltar.")) - setattr(cls, "308", - PermissibleValue( - text="308", - description="Numeric code for Grenada.")) - setattr(cls, "300", - PermissibleValue( - text="300", - description="Numeric code for Greece.")) - setattr(cls, "304", - PermissibleValue( - text="304", - description="Numeric code for Greenland.")) - setattr(cls, "312", - PermissibleValue( - text="312", - description="Numeric code for Guadeloupe.")) - setattr(cls, "316", - PermissibleValue( - text="316", - description="Numeric code for Guam.")) - setattr(cls, "320", - PermissibleValue( - text="320", - description="Numeric code for Guatemala.")) - setattr(cls, "831", - PermissibleValue( - text="831", - description="Numeric code for Guernsey.")) - setattr(cls, "324", - PermissibleValue( - text="324", - description="Numeric code for Guinea.")) - setattr(cls, "624", - PermissibleValue( - text="624", - description="Numeric code for Guinea-Bissau.")) - setattr(cls, "328", - PermissibleValue( - text="328", - description="Numeric code for Guyana.")) - setattr(cls, "332", - PermissibleValue( - text="332", - description="Numeric code for Haiti.")) - setattr(cls, "334", + description="Numeric code for French Southern Territories (the).", + ), + ) + setattr( + cls, + "254", + PermissibleValue(text="254", description="Numeric code for French Guiana."), + ) + setattr( + cls, + "258", + PermissibleValue( + text="258", description="Numeric code for French Polynesia." + ), + ) + setattr( + cls, + "266", + PermissibleValue(text="266", description="Numeric code for Gabon."), + ) + setattr( + cls, + "270", + PermissibleValue(text="270", description="Numeric code for Gambia (the)."), + ) + setattr( + cls, + "268", + PermissibleValue(text="268", description="Numeric code for Georgia."), + ) + setattr( + cls, + "288", + PermissibleValue(text="288", description="Numeric code for Ghana."), + ) + setattr( + cls, + "292", + PermissibleValue(text="292", description="Numeric code for Gibraltar."), + ) + setattr( + cls, + "308", + PermissibleValue(text="308", description="Numeric code for Grenada."), + ) + setattr( + cls, + "300", + PermissibleValue(text="300", description="Numeric code for Greece."), + ) + setattr( + cls, + "304", + PermissibleValue(text="304", description="Numeric code for Greenland."), + ) + setattr( + cls, + "312", + PermissibleValue(text="312", description="Numeric code for Guadeloupe."), + ) + setattr( + cls, + "316", + PermissibleValue(text="316", description="Numeric code for Guam."), + ) + setattr( + cls, + "320", + PermissibleValue(text="320", description="Numeric code for Guatemala."), + ) + setattr( + cls, + "831", + PermissibleValue(text="831", description="Numeric code for Guernsey."), + ) + setattr( + cls, + "324", + PermissibleValue(text="324", description="Numeric code for Guinea."), + ) + setattr( + cls, + "624", + PermissibleValue(text="624", description="Numeric code for Guinea-Bissau."), + ) + setattr( + cls, + "328", + PermissibleValue(text="328", description="Numeric code for Guyana."), + ) + setattr( + cls, + "332", + PermissibleValue(text="332", description="Numeric code for Haiti."), + ) + setattr( + cls, + "334", PermissibleValue( text="334", - description="Numeric code for Heard Island and McDonald Islands.")) - setattr(cls, "340", - PermissibleValue( - text="340", - description="Numeric code for Honduras.")) - setattr(cls, "344", - PermissibleValue( - text="344", - description="Numeric code for Hong Kong.")) - setattr(cls, "356", - PermissibleValue( - text="356", - description="Numeric code for India.")) - setattr(cls, "360", + description="Numeric code for Heard Island and McDonald Islands.", + ), + ) + setattr( + cls, + "340", + PermissibleValue(text="340", description="Numeric code for Honduras."), + ) + setattr( + cls, + "344", + PermissibleValue(text="344", description="Numeric code for Hong Kong."), + ) + setattr( + cls, + "356", + PermissibleValue(text="356", description="Numeric code for India."), + ) + setattr( + cls, + "360", + PermissibleValue(text="360", description="Numeric code for Indonesia."), + ) + setattr( + cls, + "833", + PermissibleValue(text="833", description="Numeric code for Isle of Man."), + ) + setattr( + cls, + "368", + PermissibleValue(text="368", description="Numeric code for Iraq."), + ) + setattr( + cls, + "372", + PermissibleValue(text="372", description="Numeric code for Ireland."), + ) + setattr( + cls, + "364", + PermissibleValue( + text="364", description="Numeric code for Iran (Islamic Republic of)." + ), + ) + setattr( + cls, + "352", + PermissibleValue(text="352", description="Numeric code for Iceland."), + ) + setattr( + cls, + "376", + PermissibleValue(text="376", description="Numeric code for Israel."), + ) + setattr( + cls, + "380", + PermissibleValue(text="380", description="Numeric code for Italy."), + ) + setattr( + cls, + "388", + PermissibleValue(text="388", description="Numeric code for Jamaica."), + ) + setattr( + cls, + "392", + PermissibleValue(text="392", description="Numeric code for Japan."), + ) + setattr( + cls, + "887", + PermissibleValue(text="887", description="Numeric code for Yemen."), + ) + setattr( + cls, + "832", + PermissibleValue(text="832", description="Numeric code for Jersey."), + ) + setattr( + cls, + "400", + PermissibleValue(text="400", description="Numeric code for Jordan."), + ) + setattr( + cls, + "136", + PermissibleValue( + text="136", description="Numeric code for Cayman Islands (the)." + ), + ) + setattr( + cls, + "116", + PermissibleValue(text="116", description="Numeric code for Cambodia."), + ) + setattr( + cls, + "120", + PermissibleValue(text="120", description="Numeric code for Cameroon."), + ) + setattr( + cls, + "124", + PermissibleValue(text="124", description="Numeric code for Canada."), + ) + setattr( + cls, + "398", + PermissibleValue(text="398", description="Numeric code for Kazakhstan."), + ) + setattr( + cls, + "634", + PermissibleValue(text="634", description="Numeric code for Qatar."), + ) + setattr( + cls, + "404", + PermissibleValue(text="404", description="Numeric code for Kenya."), + ) + setattr( + cls, + "417", + PermissibleValue(text="417", description="Numeric code for Kyrgyzstan."), + ) + setattr( + cls, + "296", + PermissibleValue(text="296", description="Numeric code for Kiribati."), + ) + setattr( + cls, + "166", PermissibleValue( - text="360", - description="Numeric code for Indonesia.")) - setattr(cls, "833", - PermissibleValue( - text="833", - description="Numeric code for Isle of Man.")) - setattr(cls, "368", - PermissibleValue( - text="368", - description="Numeric code for Iraq.")) - setattr(cls, "372", + text="166", + description="Numeric code for Cocos (Keeling) Islands (the).", + ), + ) + setattr( + cls, + "170", + PermissibleValue(text="170", description="Numeric code for Colombia."), + ) + setattr( + cls, + "174", + PermissibleValue(text="174", description="Numeric code for Comoros (the)."), + ) + setattr( + cls, + "178", + PermissibleValue(text="178", description="Numeric code for Congo (the)."), + ) + setattr( + cls, + "191", + PermissibleValue(text="191", description="Numeric code for Croatia."), + ) + setattr( + cls, + "192", + PermissibleValue(text="192", description="Numeric code for Cuba."), + ) + setattr( + cls, + "414", + PermissibleValue(text="414", description="Numeric code for Kuwait."), + ) + setattr( + cls, + "426", + PermissibleValue(text="426", description="Numeric code for Lesotho."), + ) + setattr( + cls, + "428", + PermissibleValue(text="428", description="Numeric code for Latvia."), + ) + setattr( + cls, + "422", + PermissibleValue(text="422", description="Numeric code for Lebanon."), + ) + setattr( + cls, + "430", + PermissibleValue(text="430", description="Numeric code for Liberia."), + ) + setattr( + cls, + "434", + PermissibleValue(text="434", description="Numeric code for Libya."), + ) + setattr( + cls, + "438", + PermissibleValue(text="438", description="Numeric code for Liechtenstein."), + ) + setattr( + cls, + "440", + PermissibleValue(text="440", description="Numeric code for Lithuania."), + ) + setattr( + cls, + "442", + PermissibleValue(text="442", description="Numeric code for Luxembourg."), + ) + setattr( + cls, + "446", + PermissibleValue(text="446", description="Numeric code for Macao."), + ) + setattr( + cls, + "450", + PermissibleValue(text="450", description="Numeric code for Madagascar."), + ) + setattr( + cls, + "454", + PermissibleValue(text="454", description="Numeric code for Malawi."), + ) + setattr( + cls, + "458", + PermissibleValue(text="458", description="Numeric code for Malaysia."), + ) + setattr( + cls, + "462", + PermissibleValue(text="462", description="Numeric code for Maldives."), + ) + setattr( + cls, + "466", + PermissibleValue(text="466", description="Numeric code for Mali."), + ) + setattr( + cls, + "470", + PermissibleValue(text="470", description="Numeric code for Malta ."), + ) + setattr( + cls, + "580", PermissibleValue( - text="372", - description="Numeric code for Ireland.")) - setattr(cls, "364", + text="580", + description="Numeric code for Northern Mariana Islands (the).", + ), + ) + setattr( + cls, + "504", + PermissibleValue(text="504", description="Numeric code for Morocco."), + ) + setattr( + cls, + "584", + PermissibleValue( + text="584", description="Numeric code for Marshall Islands (the)." + ), + ) + setattr( + cls, + "474", + PermissibleValue(text="474", description="Numeric code for Martinique."), + ) + setattr( + cls, + "478", + PermissibleValue(text="478", description="Numeric code for Mauritania."), + ) + setattr( + cls, + "480", + PermissibleValue(text="480", description="Numeric code for Mauritius."), + ) + setattr( + cls, + "175", + PermissibleValue(text="175", description="Numeric code for Mayotte."), + ) + setattr( + cls, + "484", + PermissibleValue(text="484", description="Numeric code for Mexico."), + ) + setattr( + cls, + "492", + PermissibleValue(text="492", description="Numeric code for Monaco."), + ) + setattr( + cls, + "496", + PermissibleValue(text="496", description="Numeric code for Mongolia."), + ) + setattr( + cls, + "500", + PermissibleValue(text="500", description="Numeric code for Montserrat."), + ) + setattr( + cls, + "499", + PermissibleValue(text="499", description="Numeric code for Montenegro."), + ) + setattr( + cls, + "508", + PermissibleValue(text="508", description="Numeric code for Mozambique."), + ) + setattr( + cls, + "104", + PermissibleValue(text="104", description="Numeric code for Myanmar."), + ) + setattr( + cls, + "516", + PermissibleValue(text="516", description="Numeric code for Namibia."), + ) + setattr( + cls, + "520", + PermissibleValue(text="520", description="Numeric code for Nauru."), + ) + setattr( + cls, + "524", + PermissibleValue(text="524", description="Numeric code for Nepal."), + ) + setattr( + cls, + "540", + PermissibleValue(text="540", description="Numeric code for New Caledonia."), + ) + setattr( + cls, + "554", + PermissibleValue(text="554", description="Numeric code for New Zealand."), + ) + setattr( + cls, + "558", + PermissibleValue(text="558", description="Numeric code for Nicaragua."), + ) + setattr( + cls, + "528", + PermissibleValue( + text="528", description="Numeric code for Netherlands (the)." + ), + ) + setattr( + cls, + "562", + PermissibleValue(text="562", description="Numeric code for Niger (the)."), + ) + setattr( + cls, + "566", + PermissibleValue(text="566", description="Numeric code for Nigeria."), + ) + setattr( + cls, + "570", + PermissibleValue(text="570", description="Numeric code for Niue."), + ) + setattr( + cls, + "574", + PermissibleValue( + text="574", description="Numeric code for Norfolk Island." + ), + ) + setattr( + cls, + "578", + PermissibleValue(text="578", description="Numeric code for Norway."), + ) + setattr( + cls, + "512", + PermissibleValue(text="512", description="Numeric code for Oman."), + ) + setattr( + cls, + "32", + PermissibleValue(text="32", description="Numeric code for Austria."), + ) + setattr( + cls, + "586", + PermissibleValue(text="586", description="Numeric code for Pakistan."), + ) + setattr( + cls, + "585", + PermissibleValue(text="585", description="Numeric code for Palau."), + ) + setattr( + cls, + "275", + PermissibleValue( + text="275", description="Numeric code for Palestine, State of." + ), + ) + setattr( + cls, + "591", + PermissibleValue(text="591", description="Numeric code for Panama."), + ) + setattr( + cls, + "598", + PermissibleValue( + text="598", description="Numeric code for Papua New Guinea." + ), + ) + setattr( + cls, + "600", + PermissibleValue(text="600", description="Numeric code for Paraguay."), + ) + setattr( + cls, + "604", + PermissibleValue(text="604", description="Numeric code for Peru."), + ) + setattr( + cls, + "608", + PermissibleValue( + text="608", description="Numeric code for Philippines (the)." + ), + ) + setattr( + cls, + "612", + PermissibleValue(text="612", description="Numeric code for Pitcairn."), + ) + setattr( + cls, + "068", PermissibleValue( - text="364", - description="Numeric code for Iran (Islamic Republic of).")) - setattr(cls, "352", + text="068", + description="Numeric code for Bolivia (Plurinational State of).", + ), + ) + setattr( + cls, + "616", + PermissibleValue(text="616", description="Numeric code for Poland."), + ) + setattr( + cls, + "620", + PermissibleValue(text="620", description="Numeric code for Portugal."), + ) + setattr( + cls, + "630", + PermissibleValue(text="630", description="Numeric code for Puerto Rico."), + ) + setattr( + cls, + "410", + PermissibleValue( + text="410", description="Numeric code for Korea (the Republic of)." + ), + ) + setattr( + cls, + "498", + PermissibleValue( + text="498", description="Numeric code for Moldova (the Republic of)." + ), + ) + setattr( + cls, + "638", + PermissibleValue(text="638", description="Numeric code for Reunion."), + ) + setattr( + cls, + "646", + PermissibleValue(text="646", description="Numeric code for Rwanda."), + ) + setattr( + cls, + "642", + PermissibleValue(text="642", description="Numeric code for Romania."), + ) + setattr( + cls, + "643", + PermissibleValue( + text="643", description="Numeric code for Russian Federation (the)." + ), + ) + setattr( + cls, + "090", + PermissibleValue( + text="090", description="Numeric code for Solomon Islands." + ), + ) + setattr( + cls, + "894", + PermissibleValue(text="894", description="Numeric code for Zambia."), + ) + setattr( + cls, + "882", + PermissibleValue(text="882", description="Numeric code for Samoa."), + ) + setattr( + cls, + "674", + PermissibleValue(text="674", description="Numeric code for San Marino."), + ) + setattr( + cls, + "678", + PermissibleValue( + text="678", description="Numeric code for Sao Tome and Principe." + ), + ) + setattr( + cls, + "682", + PermissibleValue(text="682", description="Numeric code for Saudi Arabia."), + ) + setattr( + cls, + "752", + PermissibleValue(text="752", description="Numeric code for Sweden."), + ) + setattr( + cls, + "756", + PermissibleValue(text="756", description="Numeric code for Switzerland."), + ) + setattr( + cls, + "686", + PermissibleValue(text="686", description="Numeric code for Senegal."), + ) + setattr( + cls, + "688", + PermissibleValue(text="688", description="Numeric code for Serbia."), + ) + setattr( + cls, + "690", + PermissibleValue(text="690", description="Numeric code for Seychelles."), + ) + setattr( + cls, + "694", + PermissibleValue(text="694", description="Numeric code for Sierra Leone."), + ) + setattr( + cls, + "716", + PermissibleValue(text="716", description="Numeric code for Zimbabwe."), + ) + setattr( + cls, + "702", + PermissibleValue(text="702", description="Numeric code for Singapore."), + ) + setattr( + cls, + "703", + PermissibleValue(text="703", description="Numeric code for Slovakia."), + ) + setattr( + cls, + "705", + PermissibleValue(text="705", description="Numeric code for Slovenia."), + ) + setattr( + cls, + "706", + PermissibleValue(text="706", description="Numeric code for Somalia."), + ) + setattr( + cls, + "724", + PermissibleValue(text="724", description="Numeric code for Spain."), + ) + setattr( + cls, + "144", + PermissibleValue(text="144", description="Numeric code for Sri Lanka."), + ) + setattr( + cls, + "652", + PermissibleValue( + text="652", description="Numeric code for Saint Barthelemy." + ), + ) + setattr( + cls, + "654", PermissibleValue( - text="352", - description="Numeric code for Iceland.")) - setattr(cls, "376", + text="654", + description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.", + ), + ) + setattr( + cls, + "659", + PermissibleValue( + text="659", description="Numeric code for Saint Kitts and Nevis." + ), + ) + setattr( + cls, + "662", + PermissibleValue(text="662", description="Numeric code for Saint Lucia."), + ) + setattr( + cls, + "663", + PermissibleValue( + text="663", description="Numeric code for Saint Martin (French part)." + ), + ) + setattr( + cls, + "534", + PermissibleValue( + text="534", description="Numeric code for Sint Maarten (Dutch part)." + ), + ) + setattr( + cls, + "666", + PermissibleValue( + text="666", description="Numeric code for Saint Pierre and Miquelon." + ), + ) + setattr( + cls, + "670", PermissibleValue( - text="376", - description="Numeric code for Israel.")) - setattr(cls, "380", + text="670", + description="Numeric code for Saint Vincent and the Grenadines.", + ), + ) + setattr( + cls, + "710", + PermissibleValue(text="710", description="Numeric code for South Africa."), + ) + setattr( + cls, + "729", + PermissibleValue(text="729", description="Numeric code forSudan (the)."), + ) + setattr( + cls, + "239", PermissibleValue( - text="380", - description="Numeric code for Italy.")) - setattr(cls, "388", + text="239", + description="Numeric code for South Georgia and the South Sandwich Islands.", + ), + ) + setattr( + cls, + "728", + PermissibleValue(text="728", description="Numeric code for South Sudan."), + ) + setattr( + cls, + "740", + PermissibleValue(text="740", description="Numeric code for Suriname."), + ) + setattr( + cls, + "744", + PermissibleValue( + text="744", description="Numeric code for Svalbard and Jan Mayen." + ), + ) + setattr( + cls, + "748", + PermissibleValue(text="748", description="Numeric code for Eswatini."), + ) + setattr( + cls, + "762", + PermissibleValue(text="762", description="Numeric code for Tajikistan."), + ) + setattr( + cls, + "158", + PermissibleValue( + text="158", description="Numeric code for Taiwan (Province of China)." + ), + ) + setattr( + cls, + "764", + PermissibleValue(text="764", description="Numeric code for Thailand."), + ) + setattr( + cls, + "626", + PermissibleValue(text="626", description="Numeric code for Timor-Leste."), + ) + setattr( + cls, + "768", + PermissibleValue(text="768", description="Numeric code for Togo."), + ) + setattr( + cls, + "772", + PermissibleValue(text="772", description="Numeric code for Tokelau."), + ) + setattr( + cls, + "776", + PermissibleValue(text="776", description="Numeric code for Tonga."), + ) + setattr( + cls, + "780", + PermissibleValue( + text="780", description="Numeric code for Trinidad and Tobago." + ), + ) + setattr( + cls, + "148", + PermissibleValue(text="148", description="Numeric code for Chad."), + ) + setattr( + cls, + "203", + PermissibleValue(text="203", description="Numeric code for Czechia."), + ) + setattr( + cls, + "788", + PermissibleValue(text="788", description="Numeric code for Tunisia."), + ) + setattr( + cls, + "792", + PermissibleValue(text="792", description="Numeric code for Turkey."), + ) + setattr( + cls, + "795", + PermissibleValue(text="795", description="Numeric code for Turkmenistan."), + ) + setattr( + cls, + "796", PermissibleValue( - text="388", - description="Numeric code for Jamaica.")) - setattr(cls, "392", + text="796", + description="Numeric code for Turks and Caicos Islands (the).", + ), + ) + setattr( + cls, + "798", + PermissibleValue(text="798", description="Numeric code for Tuvalu."), + ) + setattr( + cls, + "800", + PermissibleValue(text="800", description="Numeric code for Uganda."), + ) + setattr( + cls, + "804", + PermissibleValue(text="804", description="Numeric code for Ukraine."), + ) + setattr( + cls, + "348", + PermissibleValue(text="348", description="Numeric code for Hungary."), + ) + setattr( + cls, + "858", + PermissibleValue(text="858", description="Numeric code for Uruguay."), + ) + setattr( + cls, + "860", + PermissibleValue(text="860", description="Numeric code for Uzbekistan."), + ) + setattr( + cls, + "548", + PermissibleValue(text="548", description="Numeric code for Vanuatu."), + ) + setattr( + cls, + "336", + PermissibleValue( + text="336", description="Numeric code for Holy See (the)." + ), + ) + setattr( + cls, + "784", + PermissibleValue( + text="784", description="Numeric code for United Arab Emirates (the)." + ), + ) + setattr( + cls, + "834", + PermissibleValue( + text="834", description="Numeric code for Tanzania, United Republic of." + ), + ) + setattr( + cls, + "840", PermissibleValue( - text="392", - description="Numeric code for Japan.")) - setattr(cls, "887", + text="840", + description="Numeric code for United States of America (the).", + ), + ) + setattr( + cls, + "826", PermissibleValue( - text="887", - description="Numeric code for Yemen.")) - setattr(cls, "832", + text="826", + description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).", + ), + ) + setattr( + cls, + "704", + PermissibleValue(text="704", description="Numeric code for Viet Nam."), + ) + setattr( + cls, + "876", + PermissibleValue( + text="876", description="Numeric code for Wallis and Futuna." + ), + ) + setattr( + cls, + "162", + PermissibleValue( + text="162", description="Numeric code for Christmas Island." + ), + ) + setattr( + cls, + "112", + PermissibleValue(text="112", description="Numeric code for Belarus."), + ) + setattr( + cls, + "732", + PermissibleValue( + text="732", description="Numeric code for Western Sahara." + ), + ) + setattr( + cls, + "140", PermissibleValue( - text="832", - description="Numeric code for Jersey.")) - setattr(cls, "400", - PermissibleValue( - text="400", - description="Numeric code for Jordan.")) - setattr(cls, "136", - PermissibleValue( - text="136", - description="Numeric code for Cayman Islands (the).")) - setattr(cls, "116", - PermissibleValue( - text="116", - description="Numeric code for Cambodia.")) - setattr(cls, "120", - PermissibleValue( - text="120", - description="Numeric code for Cameroon.")) - setattr(cls, "124", - PermissibleValue( - text="124", - description="Numeric code for Canada.")) - setattr(cls, "398", - PermissibleValue( - text="398", - description="Numeric code for Kazakhstan.")) - setattr(cls, "634", - PermissibleValue( - text="634", - description="Numeric code for Qatar.")) - setattr(cls, "404", - PermissibleValue( - text="404", - description="Numeric code for Kenya.")) - setattr(cls, "417", - PermissibleValue( - text="417", - description="Numeric code for Kyrgyzstan.")) - setattr(cls, "296", - PermissibleValue( - text="296", - description="Numeric code for Kiribati.")) - setattr(cls, "166", - PermissibleValue( - text="166", - description="Numeric code for Cocos (Keeling) Islands (the).")) - setattr(cls, "170", - PermissibleValue( - text="170", - description="Numeric code for Colombia.")) - setattr(cls, "174", - PermissibleValue( - text="174", - description="Numeric code for Comoros (the).")) - setattr(cls, "178", - PermissibleValue( - text="178", - description="Numeric code for Congo (the).")) - setattr(cls, "191", - PermissibleValue( - text="191", - description="Numeric code for Croatia.")) - setattr(cls, "192", - PermissibleValue( - text="192", - description="Numeric code for Cuba.")) - setattr(cls, "414", - PermissibleValue( - text="414", - description="Numeric code for Kuwait.")) - setattr(cls, "426", - PermissibleValue( - text="426", - description="Numeric code for Lesotho.")) - setattr(cls, "428", - PermissibleValue( - text="428", - description="Numeric code for Latvia.")) - setattr(cls, "422", - PermissibleValue( - text="422", - description="Numeric code for Lebanon.")) - setattr(cls, "430", - PermissibleValue( - text="430", - description="Numeric code for Liberia.")) - setattr(cls, "434", - PermissibleValue( - text="434", - description="Numeric code for Libya.")) - setattr(cls, "438", - PermissibleValue( - text="438", - description="Numeric code for Liechtenstein.")) - setattr(cls, "440", - PermissibleValue( - text="440", - description="Numeric code for Lithuania.")) - setattr(cls, "442", - PermissibleValue( - text="442", - description="Numeric code for Luxembourg.")) - setattr(cls, "446", - PermissibleValue( - text="446", - description="Numeric code for Macao.")) - setattr(cls, "450", - PermissibleValue( - text="450", - description="Numeric code for Madagascar.")) - setattr(cls, "454", - PermissibleValue( - text="454", - description="Numeric code for Malawi.")) - setattr(cls, "458", - PermissibleValue( - text="458", - description="Numeric code for Malaysia.")) - setattr(cls, "462", - PermissibleValue( - text="462", - description="Numeric code for Maldives.")) - setattr(cls, "466", - PermissibleValue( - text="466", - description="Numeric code for Mali.")) - setattr(cls, "470", - PermissibleValue( - text="470", - description="Numeric code for Malta .")) - setattr(cls, "580", - PermissibleValue( - text="580", - description="Numeric code for Northern Mariana Islands (the).")) - setattr(cls, "504", - PermissibleValue( - text="504", - description="Numeric code for Morocco.")) - setattr(cls, "584", - PermissibleValue( - text="584", - description="Numeric code for Marshall Islands (the).")) - setattr(cls, "474", - PermissibleValue( - text="474", - description="Numeric code for Martinique.")) - setattr(cls, "478", - PermissibleValue( - text="478", - description="Numeric code for Mauritania.")) - setattr(cls, "480", - PermissibleValue( - text="480", - description="Numeric code for Mauritius.")) - setattr(cls, "175", - PermissibleValue( - text="175", - description="Numeric code for Mayotte.")) - setattr(cls, "484", - PermissibleValue( - text="484", - description="Numeric code for Mexico.")) - setattr(cls, "492", - PermissibleValue( - text="492", - description="Numeric code for Monaco.")) - setattr(cls, "496", - PermissibleValue( - text="496", - description="Numeric code for Mongolia.")) - setattr(cls, "500", - PermissibleValue( - text="500", - description="Numeric code for Montserrat.")) - setattr(cls, "499", - PermissibleValue( - text="499", - description="Numeric code for Montenegro.")) - setattr(cls, "508", - PermissibleValue( - text="508", - description="Numeric code for Mozambique.")) - setattr(cls, "104", - PermissibleValue( - text="104", - description="Numeric code for Myanmar.")) - setattr(cls, "516", - PermissibleValue( - text="516", - description="Numeric code for Namibia.")) - setattr(cls, "520", - PermissibleValue( - text="520", - description="Numeric code for Nauru.")) - setattr(cls, "524", - PermissibleValue( - text="524", - description="Numeric code for Nepal.")) - setattr(cls, "540", - PermissibleValue( - text="540", - description="Numeric code for New Caledonia.")) - setattr(cls, "554", - PermissibleValue( - text="554", - description="Numeric code for New Zealand.")) - setattr(cls, "558", - PermissibleValue( - text="558", - description="Numeric code for Nicaragua.")) - setattr(cls, "528", - PermissibleValue( - text="528", - description="Numeric code for Netherlands (the).")) - setattr(cls, "562", - PermissibleValue( - text="562", - description="Numeric code for Niger (the).")) - setattr(cls, "566", - PermissibleValue( - text="566", - description="Numeric code for Nigeria.")) - setattr(cls, "570", - PermissibleValue( - text="570", - description="Numeric code for Niue.")) - setattr(cls, "574", - PermissibleValue( - text="574", - description="Numeric code for Norfolk Island.")) - setattr(cls, "578", - PermissibleValue( - text="578", - description="Numeric code for Norway.")) - setattr(cls, "512", - PermissibleValue( - text="512", - description="Numeric code for Oman.")) - setattr(cls, "32", - PermissibleValue( - text="32", - description="Numeric code for Austria.")) - setattr(cls, "586", - PermissibleValue( - text="586", - description="Numeric code for Pakistan.")) - setattr(cls, "585", - PermissibleValue( - text="585", - description="Numeric code for Palau.")) - setattr(cls, "275", - PermissibleValue( - text="275", - description="Numeric code for Palestine, State of.")) - setattr(cls, "591", - PermissibleValue( - text="591", - description="Numeric code for Panama.")) - setattr(cls, "598", - PermissibleValue( - text="598", - description="Numeric code for Papua New Guinea.")) - setattr(cls, "600", - PermissibleValue( - text="600", - description="Numeric code for Paraguay.")) - setattr(cls, "604", - PermissibleValue( - text="604", - description="Numeric code for Peru.")) - setattr(cls, "608", - PermissibleValue( - text="608", - description="Numeric code for Philippines (the).")) - setattr(cls, "612", - PermissibleValue( - text="612", - description="Numeric code for Pitcairn.")) - setattr(cls, "068", - PermissibleValue( - text="068", - description="Numeric code for Bolivia (Plurinational State of).")) - setattr(cls, "616", - PermissibleValue( - text="616", - description="Numeric code for Poland.")) - setattr(cls, "620", - PermissibleValue( - text="620", - description="Numeric code for Portugal.")) - setattr(cls, "630", - PermissibleValue( - text="630", - description="Numeric code for Puerto Rico.")) - setattr(cls, "410", - PermissibleValue( - text="410", - description="Numeric code for Korea (the Republic of).")) - setattr(cls, "498", - PermissibleValue( - text="498", - description="Numeric code for Moldova (the Republic of).")) - setattr(cls, "638", - PermissibleValue( - text="638", - description="Numeric code for Reunion.")) - setattr(cls, "646", - PermissibleValue( - text="646", - description="Numeric code for Rwanda.")) - setattr(cls, "642", - PermissibleValue( - text="642", - description="Numeric code for Romania.")) - setattr(cls, "643", - PermissibleValue( - text="643", - description="Numeric code for Russian Federation (the).")) - setattr(cls, "090", - PermissibleValue( - text="090", - description="Numeric code for Solomon Islands.")) - setattr(cls, "894", - PermissibleValue( - text="894", - description="Numeric code for Zambia.")) - setattr(cls, "882", - PermissibleValue( - text="882", - description="Numeric code for Samoa.")) - setattr(cls, "674", - PermissibleValue( - text="674", - description="Numeric code for San Marino.")) - setattr(cls, "678", - PermissibleValue( - text="678", - description="Numeric code for Sao Tome and Principe.")) - setattr(cls, "682", - PermissibleValue( - text="682", - description="Numeric code for Saudi Arabia.")) - setattr(cls, "752", - PermissibleValue( - text="752", - description="Numeric code for Sweden.")) - setattr(cls, "756", - PermissibleValue( - text="756", - description="Numeric code for Switzerland.")) - setattr(cls, "686", - PermissibleValue( - text="686", - description="Numeric code for Senegal.")) - setattr(cls, "688", - PermissibleValue( - text="688", - description="Numeric code for Serbia.")) - setattr(cls, "690", - PermissibleValue( - text="690", - description="Numeric code for Seychelles.")) - setattr(cls, "694", - PermissibleValue( - text="694", - description="Numeric code for Sierra Leone.")) - setattr(cls, "716", - PermissibleValue( - text="716", - description="Numeric code for Zimbabwe.")) - setattr(cls, "702", - PermissibleValue( - text="702", - description="Numeric code for Singapore.")) - setattr(cls, "703", - PermissibleValue( - text="703", - description="Numeric code for Slovakia.")) - setattr(cls, "705", - PermissibleValue( - text="705", - description="Numeric code for Slovenia.")) - setattr(cls, "706", - PermissibleValue( - text="706", - description="Numeric code for Somalia.")) - setattr(cls, "724", - PermissibleValue( - text="724", - description="Numeric code for Spain.")) - setattr(cls, "144", - PermissibleValue( - text="144", - description="Numeric code for Sri Lanka.")) - setattr(cls, "652", - PermissibleValue( - text="652", - description="Numeric code for Saint Barthelemy.")) - setattr(cls, "654", - PermissibleValue( - text="654", - description="Numeric code for Saint Helena, Ascension and Tristan da Cunha.")) - setattr(cls, "659", - PermissibleValue( - text="659", - description="Numeric code for Saint Kitts and Nevis.")) - setattr(cls, "662", - PermissibleValue( - text="662", - description="Numeric code for Saint Lucia.")) - setattr(cls, "663", - PermissibleValue( - text="663", - description="Numeric code for Saint Martin (French part).")) - setattr(cls, "534", - PermissibleValue( - text="534", - description="Numeric code for Sint Maarten (Dutch part).")) - setattr(cls, "666", - PermissibleValue( - text="666", - description="Numeric code for Saint Pierre and Miquelon.")) - setattr(cls, "670", - PermissibleValue( - text="670", - description="Numeric code for Saint Vincent and the Grenadines.")) - setattr(cls, "710", - PermissibleValue( - text="710", - description="Numeric code for South Africa.")) - setattr(cls, "729", - PermissibleValue( - text="729", - description="Numeric code forSudan (the).")) - setattr(cls, "239", - PermissibleValue( - text="239", - description="Numeric code for South Georgia and the South Sandwich Islands.")) - setattr(cls, "728", - PermissibleValue( - text="728", - description="Numeric code for South Sudan.")) - setattr(cls, "740", - PermissibleValue( - text="740", - description="Numeric code for Suriname.")) - setattr(cls, "744", - PermissibleValue( - text="744", - description="Numeric code for Svalbard and Jan Mayen.")) - setattr(cls, "748", - PermissibleValue( - text="748", - description="Numeric code for Eswatini.")) - setattr(cls, "762", - PermissibleValue( - text="762", - description="Numeric code for Tajikistan.")) - setattr(cls, "158", - PermissibleValue( - text="158", - description="Numeric code for Taiwan (Province of China).")) - setattr(cls, "764", - PermissibleValue( - text="764", - description="Numeric code for Thailand.")) - setattr(cls, "626", - PermissibleValue( - text="626", - description="Numeric code for Timor-Leste.")) - setattr(cls, "768", - PermissibleValue( - text="768", - description="Numeric code for Togo.")) - setattr(cls, "772", - PermissibleValue( - text="772", - description="Numeric code for Tokelau.")) - setattr(cls, "776", - PermissibleValue( - text="776", - description="Numeric code for Tonga.")) - setattr(cls, "780", - PermissibleValue( - text="780", - description="Numeric code for Trinidad and Tobago.")) - setattr(cls, "148", - PermissibleValue( - text="148", - description="Numeric code for Chad.")) - setattr(cls, "203", - PermissibleValue( - text="203", - description="Numeric code for Czechia.")) - setattr(cls, "788", - PermissibleValue( - text="788", - description="Numeric code for Tunisia.")) - setattr(cls, "792", - PermissibleValue( - text="792", - description="Numeric code for Turkey.")) - setattr(cls, "795", - PermissibleValue( - text="795", - description="Numeric code for Turkmenistan.")) - setattr(cls, "796", - PermissibleValue( - text="796", - description="Numeric code for Turks and Caicos Islands (the).")) - setattr(cls, "798", - PermissibleValue( - text="798", - description="Numeric code for Tuvalu.")) - setattr(cls, "800", - PermissibleValue( - text="800", - description="Numeric code for Uganda.")) - setattr(cls, "804", - PermissibleValue( - text="804", - description="Numeric code for Ukraine.")) - setattr(cls, "348", - PermissibleValue( - text="348", - description="Numeric code for Hungary.")) - setattr(cls, "858", - PermissibleValue( - text="858", - description="Numeric code for Uruguay.")) - setattr(cls, "860", - PermissibleValue( - text="860", - description="Numeric code for Uzbekistan.")) - setattr(cls, "548", - PermissibleValue( - text="548", - description="Numeric code for Vanuatu.")) - setattr(cls, "336", - PermissibleValue( - text="336", - description="Numeric code for Holy See (the).")) - setattr(cls, "784", - PermissibleValue( - text="784", - description="Numeric code for United Arab Emirates (the).")) - setattr(cls, "834", - PermissibleValue( - text="834", - description="Numeric code for Tanzania, United Republic of.")) - setattr(cls, "840", - PermissibleValue( - text="840", - description="Numeric code for United States of America (the).")) - setattr(cls, "826", - PermissibleValue( - text="826", - description="Numeric code for United Kingdom of Great Britain and Northern Ireland (the).")) - setattr(cls, "704", - PermissibleValue( - text="704", - description="Numeric code for Viet Nam.")) - setattr(cls, "876", - PermissibleValue( - text="876", - description="Numeric code for Wallis and Futuna.")) - setattr(cls, "162", - PermissibleValue( - text="162", - description="Numeric code for Christmas Island.")) - setattr(cls, "112", - PermissibleValue( - text="112", - description="Numeric code for Belarus.")) - setattr(cls, "732", - PermissibleValue( - text="732", - description="Numeric code for Western Sahara.")) - setattr(cls, "140", - PermissibleValue( - text="140", - description="Numeric code for Central African Republic (the).")) - setattr(cls, "196", - PermissibleValue( - text="196", - description="Numeric code for Cyprus.")) - -class Architectures(EnumDefinitionImpl): - - other = PermissibleValue( - text="other", - description="CPU architecture not specified above.") - - _defn = EnumDefinition( - name="Architectures", - ) - - @classmethod - def _addvals(cls): - setattr(cls, "x86-32", - PermissibleValue( - text="x86-32", - description="32 bit version of x86 architecture.")) - setattr(cls, "x86-64", - PermissibleValue( - text="x86-64", - description="64 bit version of x86 architecture.")) - setattr(cls, "AArch-32", - PermissibleValue( - text="AArch-32", - description="32-bit version of ARM architecture.")) - setattr(cls, "AArch-64", - PermissibleValue( - text="AArch-64", - description="64-bit version of ARM architecture.")) - setattr(cls, "RISC-V", + text="140", + description="Numeric code for Central African Republic (the).", + ), + ) + setattr( + cls, + "196", + PermissibleValue(text="196", description="Numeric code for Cyprus."), + ) + + +class Architectures(EnumDefinitionImpl): + other = PermissibleValue( + text="other", description="CPU architecture not specified above." + ) + + _defn = EnumDefinition( + name="Architectures", + ) + + @classmethod + def _addvals(cls): + setattr( + cls, + "x86-32", + PermissibleValue( + text="x86-32", description="32 bit version of x86 architecture." + ), + ) + setattr( + cls, + "x86-64", + PermissibleValue( + text="x86-64", description="64 bit version of x86 architecture." + ), + ) + setattr( + cls, + "AArch-32", + PermissibleValue( + text="AArch-32", description="32-bit version of ARM architecture." + ), + ) + setattr( + cls, + "AArch-64", + PermissibleValue( + text="AArch-64", description="64-bit version of ARM architecture." + ), + ) + setattr( + cls, + "RISC-V", PermissibleValue( text="RISC-V", - description="Architecture based on open standard instruction set (ISA).")) + description="Architecture based on open standard instruction set (ISA).", + ), + ) -class EncryptionAlgorithm(EnumDefinitionImpl): - RSA = PermissibleValue( - text="RSA", - description="TBD") - AES = PermissibleValue( - text="AES", - description="TBD") - Blowfish = PermissibleValue( - text="Blowfish", - description="TBD") - Twofish = PermissibleValue( - text="Twofish", - description="TBD") - SDA = PermissibleValue( - text="SDA", - description="TBD") +class EncryptionAlgorithm(EnumDefinitionImpl): + RSA = PermissibleValue(text="RSA", description="TBD") + AES = PermissibleValue(text="AES", description="TBD") + Blowfish = PermissibleValue(text="Blowfish", description="TBD") + Twofish = PermissibleValue(text="Twofish", description="TBD") + SDA = PermissibleValue(text="SDA", description="TBD") other = PermissibleValue( - text="other", - description="Algorithm for encryption not further described.") + text="other", description="Algorithm for encryption not further described." + ) _defn = EnumDefinition( name="EncryptionAlgorithm", @@ -4242,25 +4175,17 @@ class EncryptionAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "3DES", - PermissibleValue( - text="3DES", - description="TBD")) + setattr(cls, "3DES", PermissibleValue(text="3DES", description="TBD")) -class ChecksumAlgorithm(EnumDefinitionImpl): - md5 = PermissibleValue( - text="md5", - description="TBD") - blake2 = PermissibleValue( - text="blake2", - description="TBD") - blake3 = PermissibleValue( - text="blake3", - description="TBD") +class ChecksumAlgorithm(EnumDefinitionImpl): + md5 = PermissibleValue(text="md5", description="TBD") + blake2 = PermissibleValue(text="blake2", description="TBD") + blake3 = PermissibleValue(text="blake3", description="TBD") other = PermissibleValue( text="other", - description="Algorithm to calcualte checksum not further described.") + description="Algorithm to calcualte checksum not further described.", + ) _defn = EnumDefinition( name="ChecksumAlgorithm", @@ -4268,62 +4193,43 @@ class ChecksumAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "sha-1", - PermissibleValue( - text="sha-1", - description="TBD")) - setattr(cls, "sha-224", - PermissibleValue( - text="sha-224", - description="TBD")) - setattr(cls, "sha-256", - PermissibleValue( - text="sha-256", - description="TBD")) - setattr(cls, "sha-512", - PermissibleValue( - text="sha-512", - description="TBD")) - setattr(cls, "sha-384", - PermissibleValue( - text="sha-384", - description="TBD")) - setattr(cls, "sha-3", - PermissibleValue( - text="sha-3", - description="TBD")) - setattr(cls, "ripemd-160", - PermissibleValue( - text="ripemd-160", - description="TBD")) + setattr(cls, "sha-1", PermissibleValue(text="sha-1", description="TBD")) + setattr(cls, "sha-224", PermissibleValue(text="sha-224", description="TBD")) + setattr(cls, "sha-256", PermissibleValue(text="sha-256", description="TBD")) + setattr(cls, "sha-512", PermissibleValue(text="sha-512", description="TBD")) + setattr(cls, "sha-384", PermissibleValue(text="sha-384", description="TBD")) + setattr(cls, "sha-3", PermissibleValue(text="sha-3", description="TBD")) + setattr( + cls, "ripemd-160", PermissibleValue(text="ripemd-160", description="TBD") + ) -class KeyManagement(EnumDefinitionImpl): +class KeyManagement(EnumDefinitionImpl): BYOK = PermissibleValue( text="BYOK", - description="bring-your-own-key: Keys created by user and stored in key manager of cloud") + description="bring-your-own-key: Keys created by user and stored in key manager of cloud", + ) HYOK = PermissibleValue( text="HYOK", - description="hold-your-own-key Key created by user and kept by user") + description="hold-your-own-key Key created by user and kept by user", + ) managed = PermissibleValue( text="managed", - description="managed: Keys are created by and stored in key manager of cloud.") + description="managed: Keys are created by and stored in key manager of cloud.", + ) _defn = EnumDefinition( name="KeyManagement", ) -class SignatureAlgorithm(EnumDefinitionImpl): - ECDSA = PermissibleValue( - text="ECDSA", - description="TBD") - DSA = PermissibleValue( - text="DSA", - description="TBD") +class SignatureAlgorithm(EnumDefinitionImpl): + ECDSA = PermissibleValue(text="ECDSA", description="TBD") + DSA = PermissibleValue(text="DSA", description="TBD") other = PermissibleValue( text="other", - description="Algorithm for digital signatures not further described.") + description="Algorithm for digital signatures not further described.", + ) _defn = EnumDefinition( name="SignatureAlgorithm", @@ -4331,13 +4237,14 @@ class SignatureAlgorithm(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "RSA-Signature", - PermissibleValue( - text="RSA-Signature", - description="TBD")) + setattr( + cls, + "RSA-Signature", + PermissibleValue(text="RSA-Signature", description="TBD"), + ) -class DiskTypes(EnumDefinitionImpl): +class DiskTypes(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4346,17 +4253,17 @@ class DiskTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "local SSD", - PermissibleValue(text="local SSD")) - setattr(cls, "local HDD", - PermissibleValue(text="local HDD")) - setattr(cls, "shared network storage", - PermissibleValue(text="shared network storage")) - setattr(cls, "high-perf NVMe", - PermissibleValue(text="high-perf NVMe")) + setattr(cls, "local SSD", PermissibleValue(text="local SSD")) + setattr(cls, "local HDD", PermissibleValue(text="local HDD")) + setattr( + cls, + "shared network storage", + PermissibleValue(text="shared network storage"), + ) + setattr(cls, "high-perf NVMe", PermissibleValue(text="high-perf NVMe")) -class GPUInterconnetionTypes(EnumDefinitionImpl): +class GPUInterconnetionTypes(EnumDefinitionImpl): NVLink = PermissibleValue(text="NVLink") RoCE2 = PermissibleValue(text="RoCE2") other = PermissibleValue(text="other") @@ -4368,72 +4275,76 @@ class GPUInterconnetionTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Xe Link", - PermissibleValue(text="Xe Link")) - setattr(cls, "Infinity Fabric", - PermissibleValue(text="Infinity Fabric")) + setattr(cls, "Xe Link", PermissibleValue(text="Xe Link")) + setattr(cls, "Infinity Fabric", PermissibleValue(text="Infinity Fabric")) + class UpdateFrequency(EnumDefinitionImpl): """ Possible values for image's update frequency. """ + yearly = PermissibleValue( - text="yearly", - description="Image will be updated at least once per year.") + text="yearly", description="Image will be updated at least once per year." + ) quarterly = PermissibleValue( - text="quarterly", - description="Image will be updated at least once per month.") + text="quarterly", description="Image will be updated at least once per month." + ) weekly = PermissibleValue( - text="weekly", - description="Image will be updated at least once per week.") + text="weekly", description="Image will be updated at least once per week." + ) daily = PermissibleValue( - text="daily", - description="Image will be updated at least once per day.") + text="daily", description="Image will be updated at least once per day." + ) critical_bug = PermissibleValue( - text="critical_bug", - description="Image will be updated for critical bugs only.") - never = PermissibleValue( - text="never", - description="Image will never be updated.") + text="critical_bug", description="Image will be updated for critical bugs only." + ) + never = PermissibleValue(text="never", description="Image will never be updated.") _defn = EnumDefinition( name="UpdateFrequency", description="Possible values for image's update frequency.", ) + class Validity1(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ - none = PermissibleValue( - text="none", - description="No information are given.") + + none = PermissibleValue(text="none", description="No information are given.") notice = PermissibleValue( text="notice", - description="Outdated version of the image will remain valid until a deprecation notice will be published.") + description="Outdated version of the image will remain valid until a deprecation notice will be published.", + ) _defn = EnumDefinition( name="Validity1", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class Validity2(EnumDefinitionImpl): """ Possible values for definition of image's validity after upgrading to a new version. """ + forever = PermissibleValue( text="forever", - description="Outdated version of the image will remain valid for as long as the cloud operates.") + description="Outdated version of the image will remain valid for as long as the cloud operates.", + ) _defn = EnumDefinition( name="Validity2", description="Possible values for definition of image's validity after upgrading to a new version.", ) + class GaiaXTermsAndConditions(EnumDefinitionImpl): """ SHA256 check sum of Gaia-X Terms and Conditions. """ + _defn = EnumDefinition( name="GaiaXTermsAndConditions", description="SHA256 check sum of Gaia-X Terms and Conditions.", @@ -4441,11 +4352,16 @@ class GaiaXTermsAndConditions(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", - PermissibleValue(text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3")) + setattr( + cls, + "4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3", + PermissibleValue( + text="4bd7554097444c960292b4726c2efa1373485e8a5565d94d41195214c5e0ceb3" + ), + ) -class MemoryClasses(EnumDefinitionImpl): +class MemoryClasses(EnumDefinitionImpl): DDR4 = PermissibleValue(text="DDR4") DDR5 = PermissibleValue(text="DDR5") GDDR5 = PermissibleValue(text="GDDR5") @@ -4456,8 +4372,8 @@ class MemoryClasses(EnumDefinitionImpl): name="MemoryClasses", ) -class MemoryRanks(EnumDefinitionImpl): +class MemoryRanks(EnumDefinitionImpl): other = PermissibleValue(text="other") _defn = EnumDefinition( @@ -4466,17 +4382,13 @@ class MemoryRanks(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1R RDIMM", - PermissibleValue(text="1R RDIMM")) - setattr(cls, "2R RDIMM", - PermissibleValue(text="2R RDIMM")) - setattr(cls, "4R LRDIMM", - PermissibleValue(text="4R LRDIMM")) - setattr(cls, "8R LRDIMM", - PermissibleValue(text="8R LRDIMM")) + setattr(cls, "1R RDIMM", PermissibleValue(text="1R RDIMM")) + setattr(cls, "2R RDIMM", PermissibleValue(text="2R RDIMM")) + setattr(cls, "4R LRDIMM", PermissibleValue(text="4R LRDIMM")) + setattr(cls, "8R LRDIMM", PermissibleValue(text="8R LRDIMM")) -class PXEDiskType(EnumDefinitionImpl): +class PXEDiskType(EnumDefinitionImpl): WINPE = PermissibleValue(text="WINPE") ISO = PermissibleValue(text="ISO") @@ -4484,8 +4396,8 @@ class PXEDiskType(EnumDefinitionImpl): name="PXEDiskType", ) -class SPDX(EnumDefinitionImpl): +class SPDX(EnumDefinitionImpl): AAL = PermissibleValue(text="AAL") Abstyles = PermissibleValue(text="Abstyles") ADSL = PermissibleValue(text="ADSL") @@ -4637,775 +4549,567 @@ class SPDX(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "0BSD", - PermissibleValue(text="0BSD")) - setattr(cls, "AdaCore-doc", - PermissibleValue(text="AdaCore-doc")) - setattr(cls, "Adobe-2006", - PermissibleValue(text="Adobe-2006")) - setattr(cls, "Adobe-Glyph", - PermissibleValue(text="Adobe-Glyph")) - setattr(cls, "AFL-1.1", - PermissibleValue(text="AFL-1.1")) - setattr(cls, "AFL-1.2", - PermissibleValue(text="AFL-1.2")) - setattr(cls, "AFL-2.0", - PermissibleValue(text="AFL-2.0")) - setattr(cls, "AFL-2.1", - PermissibleValue(text="AFL-2.1")) - setattr(cls, "AFL-3.0", - PermissibleValue(text="AFL-3.0")) - setattr(cls, "AGPL-1.0-only", - PermissibleValue(text="AGPL-1.0-only")) - setattr(cls, "AGPL-1.0-or-later", - PermissibleValue(text="AGPL-1.0-or-later")) - setattr(cls, "AGPL-3.0-only", - PermissibleValue(text="AGPL-3.0-only")) - setattr(cls, "AGPL-3.0-or-later", - PermissibleValue(text="AGPL-3.0-or-later")) - setattr(cls, "ANTLR-PD", - PermissibleValue(text="ANTLR-PD")) - setattr(cls, "ANTLR-PD-fallback", - PermissibleValue(text="ANTLR-PD-fallback")) - setattr(cls, "Apache-1.0", - PermissibleValue(text="Apache-1.0")) - setattr(cls, "Apache-1.1", - PermissibleValue(text="Apache-1.1")) - setattr(cls, "Apache-2.0", - PermissibleValue(text="Apache-2.0")) - setattr(cls, "APL-1.0", - PermissibleValue(text="APL-1.0")) - setattr(cls, "App-s2p", - PermissibleValue(text="App-s2p")) - setattr(cls, "APSL-1.0", - PermissibleValue(text="APSL-1.0")) - setattr(cls, "APSL-1.1", - PermissibleValue(text="APSL-1.1")) - setattr(cls, "APSL-1.2", - PermissibleValue(text="APSL-1.2")) - setattr(cls, "APSL-2.0", - PermissibleValue(text="APSL-2.0")) - setattr(cls, "Arphic-1999", - PermissibleValue(text="Arphic-1999")) - setattr(cls, "Artistic-1.0", - PermissibleValue(text="Artistic-1.0")) - setattr(cls, "Artistic-1.0-cl8", - PermissibleValue(text="Artistic-1.0-cl8")) - setattr(cls, "Artistic-1.0-Perl", - PermissibleValue(text="Artistic-1.0-Perl")) - setattr(cls, "Artistic-2.0", - PermissibleValue(text="Artistic-2.0")) - setattr(cls, "ASWF-Digital-Assets-1.0", - PermissibleValue(text="ASWF-Digital-Assets-1.0")) - setattr(cls, "ASWF-Digital-Assets-1.1", - PermissibleValue(text="ASWF-Digital-Assets-1.1")) - setattr(cls, "Bitstream-Charter", - PermissibleValue(text="Bitstream-Charter")) - setattr(cls, "Bitstream-Vera", - PermissibleValue(text="Bitstream-Vera")) - setattr(cls, "BitTorrent-1.0", - PermissibleValue(text="BitTorrent-1.0")) - setattr(cls, "BitTorrent-1.1", - PermissibleValue(text="BitTorrent-1.1")) - setattr(cls, "BlueOak-1.0.0", - PermissibleValue(text="BlueOak-1.0.0")) - setattr(cls, "Boehm-GC", - PermissibleValue(text="Boehm-GC")) - setattr(cls, "Brian-Gladman-3-Clause", - PermissibleValue(text="Brian-Gladman-3-Clause")) - setattr(cls, "BSD-1-Clause", - PermissibleValue(text="BSD-1-Clause")) - setattr(cls, "BSD-2-Clause", - PermissibleValue(text="BSD-2-Clause")) - setattr(cls, "BSD-2-Clause-Patent", - PermissibleValue(text="BSD-2-Clause-Patent")) - setattr(cls, "BSD-2-Clause-Views", - PermissibleValue(text="BSD-2-Clause-Views")) - setattr(cls, "BSD-3-Clause", - PermissibleValue(text="BSD-3-Clause")) - setattr(cls, "BSD-3-Clause-Attribution", - PermissibleValue(text="BSD-3-Clause-Attribution")) - setattr(cls, "BSD-3-Clause-Clear", - PermissibleValue(text="BSD-3-Clause-Clear")) - setattr(cls, "BSD-3-Clause-LBNL", - PermissibleValue(text="BSD-3-Clause-LBNL")) - setattr(cls, "BSD-3-Clause-Modification", - PermissibleValue(text="BSD-3-Clause-Modification")) - setattr(cls, "BSD-3-Clause-No-Military-License", - PermissibleValue(text="BSD-3-Clause-No-Military-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License")) - setattr(cls, "BSD-3-Clause-No-Nuclear-License-2014", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014")) - setattr(cls, "BSD-3-Clause-No-Nuclear-Warranty", - PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty")) - setattr(cls, "BSD-3-Clause-Open-MPI", - PermissibleValue(text="BSD-3-Clause-Open-MPI")) - setattr(cls, "BSD-4-Clause", - PermissibleValue(text="BSD-4-Clause")) - setattr(cls, "BSD-4-Clause-Shortened", - PermissibleValue(text="BSD-4-Clause-Shortened")) - setattr(cls, "BSD-4-Clause-UC", - PermissibleValue(text="BSD-4-Clause-UC")) - setattr(cls, "BSD-4.3RENO", - PermissibleValue(text="BSD-4.3RENO")) - setattr(cls, "BSD-4.3TAHOE", - PermissibleValue(text="BSD-4.3TAHOE")) - setattr(cls, "BSD-Advertising-Acknowledgement", - PermissibleValue(text="BSD-Advertising-Acknowledgement")) - setattr(cls, "BSD-Attribution-HPND-disclaimer", - PermissibleValue(text="BSD-Attribution-HPND-disclaimer")) - setattr(cls, "BSD-Protection", - PermissibleValue(text="BSD-Protection")) - setattr(cls, "BSD-Source-Code", - PermissibleValue(text="BSD-Source-Code")) - setattr(cls, "BSL-1.0", - PermissibleValue(text="BSL-1.0")) - setattr(cls, "BUSL-1.1", - PermissibleValue(text="BUSL-1.1")) - setattr(cls, "bzip2-1.0.6", - PermissibleValue(text="bzip2-1.0.6")) - setattr(cls, "C-UDA-1.0", - PermissibleValue(text="C-UDA-1.0")) - setattr(cls, "CAL-1.0", - PermissibleValue(text="CAL-1.0")) - setattr(cls, "CAL-1.0-Combined-Work-Exception", - PermissibleValue(text="CAL-1.0-Combined-Work-Exception")) - setattr(cls, "CATOSL-1.1", - PermissibleValue(text="CATOSL-1.1")) - setattr(cls, "CC-BY-1.0", - PermissibleValue(text="CC-BY-1.0")) - setattr(cls, "CC-BY-2.0", - PermissibleValue(text="CC-BY-2.0")) - setattr(cls, "CC-BY-2.5", - PermissibleValue(text="CC-BY-2.5")) - setattr(cls, "CC-BY-2.5-AU", - PermissibleValue(text="CC-BY-2.5-AU")) - setattr(cls, "CC-BY-3.0", - PermissibleValue(text="CC-BY-3.0")) - setattr(cls, "CC-BY-3.0-AT", - PermissibleValue(text="CC-BY-3.0-AT")) - setattr(cls, "CC-BY-3.0-DE", - PermissibleValue(text="CC-BY-3.0-DE")) - setattr(cls, "CC-BY-3.0-IGO", - PermissibleValue(text="CC-BY-3.0-IGO")) - setattr(cls, "CC-BY-3.0-NL", - PermissibleValue(text="CC-BY-3.0-NL")) - setattr(cls, "CC-BY-3.0-US", - PermissibleValue(text="CC-BY-3.0-US")) - setattr(cls, "CC-BY-4.0", - PermissibleValue(text="CC-BY-4.0")) - setattr(cls, "CC-BY-NC-1.0", - PermissibleValue(text="CC-BY-NC-1.0")) - setattr(cls, "CC-BY-NC-2.0", - PermissibleValue(text="CC-BY-NC-2.0")) - setattr(cls, "CC-BY-NC-2.5", - PermissibleValue(text="CC-BY-NC-2.5")) - setattr(cls, "CC-BY-NC-3.0", - PermissibleValue(text="CC-BY-NC-3.0")) - setattr(cls, "CC-BY-NC-3.0-DE", - PermissibleValue(text="CC-BY-NC-3.0-DE")) - setattr(cls, "CC-BY-NC-4.0", - PermissibleValue(text="CC-BY-NC-4.0")) - setattr(cls, "CC-BY-NC-ND-1.0", - PermissibleValue(text="CC-BY-NC-ND-1.0")) - setattr(cls, "CC-BY-NC-ND-2.0", - PermissibleValue(text="CC-BY-NC-ND-2.0")) - setattr(cls, "CC-BY-NC-ND-2.5", - PermissibleValue(text="CC-BY-NC-ND-2.5")) - setattr(cls, "CC-BY-NC-ND-3.0", - PermissibleValue(text="CC-BY-NC-ND-3.0")) - setattr(cls, "CC-BY-NC-ND-3.0-DE", - PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) - setattr(cls, "CC-BY-NC-ND-3.0-IGO", - PermissibleValue(text="CC-BY-NC-ND-3.0-IGO")) - setattr(cls, "CC-BY-NC-ND-4.0", - PermissibleValue(text="CC-BY-NC-ND-4.0")) - setattr(cls, "CC-BY-NC-SA-1.0", - PermissibleValue(text="CC-BY-NC-SA-1.0")) - setattr(cls, "CC-BY-NC-SA-2.0", - PermissibleValue(text="CC-BY-NC-SA-2.0")) - setattr(cls, "CC-BY-NC-SA-2.0-DE", - PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) - setattr(cls, "CC-BY-NC-SA-2.0-FR", - PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) - setattr(cls, "CC-BY-NC-SA-2.0-UK", - PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) - setattr(cls, "CC-BY-NC-SA-2.5", - PermissibleValue(text="CC-BY-NC-SA-2.5")) - setattr(cls, "CC-BY-NC-SA-3.0", - PermissibleValue(text="CC-BY-NC-SA-3.0")) - setattr(cls, "CC-BY-NC-SA-3.0-DE", - PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) - setattr(cls, "CC-BY-NC-SA-3.0-IGO", - PermissibleValue(text="CC-BY-NC-SA-3.0-IGO")) - setattr(cls, "CC-BY-NC-SA-4.0", - PermissibleValue(text="CC-BY-NC-SA-4.0")) - setattr(cls, "CC-BY-ND-1.0", - PermissibleValue(text="CC-BY-ND-1.0")) - setattr(cls, "CC-BY-ND-2.0", - PermissibleValue(text="CC-BY-ND-2.0")) - setattr(cls, "CC-BY-ND-2.5", - PermissibleValue(text="CC-BY-ND-2.5")) - setattr(cls, "CC-BY-ND-3.0", - PermissibleValue(text="CC-BY-ND-3.0")) - setattr(cls, "CC-BY-ND-3.0-DE", - PermissibleValue(text="CC-BY-ND-3.0-DE")) - setattr(cls, "CC-BY-ND-4.0", - PermissibleValue(text="CC-BY-ND-4.0")) - setattr(cls, "CC-BY-SA-1.0", - PermissibleValue(text="CC-BY-SA-1.0")) - setattr(cls, "CC-BY-SA-2.0", - PermissibleValue(text="CC-BY-SA-2.0")) - setattr(cls, "CC-BY-SA-2.0-UK", - PermissibleValue(text="CC-BY-SA-2.0-UK")) - setattr(cls, "CC-BY-SA-2.1-JP", - PermissibleValue(text="CC-BY-SA-2.1-JP")) - setattr(cls, "CC-BY-SA-2.5", - PermissibleValue(text="CC-BY-SA-2.5")) - setattr(cls, "CC-BY-SA-3.0", - PermissibleValue(text="CC-BY-SA-3.0")) - setattr(cls, "CC-BY-SA-3.0-AT", - PermissibleValue(text="CC-BY-SA-3.0-AT")) - setattr(cls, "CC-BY-SA-3.0-DE", - PermissibleValue(text="CC-BY-SA-3.0-DE")) - setattr(cls, "CC-BY-SA-3.0-IGO", - PermissibleValue(text="CC-BY-SA-3.0-IGO")) - setattr(cls, "CC-BY-SA-4.0", - PermissibleValue(text="CC-BY-SA-4.0")) - setattr(cls, "CC-PDDC", - PermissibleValue(text="CC-PDDC")) - setattr(cls, "CC0-1.0", - PermissibleValue(text="CC0-1.0")) - setattr(cls, "CDDL-1.0", - PermissibleValue(text="CDDL-1.0")) - setattr(cls, "CDDL-1.1", - PermissibleValue(text="CDDL-1.1")) - setattr(cls, "CDL-1.0", - PermissibleValue(text="CDL-1.0")) - setattr(cls, "CDLA-Permissive-1.0", - PermissibleValue(text="CDLA-Permissive-1.0")) - setattr(cls, "CDLA-Permissive-2.0", - PermissibleValue(text="CDLA-Permissive-2.0")) - setattr(cls, "CDLA-Sharing-1.0", - PermissibleValue(text="CDLA-Sharing-1.0")) - setattr(cls, "CECILL-1.0", - PermissibleValue(text="CECILL-1.0")) - setattr(cls, "CECILL-1.1", - PermissibleValue(text="CECILL-1.1")) - setattr(cls, "CECILL-2.0", - PermissibleValue(text="CECILL-2.0")) - setattr(cls, "CECILL-2.1", - PermissibleValue(text="CECILL-2.1")) - setattr(cls, "CECILL-B", - PermissibleValue(text="CECILL-B")) - setattr(cls, "CECILL-C", - PermissibleValue(text="CECILL-C")) - setattr(cls, "CERN-OHL-1.1", - PermissibleValue(text="CERN-OHL-1.1")) - setattr(cls, "CERN-OHL-1.2", - PermissibleValue(text="CERN-OHL-1.2")) - setattr(cls, "CERN-OHL-P-2.0", - PermissibleValue(text="CERN-OHL-P-2.0")) - setattr(cls, "CERN-OHL-S-2.0", - PermissibleValue(text="CERN-OHL-S-2.0")) - setattr(cls, "CERN-OHL-W-2.0", - PermissibleValue(text="CERN-OHL-W-2.0")) - setattr(cls, "CMU-Mach", - PermissibleValue(text="CMU-Mach")) - setattr(cls, "CNRI-Jython", - PermissibleValue(text="CNRI-Jython")) - setattr(cls, "CNRI-Python", - PermissibleValue(text="CNRI-Python")) - setattr(cls, "CNRI-Python-GPL-Compatible", - PermissibleValue(text="CNRI-Python-GPL-Compatible")) - setattr(cls, "COIL-1.0", - PermissibleValue(text="COIL-1.0")) - setattr(cls, "Community-Spec-1.0", - PermissibleValue(text="Community-Spec-1.0")) - setattr(cls, "Condor-1.1", - PermissibleValue(text="Condor-1.1")) - setattr(cls, "copyleft-next-0.3.0", - PermissibleValue(text="copyleft-next-0.3.0")) - setattr(cls, "copyleft-next-0.3.1", - PermissibleValue(text="copyleft-next-0.3.1")) - setattr(cls, "Cornell-Lossless-JPEG", - PermissibleValue(text="Cornell-Lossless-JPEG")) - setattr(cls, "CPAL-1.0", - PermissibleValue(text="CPAL-1.0")) - setattr(cls, "CPL-1.0", - PermissibleValue(text="CPL-1.0")) - setattr(cls, "CPOL-1.02", - PermissibleValue(text="CPOL-1.02")) - setattr(cls, "CUA-OPL-1.0", - PermissibleValue(text="CUA-OPL-1.0")) - setattr(cls, "D-FSL-1.0", - PermissibleValue(text="D-FSL-1.0")) - setattr(cls, "DL-DE-BY-2.0", - PermissibleValue(text="DL-DE-BY-2.0")) - setattr(cls, "DRL-1.0", - PermissibleValue(text="DRL-1.0")) - setattr(cls, "ECL-1.0", - PermissibleValue(text="ECL-1.0")) - setattr(cls, "ECL-2.0", - PermissibleValue(text="ECL-2.0")) - setattr(cls, "EFL-1.0", - PermissibleValue(text="EFL-1.0")) - setattr(cls, "EFL-2.0", - PermissibleValue(text="EFL-2.0")) - setattr(cls, "Elastic-2.0", - PermissibleValue(text="Elastic-2.0")) - setattr(cls, "EPL-1.0", - PermissibleValue(text="EPL-1.0")) - setattr(cls, "EPL-2.0", - PermissibleValue(text="EPL-2.0")) - setattr(cls, "ErlPL-1.1", - PermissibleValue(text="ErlPL-1.1")) - setattr(cls, "etalab-2.0", - PermissibleValue(text="etalab-2.0")) - setattr(cls, "EUPL-1.0", - PermissibleValue(text="EUPL-1.0")) - setattr(cls, "EUPL-1.1", - PermissibleValue(text="EUPL-1.1")) - setattr(cls, "EUPL-1.2", - PermissibleValue(text="EUPL-1.2")) - setattr(cls, "FDK-AAC", - PermissibleValue(text="FDK-AAC")) - setattr(cls, "Frameworx-1.0", - PermissibleValue(text="Frameworx-1.0")) - setattr(cls, "FreeBSD-DOC", - PermissibleValue(text="FreeBSD-DOC")) - setattr(cls, "GFDL-1.1-invariants-only", - PermissibleValue(text="GFDL-1.1-invariants-only")) - setattr(cls, "GFDL-1.1-invariants-or-later", - PermissibleValue(text="GFDL-1.1-invariants-or-later")) - setattr(cls, "GFDL-1.1-no-invariants-only", - PermissibleValue(text="GFDL-1.1-no-invariants-only")) - setattr(cls, "GFDL-1.1-no-invariants-or-later", - PermissibleValue(text="GFDL-1.1-no-invariants-or-later")) - setattr(cls, "GFDL-1.1-only", - PermissibleValue(text="GFDL-1.1-only")) - setattr(cls, "GFDL-1.1-or-later", - PermissibleValue(text="GFDL-1.1-or-later")) - setattr(cls, "GFDL-1.2-invariants-only", - PermissibleValue(text="GFDL-1.2-invariants-only")) - setattr(cls, "GFDL-1.2-invariants-or-later", - PermissibleValue(text="GFDL-1.2-invariants-or-later")) - setattr(cls, "GFDL-1.2-no-invariants-only", - PermissibleValue(text="GFDL-1.2-no-invariants-only")) - setattr(cls, "GFDL-1.2-no-invariants-or-later", - PermissibleValue(text="GFDL-1.2-no-invariants-or-later")) - setattr(cls, "GFDL-1.2-only", - PermissibleValue(text="GFDL-1.2-only")) - setattr(cls, "GFDL-1.2-or-later", - PermissibleValue(text="GFDL-1.2-or-later")) - setattr(cls, "GFDL-1.3-invariants-only", - PermissibleValue(text="GFDL-1.3-invariants-only")) - setattr(cls, "GFDL-1.3-invariants-or-later", - PermissibleValue(text="GFDL-1.3-invariants-or-later")) - setattr(cls, "GFDL-1.3-no-invariants-only", - PermissibleValue(text="GFDL-1.3-no-invariants-only")) - setattr(cls, "GFDL-1.3-no-invariants-or-later", - PermissibleValue(text="GFDL-1.3-no-invariants-or-later")) - setattr(cls, "GFDL-1.3-only", - PermissibleValue(text="GFDL-1.3-only")) - setattr(cls, "GFDL-1.3-or-later", - PermissibleValue(text="GFDL-1.3-or-later")) - setattr(cls, "GPL-1.0-only", - PermissibleValue(text="GPL-1.0-only")) - setattr(cls, "GPL-1.0-or-later", - PermissibleValue(text="GPL-1.0-or-later")) - setattr(cls, "GPL-2.0-only", - PermissibleValue(text="GPL-2.0-only")) - setattr(cls, "GPL-2.0-or-later", - PermissibleValue(text="GPL-2.0-or-later")) - setattr(cls, "GPL-3.0-only", - PermissibleValue(text="GPL-3.0-only")) - setattr(cls, "GPL-3.0-or-later", - PermissibleValue(text="GPL-3.0-or-later")) - setattr(cls, "Graphics-Gems", - PermissibleValue(text="Graphics-Gems")) - setattr(cls, "gSOAP-1.3b", - PermissibleValue(text="gSOAP-1.3b")) - setattr(cls, "Hippocratic-2.1", - PermissibleValue(text="Hippocratic-2.1")) - setattr(cls, "HP-1986", - PermissibleValue(text="HP-1986")) - setattr(cls, "HPND-export-US", - PermissibleValue(text="HPND-export-US")) - setattr(cls, "HPND-Markus-Kuhn", - PermissibleValue(text="HPND-Markus-Kuhn")) - setattr(cls, "HPND-sell-variant", - PermissibleValue(text="HPND-sell-variant")) - setattr(cls, "HPND-sell-variant-MIT-disclaimer", - PermissibleValue(text="HPND-sell-variant-MIT-disclaimer")) - setattr(cls, "IBM-pibs", - PermissibleValue(text="IBM-pibs")) - setattr(cls, "IEC-Code-Components-EULA", - PermissibleValue(text="IEC-Code-Components-EULA")) - setattr(cls, "IJG-short", - PermissibleValue(text="IJG-short")) - setattr(cls, "Info-ZIP", - PermissibleValue(text="Info-ZIP")) - setattr(cls, "Inner-Net-2.0", - PermissibleValue(text="Inner-Net-2.0")) - setattr(cls, "Intel-ACPI", - PermissibleValue(text="Intel-ACPI")) - setattr(cls, "Interbase-1.0", - PermissibleValue(text="Interbase-1.0")) - setattr(cls, "IPL-1.0", - PermissibleValue(text="IPL-1.0")) - setattr(cls, "JasPer-2.0", - PermissibleValue(text="JasPer-2.0")) - setattr(cls, "JPL-image", - PermissibleValue(text="JPL-image")) - setattr(cls, "Knuth-CTAN", - PermissibleValue(text="Knuth-CTAN")) - setattr(cls, "LAL-1.2", - PermissibleValue(text="LAL-1.2")) - setattr(cls, "LAL-1.3", - PermissibleValue(text="LAL-1.3")) - setattr(cls, "Latex2e-translated-notice", - PermissibleValue(text="Latex2e-translated-notice")) - setattr(cls, "LGPL-2.0-only", - PermissibleValue(text="LGPL-2.0-only")) - setattr(cls, "LGPL-2.0-or-later", - PermissibleValue(text="LGPL-2.0-or-later")) - setattr(cls, "LGPL-2.1-only", - PermissibleValue(text="LGPL-2.1-only")) - setattr(cls, "LGPL-2.1-or-later", - PermissibleValue(text="LGPL-2.1-or-later")) - setattr(cls, "LGPL-3.0-only", - PermissibleValue(text="LGPL-3.0-only")) - setattr(cls, "LGPL-3.0-or-later", - PermissibleValue(text="LGPL-3.0-or-later")) - setattr(cls, "libpng-2.0", - PermissibleValue(text="libpng-2.0")) - setattr(cls, "libselinux-1.0", - PermissibleValue(text="libselinux-1.0")) - setattr(cls, "libutil-David-Nugent", - PermissibleValue(text="libutil-David-Nugent")) - setattr(cls, "LiLiQ-P-1.1", - PermissibleValue(text="LiLiQ-P-1.1")) - setattr(cls, "LiLiQ-R-1.1", - PermissibleValue(text="LiLiQ-R-1.1")) - setattr(cls, "LiLiQ-Rplus-1.1", - PermissibleValue(text="LiLiQ-Rplus-1.1")) - setattr(cls, "Linux-man-pages-1-para", - PermissibleValue(text="Linux-man-pages-1-para")) - setattr(cls, "Linux-man-pages-copyleft", - PermissibleValue(text="Linux-man-pages-copyleft")) - setattr(cls, "Linux-man-pages-copyleft-2-para", - PermissibleValue(text="Linux-man-pages-copyleft-2-para")) - setattr(cls, "Linux-man-pages-copyleft-var", - PermissibleValue(text="Linux-man-pages-copyleft-var")) - setattr(cls, "Linux-OpenIB", - PermissibleValue(text="Linux-OpenIB")) - setattr(cls, "LPL-1.0", - PermissibleValue(text="LPL-1.0")) - setattr(cls, "LPL-1.02", - PermissibleValue(text="LPL-1.02")) - setattr(cls, "LPPL-1.0", - PermissibleValue(text="LPPL-1.0")) - setattr(cls, "LPPL-1.1", - PermissibleValue(text="LPPL-1.1")) - setattr(cls, "LPPL-1.2", - PermissibleValue(text="LPPL-1.2")) - setattr(cls, "LPPL-1.3a", - PermissibleValue(text="LPPL-1.3a")) - setattr(cls, "LPPL-1.3c", - PermissibleValue(text="LPPL-1.3c")) - setattr(cls, "LZMA-SDK-9.11-to-9.20", - PermissibleValue(text="LZMA-SDK-9.11-to-9.20")) - setattr(cls, "LZMA-SDK-9.22", - PermissibleValue(text="LZMA-SDK-9.22")) - setattr(cls, "Martin-Birgmeier", - PermissibleValue(text="Martin-Birgmeier")) - setattr(cls, "MIT-0", - PermissibleValue(text="MIT-0")) - setattr(cls, "MIT-advertising", - PermissibleValue(text="MIT-advertising")) - setattr(cls, "MIT-CMU", - PermissibleValue(text="MIT-CMU")) - setattr(cls, "MIT-enna", - PermissibleValue(text="MIT-enna")) - setattr(cls, "MIT-feh", - PermissibleValue(text="MIT-feh")) - setattr(cls, "MIT-Festival", - PermissibleValue(text="MIT-Festival")) - setattr(cls, "MIT-Modern-Variant", - PermissibleValue(text="MIT-Modern-Variant")) - setattr(cls, "MIT-open-group", - PermissibleValue(text="MIT-open-group")) - setattr(cls, "MIT-Wu", - PermissibleValue(text="MIT-Wu")) - setattr(cls, "mpi-permissive", - PermissibleValue(text="mpi-permissive")) - setattr(cls, "MPL-1.0", - PermissibleValue(text="MPL-1.0")) - setattr(cls, "MPL-1.1", - PermissibleValue(text="MPL-1.1")) - setattr(cls, "MPL-2.0", - PermissibleValue(text="MPL-2.0")) - setattr(cls, "MPL-2.0-no-copyleft-exception", - PermissibleValue(text="MPL-2.0-no-copyleft-exception")) - setattr(cls, "MS-LPL", - PermissibleValue(text="MS-LPL")) - setattr(cls, "MS-PL", - PermissibleValue(text="MS-PL")) - setattr(cls, "MS-RL", - PermissibleValue(text="MS-RL")) - setattr(cls, "MulanPSL-1.0", - PermissibleValue(text="MulanPSL-1.0")) - setattr(cls, "MulanPSL-2.0", - PermissibleValue(text="MulanPSL-2.0")) - setattr(cls, "NAIST-2003", - PermissibleValue(text="NAIST-2003")) - setattr(cls, "NASA-1.3", - PermissibleValue(text="NASA-1.3")) - setattr(cls, "NBPL-1.0", - PermissibleValue(text="NBPL-1.0")) - setattr(cls, "NCGL-UK-2.0", - PermissibleValue(text="NCGL-UK-2.0")) - setattr(cls, "Net-SNMP", - PermissibleValue(text="Net-SNMP")) - setattr(cls, "NICTA-1.0", - PermissibleValue(text="NICTA-1.0")) - setattr(cls, "NIST-PD", - PermissibleValue(text="NIST-PD")) - setattr(cls, "NIST-PD-fallback", - PermissibleValue(text="NIST-PD-fallback")) - setattr(cls, "NIST-Software", - PermissibleValue(text="NIST-Software")) - setattr(cls, "NLOD-1.0", - PermissibleValue(text="NLOD-1.0")) - setattr(cls, "NLOD-2.0", - PermissibleValue(text="NLOD-2.0")) - setattr(cls, "NPL-1.0", - PermissibleValue(text="NPL-1.0")) - setattr(cls, "NPL-1.1", - PermissibleValue(text="NPL-1.1")) - setattr(cls, "NPOSL-3.0", - PermissibleValue(text="NPOSL-3.0")) - setattr(cls, "NTP-0", - PermissibleValue(text="NTP-0")) - setattr(cls, "O-UDA-1.0", - PermissibleValue(text="O-UDA-1.0")) - setattr(cls, "OCCT-PL", - PermissibleValue(text="OCCT-PL")) - setattr(cls, "OCLC-2.0", - PermissibleValue(text="OCLC-2.0")) - setattr(cls, "ODbL-1.0", - PermissibleValue(text="ODbL-1.0")) - setattr(cls, "ODC-By-1.0", - PermissibleValue(text="ODC-By-1.0")) - setattr(cls, "OFL-1.0", - PermissibleValue(text="OFL-1.0")) - setattr(cls, "OFL-1.0-no-RFN", - PermissibleValue(text="OFL-1.0-no-RFN")) - setattr(cls, "OFL-1.0-RFN", - PermissibleValue(text="OFL-1.0-RFN")) - setattr(cls, "OFL-1.1", - PermissibleValue(text="OFL-1.1")) - setattr(cls, "OFL-1.1-no-RFN", - PermissibleValue(text="OFL-1.1-no-RFN")) - setattr(cls, "OFL-1.1-RFN", - PermissibleValue(text="OFL-1.1-RFN")) - setattr(cls, "OGC-1.0", - PermissibleValue(text="OGC-1.0")) - setattr(cls, "OGDL-Taiwan-1.0", - PermissibleValue(text="OGDL-Taiwan-1.0")) - setattr(cls, "OGL-Canada-2.0", - PermissibleValue(text="OGL-Canada-2.0")) - setattr(cls, "OGL-UK-1.0", - PermissibleValue(text="OGL-UK-1.0")) - setattr(cls, "OGL-UK-2.0", - PermissibleValue(text="OGL-UK-2.0")) - setattr(cls, "OGL-UK-3.0", - PermissibleValue(text="OGL-UK-3.0")) - setattr(cls, "OLDAP-1.1", - PermissibleValue(text="OLDAP-1.1")) - setattr(cls, "OLDAP-1.2", - PermissibleValue(text="OLDAP-1.2")) - setattr(cls, "OLDAP-1.3", - PermissibleValue(text="OLDAP-1.3")) - setattr(cls, "OLDAP-1.4", - PermissibleValue(text="OLDAP-1.4")) - setattr(cls, "OLDAP-2.0", - PermissibleValue(text="OLDAP-2.0")) - setattr(cls, "OLDAP-2.0.1", - PermissibleValue(text="OLDAP-2.0.1")) - setattr(cls, "OLDAP-2.1", - PermissibleValue(text="OLDAP-2.1")) - setattr(cls, "OLDAP-2.2", - PermissibleValue(text="OLDAP-2.2")) - setattr(cls, "OLDAP-2.2.1", - PermissibleValue(text="OLDAP-2.2.1")) - setattr(cls, "OLDAP-2.2.2", - PermissibleValue(text="OLDAP-2.2.2")) - setattr(cls, "OLDAP-2.3", - PermissibleValue(text="OLDAP-2.3")) - setattr(cls, "OLDAP-2.4", - PermissibleValue(text="OLDAP-2.4")) - setattr(cls, "OLDAP-2.5", - PermissibleValue(text="OLDAP-2.5")) - setattr(cls, "OLDAP-2.6", - PermissibleValue(text="OLDAP-2.6")) - setattr(cls, "OLDAP-2.7", - PermissibleValue(text="OLDAP-2.7")) - setattr(cls, "OLDAP-2.8", - PermissibleValue(text="OLDAP-2.8")) - setattr(cls, "OLFL-1.3", - PermissibleValue(text="OLFL-1.3")) - setattr(cls, "OpenPBS-2.3", - PermissibleValue(text="OpenPBS-2.3")) - setattr(cls, "OPL-1.0", - PermissibleValue(text="OPL-1.0")) - setattr(cls, "OPL-UK-3.0", - PermissibleValue(text="OPL-UK-3.0")) - setattr(cls, "OPUBL-1.0", - PermissibleValue(text="OPUBL-1.0")) - setattr(cls, "OSET-PL-2.1", - PermissibleValue(text="OSET-PL-2.1")) - setattr(cls, "OSL-1.0", - PermissibleValue(text="OSL-1.0")) - setattr(cls, "OSL-1.1", - PermissibleValue(text="OSL-1.1")) - setattr(cls, "OSL-2.0", - PermissibleValue(text="OSL-2.0")) - setattr(cls, "OSL-2.1", - PermissibleValue(text="OSL-2.1")) - setattr(cls, "OSL-3.0", - PermissibleValue(text="OSL-3.0")) - setattr(cls, "Parity-6.0.0", - PermissibleValue(text="Parity-6.0.0")) - setattr(cls, "Parity-7.0.0", - PermissibleValue(text="Parity-7.0.0")) - setattr(cls, "PDDL-1.0", - PermissibleValue(text="PDDL-1.0")) - setattr(cls, "PHP-3.0", - PermissibleValue(text="PHP-3.0")) - setattr(cls, "PHP-3.01", - PermissibleValue(text="PHP-3.01")) - setattr(cls, "PolyForm-Noncommercial-1.0.0", - PermissibleValue(text="PolyForm-Noncommercial-1.0.0")) - setattr(cls, "PolyForm-Small-Business-1.0.0", - PermissibleValue(text="PolyForm-Small-Business-1.0.0")) - setattr(cls, "PSF-2.0", - PermissibleValue(text="PSF-2.0")) - setattr(cls, "Python-2.0", - PermissibleValue(text="Python-2.0")) - setattr(cls, "Python-2.0.1", - PermissibleValue(text="Python-2.0.1")) - setattr(cls, "QPL-1.0", - PermissibleValue(text="QPL-1.0")) - setattr(cls, "QPL-1.0-INRIA-2004", - PermissibleValue(text="QPL-1.0-INRIA-2004")) - setattr(cls, "RHeCos-1.1", - PermissibleValue(text="RHeCos-1.1")) - setattr(cls, "RPL-1.1", - PermissibleValue(text="RPL-1.1")) - setattr(cls, "RPL-1.5", - PermissibleValue(text="RPL-1.5")) - setattr(cls, "RPSL-1.0", - PermissibleValue(text="RPSL-1.0")) - setattr(cls, "RSA-MD", - PermissibleValue(text="RSA-MD")) - setattr(cls, "SAX-PD", - PermissibleValue(text="SAX-PD")) - setattr(cls, "Sendmail-8.23", - PermissibleValue(text="Sendmail-8.23")) - setattr(cls, "SGI-B-1.0", - PermissibleValue(text="SGI-B-1.0")) - setattr(cls, "SGI-B-1.1", - PermissibleValue(text="SGI-B-1.1")) - setattr(cls, "SGI-B-2.0", - PermissibleValue(text="SGI-B-2.0")) - setattr(cls, "SHL-0.5", - PermissibleValue(text="SHL-0.5")) - setattr(cls, "SHL-0.51", - PermissibleValue(text="SHL-0.51")) - setattr(cls, "SimPL-2.0", - PermissibleValue(text="SimPL-2.0")) - setattr(cls, "SISSL-1.2", - PermissibleValue(text="SISSL-1.2")) - setattr(cls, "Spencer-86", - PermissibleValue(text="Spencer-86")) - setattr(cls, "Spencer-94", - PermissibleValue(text="Spencer-94")) - setattr(cls, "Spencer-99", - PermissibleValue(text="Spencer-99")) - setattr(cls, "SPL-1.0", - PermissibleValue(text="SPL-1.0")) - setattr(cls, "SSH-OpenSSH", - PermissibleValue(text="SSH-OpenSSH")) - setattr(cls, "SSH-short", - PermissibleValue(text="SSH-short")) - setattr(cls, "SSPL-1.0", - PermissibleValue(text="SSPL-1.0")) - setattr(cls, "SugarCRM-1.1.3", - PermissibleValue(text="SugarCRM-1.1.3")) - setattr(cls, "TAPR-OHL-1.0", - PermissibleValue(text="TAPR-OHL-1.0")) - setattr(cls, "TCP-wrappers", - PermissibleValue(text="TCP-wrappers")) - setattr(cls, "TORQUE-1.1", - PermissibleValue(text="TORQUE-1.1")) - setattr(cls, "TPL-1.0", - PermissibleValue(text="TPL-1.0")) - setattr(cls, "TU-Berlin-1.0", - PermissibleValue(text="TU-Berlin-1.0")) - setattr(cls, "TU-Berlin-2.0", - PermissibleValue(text="TU-Berlin-2.0")) - setattr(cls, "UCL-1.0", - PermissibleValue(text="UCL-1.0")) - setattr(cls, "Unicode-DFS-2015", - PermissibleValue(text="Unicode-DFS-2015")) - setattr(cls, "Unicode-DFS-2016", - PermissibleValue(text="Unicode-DFS-2016")) - setattr(cls, "Unicode-TOU", - PermissibleValue(text="Unicode-TOU")) - setattr(cls, "UPL-1.0", - PermissibleValue(text="UPL-1.0")) - setattr(cls, "VSL-1.0", - PermissibleValue(text="VSL-1.0")) - setattr(cls, "W3C-19980720", - PermissibleValue(text="W3C-19980720")) - setattr(cls, "W3C-20150513", - PermissibleValue(text="W3C-20150513")) - setattr(cls, "Watcom-1.0", - PermissibleValue(text="Watcom-1.0")) - setattr(cls, "Widget-Workshop", - PermissibleValue(text="Widget-Workshop")) - setattr(cls, "X11-distribute-modifications-variant", - PermissibleValue(text="X11-distribute-modifications-variant")) - setattr(cls, "Xdebug-1.03", - PermissibleValue(text="Xdebug-1.03")) - setattr(cls, "XFree86-1.1", - PermissibleValue(text="XFree86-1.1")) - setattr(cls, "YPL-1.0", - PermissibleValue(text="YPL-1.0")) - setattr(cls, "YPL-1.1", - PermissibleValue(text="YPL-1.1")) - setattr(cls, "Zend-2.0", - PermissibleValue(text="Zend-2.0")) - setattr(cls, "Zimbra-1.3", - PermissibleValue(text="Zimbra-1.3")) - setattr(cls, "Zimbra-1.4", - PermissibleValue(text="Zimbra-1.4")) - setattr(cls, "zlib-acknowledgement", - PermissibleValue(text="zlib-acknowledgement")) - setattr(cls, "ZPL-1.1", - PermissibleValue(text="ZPL-1.1")) - setattr(cls, "ZPL-2.0", - PermissibleValue(text="ZPL-2.0")) - setattr(cls, "ZPL-2.1", - PermissibleValue(text="ZPL-2.1")) + setattr(cls, "0BSD", PermissibleValue(text="0BSD")) + setattr(cls, "AdaCore-doc", PermissibleValue(text="AdaCore-doc")) + setattr(cls, "Adobe-2006", PermissibleValue(text="Adobe-2006")) + setattr(cls, "Adobe-Glyph", PermissibleValue(text="Adobe-Glyph")) + setattr(cls, "AFL-1.1", PermissibleValue(text="AFL-1.1")) + setattr(cls, "AFL-1.2", PermissibleValue(text="AFL-1.2")) + setattr(cls, "AFL-2.0", PermissibleValue(text="AFL-2.0")) + setattr(cls, "AFL-2.1", PermissibleValue(text="AFL-2.1")) + setattr(cls, "AFL-3.0", PermissibleValue(text="AFL-3.0")) + setattr(cls, "AGPL-1.0-only", PermissibleValue(text="AGPL-1.0-only")) + setattr(cls, "AGPL-1.0-or-later", PermissibleValue(text="AGPL-1.0-or-later")) + setattr(cls, "AGPL-3.0-only", PermissibleValue(text="AGPL-3.0-only")) + setattr(cls, "AGPL-3.0-or-later", PermissibleValue(text="AGPL-3.0-or-later")) + setattr(cls, "ANTLR-PD", PermissibleValue(text="ANTLR-PD")) + setattr(cls, "ANTLR-PD-fallback", PermissibleValue(text="ANTLR-PD-fallback")) + setattr(cls, "Apache-1.0", PermissibleValue(text="Apache-1.0")) + setattr(cls, "Apache-1.1", PermissibleValue(text="Apache-1.1")) + setattr(cls, "Apache-2.0", PermissibleValue(text="Apache-2.0")) + setattr(cls, "APL-1.0", PermissibleValue(text="APL-1.0")) + setattr(cls, "App-s2p", PermissibleValue(text="App-s2p")) + setattr(cls, "APSL-1.0", PermissibleValue(text="APSL-1.0")) + setattr(cls, "APSL-1.1", PermissibleValue(text="APSL-1.1")) + setattr(cls, "APSL-1.2", PermissibleValue(text="APSL-1.2")) + setattr(cls, "APSL-2.0", PermissibleValue(text="APSL-2.0")) + setattr(cls, "Arphic-1999", PermissibleValue(text="Arphic-1999")) + setattr(cls, "Artistic-1.0", PermissibleValue(text="Artistic-1.0")) + setattr(cls, "Artistic-1.0-cl8", PermissibleValue(text="Artistic-1.0-cl8")) + setattr(cls, "Artistic-1.0-Perl", PermissibleValue(text="Artistic-1.0-Perl")) + setattr(cls, "Artistic-2.0", PermissibleValue(text="Artistic-2.0")) + setattr( + cls, + "ASWF-Digital-Assets-1.0", + PermissibleValue(text="ASWF-Digital-Assets-1.0"), + ) + setattr( + cls, + "ASWF-Digital-Assets-1.1", + PermissibleValue(text="ASWF-Digital-Assets-1.1"), + ) + setattr(cls, "Bitstream-Charter", PermissibleValue(text="Bitstream-Charter")) + setattr(cls, "Bitstream-Vera", PermissibleValue(text="Bitstream-Vera")) + setattr(cls, "BitTorrent-1.0", PermissibleValue(text="BitTorrent-1.0")) + setattr(cls, "BitTorrent-1.1", PermissibleValue(text="BitTorrent-1.1")) + setattr(cls, "BlueOak-1.0.0", PermissibleValue(text="BlueOak-1.0.0")) + setattr(cls, "Boehm-GC", PermissibleValue(text="Boehm-GC")) + setattr( + cls, + "Brian-Gladman-3-Clause", + PermissibleValue(text="Brian-Gladman-3-Clause"), + ) + setattr(cls, "BSD-1-Clause", PermissibleValue(text="BSD-1-Clause")) + setattr(cls, "BSD-2-Clause", PermissibleValue(text="BSD-2-Clause")) + setattr( + cls, "BSD-2-Clause-Patent", PermissibleValue(text="BSD-2-Clause-Patent") + ) + setattr(cls, "BSD-2-Clause-Views", PermissibleValue(text="BSD-2-Clause-Views")) + setattr(cls, "BSD-3-Clause", PermissibleValue(text="BSD-3-Clause")) + setattr( + cls, + "BSD-3-Clause-Attribution", + PermissibleValue(text="BSD-3-Clause-Attribution"), + ) + setattr(cls, "BSD-3-Clause-Clear", PermissibleValue(text="BSD-3-Clause-Clear")) + setattr(cls, "BSD-3-Clause-LBNL", PermissibleValue(text="BSD-3-Clause-LBNL")) + setattr( + cls, + "BSD-3-Clause-Modification", + PermissibleValue(text="BSD-3-Clause-Modification"), + ) + setattr( + cls, + "BSD-3-Clause-No-Military-License", + PermissibleValue(text="BSD-3-Clause-No-Military-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-License-2014", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-License-2014"), + ) + setattr( + cls, + "BSD-3-Clause-No-Nuclear-Warranty", + PermissibleValue(text="BSD-3-Clause-No-Nuclear-Warranty"), + ) + setattr( + cls, "BSD-3-Clause-Open-MPI", PermissibleValue(text="BSD-3-Clause-Open-MPI") + ) + setattr(cls, "BSD-4-Clause", PermissibleValue(text="BSD-4-Clause")) + setattr( + cls, + "BSD-4-Clause-Shortened", + PermissibleValue(text="BSD-4-Clause-Shortened"), + ) + setattr(cls, "BSD-4-Clause-UC", PermissibleValue(text="BSD-4-Clause-UC")) + setattr(cls, "BSD-4.3RENO", PermissibleValue(text="BSD-4.3RENO")) + setattr(cls, "BSD-4.3TAHOE", PermissibleValue(text="BSD-4.3TAHOE")) + setattr( + cls, + "BSD-Advertising-Acknowledgement", + PermissibleValue(text="BSD-Advertising-Acknowledgement"), + ) + setattr( + cls, + "BSD-Attribution-HPND-disclaimer", + PermissibleValue(text="BSD-Attribution-HPND-disclaimer"), + ) + setattr(cls, "BSD-Protection", PermissibleValue(text="BSD-Protection")) + setattr(cls, "BSD-Source-Code", PermissibleValue(text="BSD-Source-Code")) + setattr(cls, "BSL-1.0", PermissibleValue(text="BSL-1.0")) + setattr(cls, "BUSL-1.1", PermissibleValue(text="BUSL-1.1")) + setattr(cls, "bzip2-1.0.6", PermissibleValue(text="bzip2-1.0.6")) + setattr(cls, "C-UDA-1.0", PermissibleValue(text="C-UDA-1.0")) + setattr(cls, "CAL-1.0", PermissibleValue(text="CAL-1.0")) + setattr( + cls, + "CAL-1.0-Combined-Work-Exception", + PermissibleValue(text="CAL-1.0-Combined-Work-Exception"), + ) + setattr(cls, "CATOSL-1.1", PermissibleValue(text="CATOSL-1.1")) + setattr(cls, "CC-BY-1.0", PermissibleValue(text="CC-BY-1.0")) + setattr(cls, "CC-BY-2.0", PermissibleValue(text="CC-BY-2.0")) + setattr(cls, "CC-BY-2.5", PermissibleValue(text="CC-BY-2.5")) + setattr(cls, "CC-BY-2.5-AU", PermissibleValue(text="CC-BY-2.5-AU")) + setattr(cls, "CC-BY-3.0", PermissibleValue(text="CC-BY-3.0")) + setattr(cls, "CC-BY-3.0-AT", PermissibleValue(text="CC-BY-3.0-AT")) + setattr(cls, "CC-BY-3.0-DE", PermissibleValue(text="CC-BY-3.0-DE")) + setattr(cls, "CC-BY-3.0-IGO", PermissibleValue(text="CC-BY-3.0-IGO")) + setattr(cls, "CC-BY-3.0-NL", PermissibleValue(text="CC-BY-3.0-NL")) + setattr(cls, "CC-BY-3.0-US", PermissibleValue(text="CC-BY-3.0-US")) + setattr(cls, "CC-BY-4.0", PermissibleValue(text="CC-BY-4.0")) + setattr(cls, "CC-BY-NC-1.0", PermissibleValue(text="CC-BY-NC-1.0")) + setattr(cls, "CC-BY-NC-2.0", PermissibleValue(text="CC-BY-NC-2.0")) + setattr(cls, "CC-BY-NC-2.5", PermissibleValue(text="CC-BY-NC-2.5")) + setattr(cls, "CC-BY-NC-3.0", PermissibleValue(text="CC-BY-NC-3.0")) + setattr(cls, "CC-BY-NC-3.0-DE", PermissibleValue(text="CC-BY-NC-3.0-DE")) + setattr(cls, "CC-BY-NC-4.0", PermissibleValue(text="CC-BY-NC-4.0")) + setattr(cls, "CC-BY-NC-ND-1.0", PermissibleValue(text="CC-BY-NC-ND-1.0")) + setattr(cls, "CC-BY-NC-ND-2.0", PermissibleValue(text="CC-BY-NC-ND-2.0")) + setattr(cls, "CC-BY-NC-ND-2.5", PermissibleValue(text="CC-BY-NC-ND-2.5")) + setattr(cls, "CC-BY-NC-ND-3.0", PermissibleValue(text="CC-BY-NC-ND-3.0")) + setattr(cls, "CC-BY-NC-ND-3.0-DE", PermissibleValue(text="CC-BY-NC-ND-3.0-DE")) + setattr( + cls, "CC-BY-NC-ND-3.0-IGO", PermissibleValue(text="CC-BY-NC-ND-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-ND-4.0", PermissibleValue(text="CC-BY-NC-ND-4.0")) + setattr(cls, "CC-BY-NC-SA-1.0", PermissibleValue(text="CC-BY-NC-SA-1.0")) + setattr(cls, "CC-BY-NC-SA-2.0", PermissibleValue(text="CC-BY-NC-SA-2.0")) + setattr(cls, "CC-BY-NC-SA-2.0-DE", PermissibleValue(text="CC-BY-NC-SA-2.0-DE")) + setattr(cls, "CC-BY-NC-SA-2.0-FR", PermissibleValue(text="CC-BY-NC-SA-2.0-FR")) + setattr(cls, "CC-BY-NC-SA-2.0-UK", PermissibleValue(text="CC-BY-NC-SA-2.0-UK")) + setattr(cls, "CC-BY-NC-SA-2.5", PermissibleValue(text="CC-BY-NC-SA-2.5")) + setattr(cls, "CC-BY-NC-SA-3.0", PermissibleValue(text="CC-BY-NC-SA-3.0")) + setattr(cls, "CC-BY-NC-SA-3.0-DE", PermissibleValue(text="CC-BY-NC-SA-3.0-DE")) + setattr( + cls, "CC-BY-NC-SA-3.0-IGO", PermissibleValue(text="CC-BY-NC-SA-3.0-IGO") + ) + setattr(cls, "CC-BY-NC-SA-4.0", PermissibleValue(text="CC-BY-NC-SA-4.0")) + setattr(cls, "CC-BY-ND-1.0", PermissibleValue(text="CC-BY-ND-1.0")) + setattr(cls, "CC-BY-ND-2.0", PermissibleValue(text="CC-BY-ND-2.0")) + setattr(cls, "CC-BY-ND-2.5", PermissibleValue(text="CC-BY-ND-2.5")) + setattr(cls, "CC-BY-ND-3.0", PermissibleValue(text="CC-BY-ND-3.0")) + setattr(cls, "CC-BY-ND-3.0-DE", PermissibleValue(text="CC-BY-ND-3.0-DE")) + setattr(cls, "CC-BY-ND-4.0", PermissibleValue(text="CC-BY-ND-4.0")) + setattr(cls, "CC-BY-SA-1.0", PermissibleValue(text="CC-BY-SA-1.0")) + setattr(cls, "CC-BY-SA-2.0", PermissibleValue(text="CC-BY-SA-2.0")) + setattr(cls, "CC-BY-SA-2.0-UK", PermissibleValue(text="CC-BY-SA-2.0-UK")) + setattr(cls, "CC-BY-SA-2.1-JP", PermissibleValue(text="CC-BY-SA-2.1-JP")) + setattr(cls, "CC-BY-SA-2.5", PermissibleValue(text="CC-BY-SA-2.5")) + setattr(cls, "CC-BY-SA-3.0", PermissibleValue(text="CC-BY-SA-3.0")) + setattr(cls, "CC-BY-SA-3.0-AT", PermissibleValue(text="CC-BY-SA-3.0-AT")) + setattr(cls, "CC-BY-SA-3.0-DE", PermissibleValue(text="CC-BY-SA-3.0-DE")) + setattr(cls, "CC-BY-SA-3.0-IGO", PermissibleValue(text="CC-BY-SA-3.0-IGO")) + setattr(cls, "CC-BY-SA-4.0", PermissibleValue(text="CC-BY-SA-4.0")) + setattr(cls, "CC-PDDC", PermissibleValue(text="CC-PDDC")) + setattr(cls, "CC0-1.0", PermissibleValue(text="CC0-1.0")) + setattr(cls, "CDDL-1.0", PermissibleValue(text="CDDL-1.0")) + setattr(cls, "CDDL-1.1", PermissibleValue(text="CDDL-1.1")) + setattr(cls, "CDL-1.0", PermissibleValue(text="CDL-1.0")) + setattr( + cls, "CDLA-Permissive-1.0", PermissibleValue(text="CDLA-Permissive-1.0") + ) + setattr( + cls, "CDLA-Permissive-2.0", PermissibleValue(text="CDLA-Permissive-2.0") + ) + setattr(cls, "CDLA-Sharing-1.0", PermissibleValue(text="CDLA-Sharing-1.0")) + setattr(cls, "CECILL-1.0", PermissibleValue(text="CECILL-1.0")) + setattr(cls, "CECILL-1.1", PermissibleValue(text="CECILL-1.1")) + setattr(cls, "CECILL-2.0", PermissibleValue(text="CECILL-2.0")) + setattr(cls, "CECILL-2.1", PermissibleValue(text="CECILL-2.1")) + setattr(cls, "CECILL-B", PermissibleValue(text="CECILL-B")) + setattr(cls, "CECILL-C", PermissibleValue(text="CECILL-C")) + setattr(cls, "CERN-OHL-1.1", PermissibleValue(text="CERN-OHL-1.1")) + setattr(cls, "CERN-OHL-1.2", PermissibleValue(text="CERN-OHL-1.2")) + setattr(cls, "CERN-OHL-P-2.0", PermissibleValue(text="CERN-OHL-P-2.0")) + setattr(cls, "CERN-OHL-S-2.0", PermissibleValue(text="CERN-OHL-S-2.0")) + setattr(cls, "CERN-OHL-W-2.0", PermissibleValue(text="CERN-OHL-W-2.0")) + setattr(cls, "CMU-Mach", PermissibleValue(text="CMU-Mach")) + setattr(cls, "CNRI-Jython", PermissibleValue(text="CNRI-Jython")) + setattr(cls, "CNRI-Python", PermissibleValue(text="CNRI-Python")) + setattr( + cls, + "CNRI-Python-GPL-Compatible", + PermissibleValue(text="CNRI-Python-GPL-Compatible"), + ) + setattr(cls, "COIL-1.0", PermissibleValue(text="COIL-1.0")) + setattr(cls, "Community-Spec-1.0", PermissibleValue(text="Community-Spec-1.0")) + setattr(cls, "Condor-1.1", PermissibleValue(text="Condor-1.1")) + setattr( + cls, "copyleft-next-0.3.0", PermissibleValue(text="copyleft-next-0.3.0") + ) + setattr( + cls, "copyleft-next-0.3.1", PermissibleValue(text="copyleft-next-0.3.1") + ) + setattr( + cls, "Cornell-Lossless-JPEG", PermissibleValue(text="Cornell-Lossless-JPEG") + ) + setattr(cls, "CPAL-1.0", PermissibleValue(text="CPAL-1.0")) + setattr(cls, "CPL-1.0", PermissibleValue(text="CPL-1.0")) + setattr(cls, "CPOL-1.02", PermissibleValue(text="CPOL-1.02")) + setattr(cls, "CUA-OPL-1.0", PermissibleValue(text="CUA-OPL-1.0")) + setattr(cls, "D-FSL-1.0", PermissibleValue(text="D-FSL-1.0")) + setattr(cls, "DL-DE-BY-2.0", PermissibleValue(text="DL-DE-BY-2.0")) + setattr(cls, "DRL-1.0", PermissibleValue(text="DRL-1.0")) + setattr(cls, "ECL-1.0", PermissibleValue(text="ECL-1.0")) + setattr(cls, "ECL-2.0", PermissibleValue(text="ECL-2.0")) + setattr(cls, "EFL-1.0", PermissibleValue(text="EFL-1.0")) + setattr(cls, "EFL-2.0", PermissibleValue(text="EFL-2.0")) + setattr(cls, "Elastic-2.0", PermissibleValue(text="Elastic-2.0")) + setattr(cls, "EPL-1.0", PermissibleValue(text="EPL-1.0")) + setattr(cls, "EPL-2.0", PermissibleValue(text="EPL-2.0")) + setattr(cls, "ErlPL-1.1", PermissibleValue(text="ErlPL-1.1")) + setattr(cls, "etalab-2.0", PermissibleValue(text="etalab-2.0")) + setattr(cls, "EUPL-1.0", PermissibleValue(text="EUPL-1.0")) + setattr(cls, "EUPL-1.1", PermissibleValue(text="EUPL-1.1")) + setattr(cls, "EUPL-1.2", PermissibleValue(text="EUPL-1.2")) + setattr(cls, "FDK-AAC", PermissibleValue(text="FDK-AAC")) + setattr(cls, "Frameworx-1.0", PermissibleValue(text="Frameworx-1.0")) + setattr(cls, "FreeBSD-DOC", PermissibleValue(text="FreeBSD-DOC")) + setattr( + cls, + "GFDL-1.1-invariants-only", + PermissibleValue(text="GFDL-1.1-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-invariants-or-later", + PermissibleValue(text="GFDL-1.1-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-only", + PermissibleValue(text="GFDL-1.1-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.1-no-invariants-or-later", + PermissibleValue(text="GFDL-1.1-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.1-only", PermissibleValue(text="GFDL-1.1-only")) + setattr(cls, "GFDL-1.1-or-later", PermissibleValue(text="GFDL-1.1-or-later")) + setattr( + cls, + "GFDL-1.2-invariants-only", + PermissibleValue(text="GFDL-1.2-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-invariants-or-later", + PermissibleValue(text="GFDL-1.2-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-only", + PermissibleValue(text="GFDL-1.2-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.2-no-invariants-or-later", + PermissibleValue(text="GFDL-1.2-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.2-only", PermissibleValue(text="GFDL-1.2-only")) + setattr(cls, "GFDL-1.2-or-later", PermissibleValue(text="GFDL-1.2-or-later")) + setattr( + cls, + "GFDL-1.3-invariants-only", + PermissibleValue(text="GFDL-1.3-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-invariants-or-later", + PermissibleValue(text="GFDL-1.3-invariants-or-later"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-only", + PermissibleValue(text="GFDL-1.3-no-invariants-only"), + ) + setattr( + cls, + "GFDL-1.3-no-invariants-or-later", + PermissibleValue(text="GFDL-1.3-no-invariants-or-later"), + ) + setattr(cls, "GFDL-1.3-only", PermissibleValue(text="GFDL-1.3-only")) + setattr(cls, "GFDL-1.3-or-later", PermissibleValue(text="GFDL-1.3-or-later")) + setattr(cls, "GPL-1.0-only", PermissibleValue(text="GPL-1.0-only")) + setattr(cls, "GPL-1.0-or-later", PermissibleValue(text="GPL-1.0-or-later")) + setattr(cls, "GPL-2.0-only", PermissibleValue(text="GPL-2.0-only")) + setattr(cls, "GPL-2.0-or-later", PermissibleValue(text="GPL-2.0-or-later")) + setattr(cls, "GPL-3.0-only", PermissibleValue(text="GPL-3.0-only")) + setattr(cls, "GPL-3.0-or-later", PermissibleValue(text="GPL-3.0-or-later")) + setattr(cls, "Graphics-Gems", PermissibleValue(text="Graphics-Gems")) + setattr(cls, "gSOAP-1.3b", PermissibleValue(text="gSOAP-1.3b")) + setattr(cls, "Hippocratic-2.1", PermissibleValue(text="Hippocratic-2.1")) + setattr(cls, "HP-1986", PermissibleValue(text="HP-1986")) + setattr(cls, "HPND-export-US", PermissibleValue(text="HPND-export-US")) + setattr(cls, "HPND-Markus-Kuhn", PermissibleValue(text="HPND-Markus-Kuhn")) + setattr(cls, "HPND-sell-variant", PermissibleValue(text="HPND-sell-variant")) + setattr( + cls, + "HPND-sell-variant-MIT-disclaimer", + PermissibleValue(text="HPND-sell-variant-MIT-disclaimer"), + ) + setattr(cls, "IBM-pibs", PermissibleValue(text="IBM-pibs")) + setattr( + cls, + "IEC-Code-Components-EULA", + PermissibleValue(text="IEC-Code-Components-EULA"), + ) + setattr(cls, "IJG-short", PermissibleValue(text="IJG-short")) + setattr(cls, "Info-ZIP", PermissibleValue(text="Info-ZIP")) + setattr(cls, "Inner-Net-2.0", PermissibleValue(text="Inner-Net-2.0")) + setattr(cls, "Intel-ACPI", PermissibleValue(text="Intel-ACPI")) + setattr(cls, "Interbase-1.0", PermissibleValue(text="Interbase-1.0")) + setattr(cls, "IPL-1.0", PermissibleValue(text="IPL-1.0")) + setattr(cls, "JasPer-2.0", PermissibleValue(text="JasPer-2.0")) + setattr(cls, "JPL-image", PermissibleValue(text="JPL-image")) + setattr(cls, "Knuth-CTAN", PermissibleValue(text="Knuth-CTAN")) + setattr(cls, "LAL-1.2", PermissibleValue(text="LAL-1.2")) + setattr(cls, "LAL-1.3", PermissibleValue(text="LAL-1.3")) + setattr( + cls, + "Latex2e-translated-notice", + PermissibleValue(text="Latex2e-translated-notice"), + ) + setattr(cls, "LGPL-2.0-only", PermissibleValue(text="LGPL-2.0-only")) + setattr(cls, "LGPL-2.0-or-later", PermissibleValue(text="LGPL-2.0-or-later")) + setattr(cls, "LGPL-2.1-only", PermissibleValue(text="LGPL-2.1-only")) + setattr(cls, "LGPL-2.1-or-later", PermissibleValue(text="LGPL-2.1-or-later")) + setattr(cls, "LGPL-3.0-only", PermissibleValue(text="LGPL-3.0-only")) + setattr(cls, "LGPL-3.0-or-later", PermissibleValue(text="LGPL-3.0-or-later")) + setattr(cls, "libpng-2.0", PermissibleValue(text="libpng-2.0")) + setattr(cls, "libselinux-1.0", PermissibleValue(text="libselinux-1.0")) + setattr( + cls, "libutil-David-Nugent", PermissibleValue(text="libutil-David-Nugent") + ) + setattr(cls, "LiLiQ-P-1.1", PermissibleValue(text="LiLiQ-P-1.1")) + setattr(cls, "LiLiQ-R-1.1", PermissibleValue(text="LiLiQ-R-1.1")) + setattr(cls, "LiLiQ-Rplus-1.1", PermissibleValue(text="LiLiQ-Rplus-1.1")) + setattr( + cls, + "Linux-man-pages-1-para", + PermissibleValue(text="Linux-man-pages-1-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft", + PermissibleValue(text="Linux-man-pages-copyleft"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-2-para", + PermissibleValue(text="Linux-man-pages-copyleft-2-para"), + ) + setattr( + cls, + "Linux-man-pages-copyleft-var", + PermissibleValue(text="Linux-man-pages-copyleft-var"), + ) + setattr(cls, "Linux-OpenIB", PermissibleValue(text="Linux-OpenIB")) + setattr(cls, "LPL-1.0", PermissibleValue(text="LPL-1.0")) + setattr(cls, "LPL-1.02", PermissibleValue(text="LPL-1.02")) + setattr(cls, "LPPL-1.0", PermissibleValue(text="LPPL-1.0")) + setattr(cls, "LPPL-1.1", PermissibleValue(text="LPPL-1.1")) + setattr(cls, "LPPL-1.2", PermissibleValue(text="LPPL-1.2")) + setattr(cls, "LPPL-1.3a", PermissibleValue(text="LPPL-1.3a")) + setattr(cls, "LPPL-1.3c", PermissibleValue(text="LPPL-1.3c")) + setattr( + cls, "LZMA-SDK-9.11-to-9.20", PermissibleValue(text="LZMA-SDK-9.11-to-9.20") + ) + setattr(cls, "LZMA-SDK-9.22", PermissibleValue(text="LZMA-SDK-9.22")) + setattr(cls, "Martin-Birgmeier", PermissibleValue(text="Martin-Birgmeier")) + setattr(cls, "MIT-0", PermissibleValue(text="MIT-0")) + setattr(cls, "MIT-advertising", PermissibleValue(text="MIT-advertising")) + setattr(cls, "MIT-CMU", PermissibleValue(text="MIT-CMU")) + setattr(cls, "MIT-enna", PermissibleValue(text="MIT-enna")) + setattr(cls, "MIT-feh", PermissibleValue(text="MIT-feh")) + setattr(cls, "MIT-Festival", PermissibleValue(text="MIT-Festival")) + setattr(cls, "MIT-Modern-Variant", PermissibleValue(text="MIT-Modern-Variant")) + setattr(cls, "MIT-open-group", PermissibleValue(text="MIT-open-group")) + setattr(cls, "MIT-Wu", PermissibleValue(text="MIT-Wu")) + setattr(cls, "mpi-permissive", PermissibleValue(text="mpi-permissive")) + setattr(cls, "MPL-1.0", PermissibleValue(text="MPL-1.0")) + setattr(cls, "MPL-1.1", PermissibleValue(text="MPL-1.1")) + setattr(cls, "MPL-2.0", PermissibleValue(text="MPL-2.0")) + setattr( + cls, + "MPL-2.0-no-copyleft-exception", + PermissibleValue(text="MPL-2.0-no-copyleft-exception"), + ) + setattr(cls, "MS-LPL", PermissibleValue(text="MS-LPL")) + setattr(cls, "MS-PL", PermissibleValue(text="MS-PL")) + setattr(cls, "MS-RL", PermissibleValue(text="MS-RL")) + setattr(cls, "MulanPSL-1.0", PermissibleValue(text="MulanPSL-1.0")) + setattr(cls, "MulanPSL-2.0", PermissibleValue(text="MulanPSL-2.0")) + setattr(cls, "NAIST-2003", PermissibleValue(text="NAIST-2003")) + setattr(cls, "NASA-1.3", PermissibleValue(text="NASA-1.3")) + setattr(cls, "NBPL-1.0", PermissibleValue(text="NBPL-1.0")) + setattr(cls, "NCGL-UK-2.0", PermissibleValue(text="NCGL-UK-2.0")) + setattr(cls, "Net-SNMP", PermissibleValue(text="Net-SNMP")) + setattr(cls, "NICTA-1.0", PermissibleValue(text="NICTA-1.0")) + setattr(cls, "NIST-PD", PermissibleValue(text="NIST-PD")) + setattr(cls, "NIST-PD-fallback", PermissibleValue(text="NIST-PD-fallback")) + setattr(cls, "NIST-Software", PermissibleValue(text="NIST-Software")) + setattr(cls, "NLOD-1.0", PermissibleValue(text="NLOD-1.0")) + setattr(cls, "NLOD-2.0", PermissibleValue(text="NLOD-2.0")) + setattr(cls, "NPL-1.0", PermissibleValue(text="NPL-1.0")) + setattr(cls, "NPL-1.1", PermissibleValue(text="NPL-1.1")) + setattr(cls, "NPOSL-3.0", PermissibleValue(text="NPOSL-3.0")) + setattr(cls, "NTP-0", PermissibleValue(text="NTP-0")) + setattr(cls, "O-UDA-1.0", PermissibleValue(text="O-UDA-1.0")) + setattr(cls, "OCCT-PL", PermissibleValue(text="OCCT-PL")) + setattr(cls, "OCLC-2.0", PermissibleValue(text="OCLC-2.0")) + setattr(cls, "ODbL-1.0", PermissibleValue(text="ODbL-1.0")) + setattr(cls, "ODC-By-1.0", PermissibleValue(text="ODC-By-1.0")) + setattr(cls, "OFL-1.0", PermissibleValue(text="OFL-1.0")) + setattr(cls, "OFL-1.0-no-RFN", PermissibleValue(text="OFL-1.0-no-RFN")) + setattr(cls, "OFL-1.0-RFN", PermissibleValue(text="OFL-1.0-RFN")) + setattr(cls, "OFL-1.1", PermissibleValue(text="OFL-1.1")) + setattr(cls, "OFL-1.1-no-RFN", PermissibleValue(text="OFL-1.1-no-RFN")) + setattr(cls, "OFL-1.1-RFN", PermissibleValue(text="OFL-1.1-RFN")) + setattr(cls, "OGC-1.0", PermissibleValue(text="OGC-1.0")) + setattr(cls, "OGDL-Taiwan-1.0", PermissibleValue(text="OGDL-Taiwan-1.0")) + setattr(cls, "OGL-Canada-2.0", PermissibleValue(text="OGL-Canada-2.0")) + setattr(cls, "OGL-UK-1.0", PermissibleValue(text="OGL-UK-1.0")) + setattr(cls, "OGL-UK-2.0", PermissibleValue(text="OGL-UK-2.0")) + setattr(cls, "OGL-UK-3.0", PermissibleValue(text="OGL-UK-3.0")) + setattr(cls, "OLDAP-1.1", PermissibleValue(text="OLDAP-1.1")) + setattr(cls, "OLDAP-1.2", PermissibleValue(text="OLDAP-1.2")) + setattr(cls, "OLDAP-1.3", PermissibleValue(text="OLDAP-1.3")) + setattr(cls, "OLDAP-1.4", PermissibleValue(text="OLDAP-1.4")) + setattr(cls, "OLDAP-2.0", PermissibleValue(text="OLDAP-2.0")) + setattr(cls, "OLDAP-2.0.1", PermissibleValue(text="OLDAP-2.0.1")) + setattr(cls, "OLDAP-2.1", PermissibleValue(text="OLDAP-2.1")) + setattr(cls, "OLDAP-2.2", PermissibleValue(text="OLDAP-2.2")) + setattr(cls, "OLDAP-2.2.1", PermissibleValue(text="OLDAP-2.2.1")) + setattr(cls, "OLDAP-2.2.2", PermissibleValue(text="OLDAP-2.2.2")) + setattr(cls, "OLDAP-2.3", PermissibleValue(text="OLDAP-2.3")) + setattr(cls, "OLDAP-2.4", PermissibleValue(text="OLDAP-2.4")) + setattr(cls, "OLDAP-2.5", PermissibleValue(text="OLDAP-2.5")) + setattr(cls, "OLDAP-2.6", PermissibleValue(text="OLDAP-2.6")) + setattr(cls, "OLDAP-2.7", PermissibleValue(text="OLDAP-2.7")) + setattr(cls, "OLDAP-2.8", PermissibleValue(text="OLDAP-2.8")) + setattr(cls, "OLFL-1.3", PermissibleValue(text="OLFL-1.3")) + setattr(cls, "OpenPBS-2.3", PermissibleValue(text="OpenPBS-2.3")) + setattr(cls, "OPL-1.0", PermissibleValue(text="OPL-1.0")) + setattr(cls, "OPL-UK-3.0", PermissibleValue(text="OPL-UK-3.0")) + setattr(cls, "OPUBL-1.0", PermissibleValue(text="OPUBL-1.0")) + setattr(cls, "OSET-PL-2.1", PermissibleValue(text="OSET-PL-2.1")) + setattr(cls, "OSL-1.0", PermissibleValue(text="OSL-1.0")) + setattr(cls, "OSL-1.1", PermissibleValue(text="OSL-1.1")) + setattr(cls, "OSL-2.0", PermissibleValue(text="OSL-2.0")) + setattr(cls, "OSL-2.1", PermissibleValue(text="OSL-2.1")) + setattr(cls, "OSL-3.0", PermissibleValue(text="OSL-3.0")) + setattr(cls, "Parity-6.0.0", PermissibleValue(text="Parity-6.0.0")) + setattr(cls, "Parity-7.0.0", PermissibleValue(text="Parity-7.0.0")) + setattr(cls, "PDDL-1.0", PermissibleValue(text="PDDL-1.0")) + setattr(cls, "PHP-3.0", PermissibleValue(text="PHP-3.0")) + setattr(cls, "PHP-3.01", PermissibleValue(text="PHP-3.01")) + setattr( + cls, + "PolyForm-Noncommercial-1.0.0", + PermissibleValue(text="PolyForm-Noncommercial-1.0.0"), + ) + setattr( + cls, + "PolyForm-Small-Business-1.0.0", + PermissibleValue(text="PolyForm-Small-Business-1.0.0"), + ) + setattr(cls, "PSF-2.0", PermissibleValue(text="PSF-2.0")) + setattr(cls, "Python-2.0", PermissibleValue(text="Python-2.0")) + setattr(cls, "Python-2.0.1", PermissibleValue(text="Python-2.0.1")) + setattr(cls, "QPL-1.0", PermissibleValue(text="QPL-1.0")) + setattr(cls, "QPL-1.0-INRIA-2004", PermissibleValue(text="QPL-1.0-INRIA-2004")) + setattr(cls, "RHeCos-1.1", PermissibleValue(text="RHeCos-1.1")) + setattr(cls, "RPL-1.1", PermissibleValue(text="RPL-1.1")) + setattr(cls, "RPL-1.5", PermissibleValue(text="RPL-1.5")) + setattr(cls, "RPSL-1.0", PermissibleValue(text="RPSL-1.0")) + setattr(cls, "RSA-MD", PermissibleValue(text="RSA-MD")) + setattr(cls, "SAX-PD", PermissibleValue(text="SAX-PD")) + setattr(cls, "Sendmail-8.23", PermissibleValue(text="Sendmail-8.23")) + setattr(cls, "SGI-B-1.0", PermissibleValue(text="SGI-B-1.0")) + setattr(cls, "SGI-B-1.1", PermissibleValue(text="SGI-B-1.1")) + setattr(cls, "SGI-B-2.0", PermissibleValue(text="SGI-B-2.0")) + setattr(cls, "SHL-0.5", PermissibleValue(text="SHL-0.5")) + setattr(cls, "SHL-0.51", PermissibleValue(text="SHL-0.51")) + setattr(cls, "SimPL-2.0", PermissibleValue(text="SimPL-2.0")) + setattr(cls, "SISSL-1.2", PermissibleValue(text="SISSL-1.2")) + setattr(cls, "Spencer-86", PermissibleValue(text="Spencer-86")) + setattr(cls, "Spencer-94", PermissibleValue(text="Spencer-94")) + setattr(cls, "Spencer-99", PermissibleValue(text="Spencer-99")) + setattr(cls, "SPL-1.0", PermissibleValue(text="SPL-1.0")) + setattr(cls, "SSH-OpenSSH", PermissibleValue(text="SSH-OpenSSH")) + setattr(cls, "SSH-short", PermissibleValue(text="SSH-short")) + setattr(cls, "SSPL-1.0", PermissibleValue(text="SSPL-1.0")) + setattr(cls, "SugarCRM-1.1.3", PermissibleValue(text="SugarCRM-1.1.3")) + setattr(cls, "TAPR-OHL-1.0", PermissibleValue(text="TAPR-OHL-1.0")) + setattr(cls, "TCP-wrappers", PermissibleValue(text="TCP-wrappers")) + setattr(cls, "TORQUE-1.1", PermissibleValue(text="TORQUE-1.1")) + setattr(cls, "TPL-1.0", PermissibleValue(text="TPL-1.0")) + setattr(cls, "TU-Berlin-1.0", PermissibleValue(text="TU-Berlin-1.0")) + setattr(cls, "TU-Berlin-2.0", PermissibleValue(text="TU-Berlin-2.0")) + setattr(cls, "UCL-1.0", PermissibleValue(text="UCL-1.0")) + setattr(cls, "Unicode-DFS-2015", PermissibleValue(text="Unicode-DFS-2015")) + setattr(cls, "Unicode-DFS-2016", PermissibleValue(text="Unicode-DFS-2016")) + setattr(cls, "Unicode-TOU", PermissibleValue(text="Unicode-TOU")) + setattr(cls, "UPL-1.0", PermissibleValue(text="UPL-1.0")) + setattr(cls, "VSL-1.0", PermissibleValue(text="VSL-1.0")) + setattr(cls, "W3C-19980720", PermissibleValue(text="W3C-19980720")) + setattr(cls, "W3C-20150513", PermissibleValue(text="W3C-20150513")) + setattr(cls, "Watcom-1.0", PermissibleValue(text="Watcom-1.0")) + setattr(cls, "Widget-Workshop", PermissibleValue(text="Widget-Workshop")) + setattr( + cls, + "X11-distribute-modifications-variant", + PermissibleValue(text="X11-distribute-modifications-variant"), + ) + setattr(cls, "Xdebug-1.03", PermissibleValue(text="Xdebug-1.03")) + setattr(cls, "XFree86-1.1", PermissibleValue(text="XFree86-1.1")) + setattr(cls, "YPL-1.0", PermissibleValue(text="YPL-1.0")) + setattr(cls, "YPL-1.1", PermissibleValue(text="YPL-1.1")) + setattr(cls, "Zend-2.0", PermissibleValue(text="Zend-2.0")) + setattr(cls, "Zimbra-1.3", PermissibleValue(text="Zimbra-1.3")) + setattr(cls, "Zimbra-1.4", PermissibleValue(text="Zimbra-1.4")) + setattr( + cls, "zlib-acknowledgement", PermissibleValue(text="zlib-acknowledgement") + ) + setattr(cls, "ZPL-1.1", PermissibleValue(text="ZPL-1.1")) + setattr(cls, "ZPL-2.0", PermissibleValue(text="ZPL-2.0")) + setattr(cls, "ZPL-2.1", PermissibleValue(text="ZPL-2.1")) + class OSDistribution(EnumDefinitionImpl): """ Possible values for operating system distribution. """ + Debian = PermissibleValue(text="Debian") Fedora = PermissibleValue(text="Fedora") FreeBSD = PermissibleValue(text="FreeBSD") @@ -5426,35 +5130,37 @@ class OSDistribution(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Alpine Linux", - PermissibleValue(text="Alpine Linux")) - setattr(cls, "Arch Linux", - PermissibleValue(text="Arch Linux")) - setattr(cls, "CentOS Linux", - PermissibleValue(text="CentOS Linux")) - setattr(cls, "Gentoo Linux", - PermissibleValue(text="Gentoo Linux")) - setattr(cls, "Mandriva Linux", - PermissibleValue(text="Mandriva Linux")) - setattr(cls, "Mandriva Enterprise Server", - PermissibleValue(text="Mandriva Enterprise Server")) - setattr(cls, "MS-DOS", - PermissibleValue(text="MS-DOS")) - setattr(cls, "Novell NetWare", - PermissibleValue(text="Novell NetWare")) - setattr(cls, "Rocky Linux", - PermissibleValue(text="Rocky Linux")) - setattr(cls, "Red Hat Enterprise Linux", - PermissibleValue(text="Red Hat Enterprise Linux")) - setattr(cls, "SUSE Linux Enterprise Desktop", - PermissibleValue(text="SUSE Linux Enterprise Desktop")) - setattr(cls, "Microsoft Windows", - PermissibleValue(text="Microsoft Windows")) + setattr(cls, "Alpine Linux", PermissibleValue(text="Alpine Linux")) + setattr(cls, "Arch Linux", PermissibleValue(text="Arch Linux")) + setattr(cls, "CentOS Linux", PermissibleValue(text="CentOS Linux")) + setattr(cls, "Gentoo Linux", PermissibleValue(text="Gentoo Linux")) + setattr(cls, "Mandriva Linux", PermissibleValue(text="Mandriva Linux")) + setattr( + cls, + "Mandriva Enterprise Server", + PermissibleValue(text="Mandriva Enterprise Server"), + ) + setattr(cls, "MS-DOS", PermissibleValue(text="MS-DOS")) + setattr(cls, "Novell NetWare", PermissibleValue(text="Novell NetWare")) + setattr(cls, "Rocky Linux", PermissibleValue(text="Rocky Linux")) + setattr( + cls, + "Red Hat Enterprise Linux", + PermissibleValue(text="Red Hat Enterprise Linux"), + ) + setattr( + cls, + "SUSE Linux Enterprise Desktop", + PermissibleValue(text="SUSE Linux Enterprise Desktop"), + ) + setattr(cls, "Microsoft Windows", PermissibleValue(text="Microsoft Windows")) + class HypervisorType(EnumDefinitionImpl): """ Possible values for hypervisor types. """ + quemu = PermissibleValue(text="quemu") KVM = PermissibleValue(text="KVM") Xen = PermissibleValue(text="Xen") @@ -5468,35 +5174,34 @@ class HypervisorType(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Hyper-V", - PermissibleValue(text="Hyper-V")) - setattr(cls, "Cloud Hypervisor", - PermissibleValue(text="Cloud Hypervisor")) + setattr(cls, "Hyper-V", PermissibleValue(text="Hyper-V")) + setattr(cls, "Cloud Hypervisor", PermissibleValue(text="Cloud Hypervisor")) -class PersonalDataProtectionRegime(EnumDefinitionImpl): +class PersonalDataProtectionRegime(EnumDefinitionImpl): GDPR2016 = PermissibleValue( - text="GDPR2016", - description="General Data Protection Regulation / EEA.") + text="GDPR2016", description="General Data Protection Regulation / EEA." + ) LGPD2019 = PermissibleValue( text="LGPD2019", - description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.") + description="General Personal Data Protection Law (Lei Geral de Prote��o de Dados Pessoais) / BRA.", + ) PDPA2012 = PermissibleValue( - text="PDPA2012", - description="Personal Data Protection Act 2012 / SGP.") + text="PDPA2012", description="Personal Data Protection Act 2012 / SGP." + ) CCPA2018 = PermissibleValue( - text="CCPA2018", - description="California Consumer Privacy Act / US-CA.") + text="CCPA2018", description="California Consumer Privacy Act / US-CA." + ) VCDPA2021 = PermissibleValue( - text="VCDPA2021", - description="Virginia Consumer Data Protection Act / US-VA.") + text="VCDPA2021", description="Virginia Consumer Data Protection Act / US-VA." + ) _defn = EnumDefinition( name="PersonalDataProtectionRegime", ) -class RequestTypes(EnumDefinitionImpl): +class RequestTypes(EnumDefinitionImpl): API = PermissibleValue(text="API") email = PermissibleValue(text="email") webform = PermissibleValue(text="webform") @@ -5508,21 +5213,23 @@ class RequestTypes(EnumDefinitionImpl): name="RequestTypes", ) -class AccessTypes(EnumDefinitionImpl): +class AccessTypes(EnumDefinitionImpl): digital = PermissibleValue( text="digital", - description="Access via digital service, such as e-mail or web form.") + description="Access via digital service, such as e-mail or web form.", + ) physical = PermissibleValue( text="physical", - description="Access via physical medium, such as letter or physical appointment.") + description="Access via physical medium, such as letter or physical appointment.", + ) _defn = EnumDefinition( name="AccessTypes", ) -class MIMETypes(EnumDefinitionImpl): +class MIMETypes(EnumDefinitionImpl): calendar = PermissibleValue(text="calendar") cql = PermissibleValue(text="cql") css = PermissibleValue(text="css") @@ -5674,3012 +5381,4151 @@ class MIMETypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "1d-interleaved-parityfec", - PermissibleValue(text="1d-interleaved-parityfec")) - setattr(cls, "cache-manifest", - PermissibleValue(text="cache-manifest")) - setattr(cls, "cql-expression", - PermissibleValue(text="cql-expression")) - setattr(cls, "cql-identifier", - PermissibleValue(text="cql-identifier")) - setattr(cls, "csv-schema", - PermissibleValue(text="csv-schema")) - setattr(cls, "directory - DEPRECATED by RFC6350", - PermissibleValue(text="directory - DEPRECATED by RFC6350")) - setattr(cls, "ecmascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "grammar-ref-list", - PermissibleValue(text="grammar-ref-list")) - setattr(cls, "jcr-cnd", - PermissibleValue(text="jcr-cnd")) - setattr(cls, "provenance-notation", - PermissibleValue(text="provenance-notation")) - setattr(cls, "prs.fallenstein.rst", - PermissibleValue(text="prs.fallenstein.rst")) - setattr(cls, "prs.lines.tag", - PermissibleValue(text="prs.lines.tag")) - setattr(cls, "prs.prop.logic", - PermissibleValue(text="prs.prop.logic")) - setattr(cls, "rfc822-headers", - PermissibleValue(text="rfc822-headers")) - setattr(cls, "rtp-enc-aescm128", - PermissibleValue(text="rtp-enc-aescm128")) - setattr(cls, "tab-separated-values", - PermissibleValue(text="tab-separated-values")) - setattr(cls, "uri-list", - PermissibleValue(text="uri-list")) - setattr(cls, "vnd.a", - PermissibleValue(text="vnd.a")) - setattr(cls, "vnd.abc", - PermissibleValue(text="vnd.abc")) - setattr(cls, "vnd.ascii-art", - PermissibleValue(text="vnd.ascii-art")) - setattr(cls, "vnd.curl", - PermissibleValue(text="vnd.curl")) - setattr(cls, "vnd.debian.copyright", - PermissibleValue(text="vnd.debian.copyright")) - setattr(cls, "vnd.DMClientScript", - PermissibleValue(text="vnd.DMClientScript")) - setattr(cls, "vnd.dvb.subtitle", - PermissibleValue(text="vnd.dvb.subtitle")) - setattr(cls, "vnd.esmertec.theme-descriptor", - PermissibleValue(text="vnd.esmertec.theme-descriptor")) - setattr(cls, "vnd.exchangeable", - PermissibleValue(text="vnd.exchangeable")) - setattr(cls, "vnd.familysearch.gedcom", - PermissibleValue(text="vnd.familysearch.gedcom")) - setattr(cls, "vnd.ficlab.flt", - PermissibleValue(text="vnd.ficlab.flt")) - setattr(cls, "vnd.fly", - PermissibleValue(text="vnd.fly")) - setattr(cls, "vnd.fmi.flexstor", - PermissibleValue(text="vnd.fmi.flexstor")) - setattr(cls, "vnd.gml", - PermissibleValue(text="vnd.gml")) - setattr(cls, "vnd.graphviz", - PermissibleValue(text="vnd.graphviz")) - setattr(cls, "vnd.hans", - PermissibleValue(text="vnd.hans")) - setattr(cls, "vnd.hgl", - PermissibleValue(text="vnd.hgl")) - setattr(cls, "vnd.in3d.3dml", - PermissibleValue(text="vnd.in3d.3dml")) - setattr(cls, "vnd.in3d.spot", - PermissibleValue(text="vnd.in3d.spot")) - setattr(cls, "vnd.IPTC.NewsML", - PermissibleValue(text="vnd.IPTC.NewsML")) - setattr(cls, "vnd.IPTC.NITF", - PermissibleValue(text="vnd.IPTC.NITF")) - setattr(cls, "vnd.latex-z", - PermissibleValue(text="vnd.latex-z")) - setattr(cls, "vnd.motorola.reflex", - PermissibleValue(text="vnd.motorola.reflex")) - setattr(cls, "vnd.ms-mediapackage", - PermissibleValue(text="vnd.ms-mediapackage")) - setattr(cls, "vnd.net2phone.commcenter.command", - PermissibleValue(text="vnd.net2phone.commcenter.command")) - setattr(cls, "vnd.radisys.msml-basic-layout", - PermissibleValue(text="vnd.radisys.msml-basic-layout")) - setattr(cls, "vnd.senx.warpscript", - PermissibleValue(text="vnd.senx.warpscript")) - setattr(cls, "vnd.si.uricatalogue", - PermissibleValue(text="vnd.si.uricatalogue")) - setattr(cls, "vnd.sun.j2me.app-descriptor", - PermissibleValue(text="vnd.sun.j2me.app-descriptor")) - setattr(cls, "vnd.sosi", - PermissibleValue(text="vnd.sosi")) - setattr(cls, "vnd.trolltech.linguist", - PermissibleValue(text="vnd.trolltech.linguist")) - setattr(cls, "vnd.wap.si", - PermissibleValue(text="vnd.wap.si")) - setattr(cls, "vnd.wap.sl", - PermissibleValue(text="vnd.wap.sl")) - setattr(cls, "vnd.wap.wml", - PermissibleValue(text="vnd.wap.wml")) - setattr(cls, "vnd.wap.wmlscript", - PermissibleValue(text="vnd.wap.wmlscript")) - setattr(cls, "xml-external-parsed-entity", - PermissibleValue(text="xml-external-parsed-entity")) - setattr(cls, "3gpdash-qoe-report+xml", - PermissibleValue(text="3gpdash-qoe-report+xml")) - setattr(cls, "3gppHal+json", - PermissibleValue(text="3gppHal+json")) - setattr(cls, "3gppHalForms+json", - PermissibleValue(text="3gppHalForms+json")) - setattr(cls, "3gpp-ims+xml", - PermissibleValue(text="3gpp-ims+xml")) - setattr(cls, "ace+cbor", - PermissibleValue(text="ace+cbor")) - setattr(cls, "ace+json", - PermissibleValue(text="ace+json")) - setattr(cls, "activity+json", - PermissibleValue(text="activity+json")) - setattr(cls, "aif+cbor", - PermissibleValue(text="aif+cbor")) - setattr(cls, "aif+json", - PermissibleValue(text="aif+json")) - setattr(cls, "alto-cdni+json", - PermissibleValue(text="alto-cdni+json")) - setattr(cls, "alto-cdnifilter+json", - PermissibleValue(text="alto-cdnifilter+json")) - setattr(cls, "alto-costmap+json", - PermissibleValue(text="alto-costmap+json")) - setattr(cls, "alto-costmapfilter+json", - PermissibleValue(text="alto-costmapfilter+json")) - setattr(cls, "alto-directory+json", - PermissibleValue(text="alto-directory+json")) - setattr(cls, "alto-endpointprop+json", - PermissibleValue(text="alto-endpointprop+json")) - setattr(cls, "alto-endpointpropparams+json", - PermissibleValue(text="alto-endpointpropparams+json")) - setattr(cls, "alto-endpointcost+json", - PermissibleValue(text="alto-endpointcost+json")) - setattr(cls, "alto-endpointcostparams+json", - PermissibleValue(text="alto-endpointcostparams+json")) - setattr(cls, "alto-error+json", - PermissibleValue(text="alto-error+json")) - setattr(cls, "alto-networkmapfilter+json", - PermissibleValue(text="alto-networkmapfilter+json")) - setattr(cls, "alto-networkmap+json", - PermissibleValue(text="alto-networkmap+json")) - setattr(cls, "alto-propmap+json", - PermissibleValue(text="alto-propmap+json")) - setattr(cls, "alto-propmapparams+json", - PermissibleValue(text="alto-propmapparams+json")) - setattr(cls, "alto-updatestreamcontrol+json", - PermissibleValue(text="alto-updatestreamcontrol+json")) - setattr(cls, "alto-updatestreamparams+json", - PermissibleValue(text="alto-updatestreamparams+json")) - setattr(cls, "andrew-inset", - PermissibleValue(text="andrew-inset")) - setattr(cls, "at+jwt", - PermissibleValue(text="at+jwt")) - setattr(cls, "atom+xml", - PermissibleValue(text="atom+xml")) - setattr(cls, "atomcat+xml", - PermissibleValue(text="atomcat+xml")) - setattr(cls, "atomdeleted+xml", - PermissibleValue(text="atomdeleted+xml")) - setattr(cls, "atomsvc+xml", - PermissibleValue(text="atomsvc+xml")) - setattr(cls, "atsc-dwd+xml", - PermissibleValue(text="atsc-dwd+xml")) - setattr(cls, "atsc-dynamic-event-message", - PermissibleValue(text="atsc-dynamic-event-message")) - setattr(cls, "atsc-held+xml", - PermissibleValue(text="atsc-held+xml")) - setattr(cls, "atsc-rdt+json", - PermissibleValue(text="atsc-rdt+json")) - setattr(cls, "atsc-rsat+xml", - PermissibleValue(text="atsc-rsat+xml")) - setattr(cls, "auth-policy+xml", - PermissibleValue(text="auth-policy+xml")) - setattr(cls, "automationml-aml+xml", - PermissibleValue(text="automationml-aml+xml")) - setattr(cls, "automationml-amlx+zip", - PermissibleValue(text="automationml-amlx+zip")) - setattr(cls, "bacnet-xdd+zip", - PermissibleValue(text="bacnet-xdd+zip")) - setattr(cls, "batch-SMTP", - PermissibleValue(text="batch-SMTP")) - setattr(cls, "beep+xml", - PermissibleValue(text="beep+xml")) - setattr(cls, "calendar+json", - PermissibleValue(text="calendar+json")) - setattr(cls, "calendar+xml", - PermissibleValue(text="calendar+xml")) - setattr(cls, "call-completion", - PermissibleValue(text="call-completion")) - setattr(cls, "CALS-1840", - PermissibleValue(text="CALS-1840")) - setattr(cls, "captive+json", - PermissibleValue(text="captive+json")) - setattr(cls, "cbor-seq", - PermissibleValue(text="cbor-seq")) - setattr(cls, "ccmp+xml", - PermissibleValue(text="ccmp+xml")) - setattr(cls, "ccxml+xml", - PermissibleValue(text="ccxml+xml")) - setattr(cls, "cda+xml", - PermissibleValue(text="cda+xml")) - setattr(cls, "CDFX+XML", - PermissibleValue(text="CDFX+XML")) - setattr(cls, "cdmi-capability", - PermissibleValue(text="cdmi-capability")) - setattr(cls, "cdmi-container", - PermissibleValue(text="cdmi-container")) - setattr(cls, "cdmi-domain", - PermissibleValue(text="cdmi-domain")) - setattr(cls, "cdmi-object", - PermissibleValue(text="cdmi-object")) - setattr(cls, "cdmi-queue", - PermissibleValue(text="cdmi-queue")) - setattr(cls, "cea-2018+xml", - PermissibleValue(text="cea-2018+xml")) - setattr(cls, "cellml+xml", - PermissibleValue(text="cellml+xml")) - setattr(cls, "cid-edhoc+cbor-seq", - PermissibleValue(text="cid-edhoc+cbor-seq")) - setattr(cls, "city+json", - PermissibleValue(text="city+json")) - setattr(cls, "clue_info+xml", - PermissibleValue(text="clue_info+xml")) - setattr(cls, "clue+xml", - PermissibleValue(text="clue+xml")) - setattr(cls, "cnrp+xml", - PermissibleValue(text="cnrp+xml")) - setattr(cls, "coap-group+json", - PermissibleValue(text="coap-group+json")) - setattr(cls, "coap-payload", - PermissibleValue(text="coap-payload")) - setattr(cls, "concise-problem-details+cbor", - PermissibleValue(text="concise-problem-details+cbor")) - setattr(cls, "conference-info+xml", - PermissibleValue(text="conference-info+xml")) - setattr(cls, "cpl+xml", - PermissibleValue(text="cpl+xml")) - setattr(cls, "cose-key", - PermissibleValue(text="cose-key")) - setattr(cls, "cose-key-set", - PermissibleValue(text="cose-key-set")) - setattr(cls, "cose-x509", - PermissibleValue(text="cose-x509")) - setattr(cls, "csta+xml", - PermissibleValue(text="csta+xml")) - setattr(cls, "CSTAdata+xml", - PermissibleValue(text="CSTAdata+xml")) - setattr(cls, "csvm+json", - PermissibleValue(text="csvm+json")) - setattr(cls, "cwl+json", - PermissibleValue(text="cwl+json")) - setattr(cls, "dash+xml", - PermissibleValue(text="dash+xml")) - setattr(cls, "dash-patch+xml", - PermissibleValue(text="dash-patch+xml")) - setattr(cls, "davmount+xml", - PermissibleValue(text="davmount+xml")) - setattr(cls, "dca-rft", - PermissibleValue(text="dca-rft")) - setattr(cls, "dec-dx", - PermissibleValue(text="dec-dx")) - setattr(cls, "dialog-info+xml", - PermissibleValue(text="dialog-info+xml")) - setattr(cls, "dicom+json", - PermissibleValue(text="dicom+json")) - setattr(cls, "dicom+xml", - PermissibleValue(text="dicom+xml")) - setattr(cls, "dns+json", - PermissibleValue(text="dns+json")) - setattr(cls, "dns-message", - PermissibleValue(text="dns-message")) - setattr(cls, "dots+cbor", - PermissibleValue(text="dots+cbor")) - setattr(cls, "dpop+jwt", - PermissibleValue(text="dpop+jwt")) - setattr(cls, "dskpp+xml", - PermissibleValue(text="dskpp+xml")) - setattr(cls, "dssc+der", - PermissibleValue(text="dssc+der")) - setattr(cls, "dssc+xml", - PermissibleValue(text="dssc+xml")) - setattr(cls, "edhoc+cbor-seq", - PermissibleValue(text="edhoc+cbor-seq")) - setattr(cls, "EDI-consent", - PermissibleValue(text="EDI-consent")) - setattr(cls, "EDI-X12", - PermissibleValue(text="EDI-X12")) - setattr(cls, "elm+json", - PermissibleValue(text="elm+json")) - setattr(cls, "elm+xml", - PermissibleValue(text="elm+xml")) - setattr(cls, "EmergencyCallData.cap+xml", - PermissibleValue(text="EmergencyCallData.cap+xml")) - setattr(cls, "EmergencyCallData.Comment+xml", - PermissibleValue(text="EmergencyCallData.Comment+xml")) - setattr(cls, "EmergencyCallData.Control+xml", - PermissibleValue(text="EmergencyCallData.Control+xml")) - setattr(cls, "EmergencyCallData.DeviceInfo+xml", - PermissibleValue(text="EmergencyCallData.DeviceInfo+xml")) - setattr(cls, "EmergencyCallData.eCall.MSD", - PermissibleValue(text="EmergencyCallData.eCall.MSD")) - setattr(cls, "EmergencyCallData.LegacyESN+json", - PermissibleValue(text="EmergencyCallData.LegacyESN+json")) - setattr(cls, "EmergencyCallData.ProviderInfo+xml", - PermissibleValue(text="EmergencyCallData.ProviderInfo+xml")) - setattr(cls, "EmergencyCallData.ServiceInfo+xml", - PermissibleValue(text="EmergencyCallData.ServiceInfo+xml")) - setattr(cls, "EmergencyCallData.SubscriberInfo+xml", - PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml")) - setattr(cls, "EmergencyCallData.VEDS+xml", - PermissibleValue(text="EmergencyCallData.VEDS+xml")) - setattr(cls, "emma+xml", - PermissibleValue(text="emma+xml")) - setattr(cls, "emotionml+xml", - PermissibleValue(text="emotionml+xml")) - setattr(cls, "epp+xml", - PermissibleValue(text="epp+xml")) - setattr(cls, "epub+zip", - PermissibleValue(text="epub+zip")) - setattr(cls, "expect-ct-report+json", - PermissibleValue(text="expect-ct-report+json")) - setattr(cls, "fdt+xml", - PermissibleValue(text="fdt+xml")) - setattr(cls, "fhir+json", - PermissibleValue(text="fhir+json")) - setattr(cls, "fhir+xml", - PermissibleValue(text="fhir+xml")) - setattr(cls, "font-sfnt - DEPRECATED in favor of font/sfnt", - PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt")) - setattr(cls, "font-tdpfr", - PermissibleValue(text="font-tdpfr")) - setattr(cls, "font-woff - DEPRECATED in favor of font/woff", - PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff")) - setattr(cls, "framework-attributes+xml", - PermissibleValue(text="framework-attributes+xml")) - setattr(cls, "geo+json", - PermissibleValue(text="geo+json")) - setattr(cls, "geo+json-seq", - PermissibleValue(text="geo+json-seq")) - setattr(cls, "geopackage+sqlite3", - PermissibleValue(text="geopackage+sqlite3")) - setattr(cls, "geoxacml+xml", - PermissibleValue(text="geoxacml+xml")) - setattr(cls, "gltf-buffer", - PermissibleValue(text="gltf-buffer")) - setattr(cls, "gml+xml", - PermissibleValue(text="gml+xml")) - setattr(cls, "held+xml", - PermissibleValue(text="held+xml")) - setattr(cls, "hl7v2+xml", - PermissibleValue(text="hl7v2+xml")) - setattr(cls, "ibe-key-request+xml", - PermissibleValue(text="ibe-key-request+xml")) - setattr(cls, "ibe-pkg-reply+xml", - PermissibleValue(text="ibe-pkg-reply+xml")) - setattr(cls, "ibe-pp-data", - PermissibleValue(text="ibe-pp-data")) - setattr(cls, "im-iscomposing+xml", - PermissibleValue(text="im-iscomposing+xml")) - setattr(cls, "index.cmd", - PermissibleValue(text="index.cmd")) - setattr(cls, "index.obj", - PermissibleValue(text="index.obj")) - setattr(cls, "index.response", - PermissibleValue(text="index.response")) - setattr(cls, "index.vnd", - PermissibleValue(text="index.vnd")) - setattr(cls, "inkml+xml", - PermissibleValue(text="inkml+xml")) - setattr(cls, "its+xml", - PermissibleValue(text="its+xml")) - setattr(cls, "java-archive", - PermissibleValue(text="java-archive")) - setattr(cls, "javascript (OBSOLETED in favor of text/javascript)", - PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)")) - setattr(cls, "jf2feed+json", - PermissibleValue(text="jf2feed+json")) - setattr(cls, "jose+json", - PermissibleValue(text="jose+json")) - setattr(cls, "jrd+json", - PermissibleValue(text="jrd+json")) - setattr(cls, "jscalendar+json", - PermissibleValue(text="jscalendar+json")) - setattr(cls, "json-patch+json", - PermissibleValue(text="json-patch+json")) - setattr(cls, "json-seq", - PermissibleValue(text="json-seq")) - setattr(cls, "jwk+json", - PermissibleValue(text="jwk+json")) - setattr(cls, "jwk-set+json", - PermissibleValue(text="jwk-set+json")) - setattr(cls, "kpml-request+xml", - PermissibleValue(text="kpml-request+xml")) - setattr(cls, "kpml-response+xml", - PermissibleValue(text="kpml-response+xml")) - setattr(cls, "ld+json", - PermissibleValue(text="ld+json")) - setattr(cls, "lgr+xml", - PermissibleValue(text="lgr+xml")) - setattr(cls, "link-format", - PermissibleValue(text="link-format")) - setattr(cls, "linkset+json", - PermissibleValue(text="linkset+json")) - setattr(cls, "load-control+xml", - PermissibleValue(text="load-control+xml")) - setattr(cls, "logout+jwt", - PermissibleValue(text="logout+jwt")) - setattr(cls, "lost+xml", - PermissibleValue(text="lost+xml")) - setattr(cls, "lostsync+xml", - PermissibleValue(text="lostsync+xml")) - setattr(cls, "lpf+zip", - PermissibleValue(text="lpf+zip")) - setattr(cls, "mac-binhex40", - PermissibleValue(text="mac-binhex40")) - setattr(cls, "mads+xml", - PermissibleValue(text="mads+xml")) - setattr(cls, "manifest+json", - PermissibleValue(text="manifest+json")) - setattr(cls, "marcxml+xml", - PermissibleValue(text="marcxml+xml")) - setattr(cls, "mathml+xml", - PermissibleValue(text="mathml+xml")) - setattr(cls, "mathml-content+xml", - PermissibleValue(text="mathml-content+xml")) - setattr(cls, "mathml-presentation+xml", - PermissibleValue(text="mathml-presentation+xml")) - setattr(cls, "mbms-associated-procedure-description+xml", - PermissibleValue(text="mbms-associated-procedure-description+xml")) - setattr(cls, "mbms-deregister+xml", - PermissibleValue(text="mbms-deregister+xml")) - setattr(cls, "mbms-envelope+xml", - PermissibleValue(text="mbms-envelope+xml")) - setattr(cls, "mbms-msk-response+xml", - PermissibleValue(text="mbms-msk-response+xml")) - setattr(cls, "mbms-msk+xml", - PermissibleValue(text="mbms-msk+xml")) - setattr(cls, "mbms-protection-description+xml", - PermissibleValue(text="mbms-protection-description+xml")) - setattr(cls, "mbms-reception-report+xml", - PermissibleValue(text="mbms-reception-report+xml")) - setattr(cls, "mbms-register-response+xml", - PermissibleValue(text="mbms-register-response+xml")) - setattr(cls, "mbms-register+xml", - PermissibleValue(text="mbms-register+xml")) - setattr(cls, "mbms-schedule+xml", - PermissibleValue(text="mbms-schedule+xml")) - setattr(cls, "mbms-user-service-description+xml", - PermissibleValue(text="mbms-user-service-description+xml")) - setattr(cls, "media_control+xml", - PermissibleValue(text="media_control+xml")) - setattr(cls, "media-policy-dataset+xml", - PermissibleValue(text="media-policy-dataset+xml")) - setattr(cls, "mediaservercontrol+xml", - PermissibleValue(text="mediaservercontrol+xml")) - setattr(cls, "merge-patch+json", - PermissibleValue(text="merge-patch+json")) - setattr(cls, "metalink4+xml", - PermissibleValue(text="metalink4+xml")) - setattr(cls, "mets+xml", - PermissibleValue(text="mets+xml")) - setattr(cls, "missing-blocks+cbor-seq", - PermissibleValue(text="missing-blocks+cbor-seq")) - setattr(cls, "mmt-aei+xml", - PermissibleValue(text="mmt-aei+xml")) - setattr(cls, "mmt-usd+xml", - PermissibleValue(text="mmt-usd+xml")) - setattr(cls, "mods+xml", - PermissibleValue(text="mods+xml")) - setattr(cls, "moss-keys", - PermissibleValue(text="moss-keys")) - setattr(cls, "moss-signature", - PermissibleValue(text="moss-signature")) - setattr(cls, "mosskey-data", - PermissibleValue(text="mosskey-data")) - setattr(cls, "mosskey-request", - PermissibleValue(text="mosskey-request")) - setattr(cls, "mpeg4-generic", - PermissibleValue(text="mpeg4-generic")) - setattr(cls, "mpeg4-iod", - PermissibleValue(text="mpeg4-iod")) - setattr(cls, "mpeg4-iod-xmt", - PermissibleValue(text="mpeg4-iod-xmt")) - setattr(cls, "mrb-consumer+xml", - PermissibleValue(text="mrb-consumer+xml")) - setattr(cls, "mrb-publish+xml", - PermissibleValue(text="mrb-publish+xml")) - setattr(cls, "msc-ivr+xml", - PermissibleValue(text="msc-ivr+xml")) - setattr(cls, "msc-mixer+xml", - PermissibleValue(text="msc-mixer+xml")) - setattr(cls, "mud+json", - PermissibleValue(text="mud+json")) - setattr(cls, "multipart-core", - PermissibleValue(text="multipart-core")) - setattr(cls, "n-quads", - PermissibleValue(text="n-quads")) - setattr(cls, "n-triples", - PermissibleValue(text="n-triples")) - setattr(cls, "news-checkgroups", - PermissibleValue(text="news-checkgroups")) - setattr(cls, "news-groupinfo", - PermissibleValue(text="news-groupinfo")) - setattr(cls, "news-transmission", - PermissibleValue(text="news-transmission")) - setattr(cls, "nlsml+xml", - PermissibleValue(text="nlsml+xml")) - setattr(cls, "oauth-authz-req+jwt", - PermissibleValue(text="oauth-authz-req+jwt")) - setattr(cls, "oblivious-dns-message", - PermissibleValue(text="oblivious-dns-message")) - setattr(cls, "ocsp-request", - PermissibleValue(text="ocsp-request")) - setattr(cls, "ocsp-response", - PermissibleValue(text="ocsp-response")) - setattr(cls, "octet-stream", - PermissibleValue(text="octet-stream")) - setattr(cls, "odm+xml", - PermissibleValue(text="odm+xml")) - setattr(cls, "oebps-package+xml", - PermissibleValue(text="oebps-package+xml")) - setattr(cls, "ohttp-keys", - PermissibleValue(text="ohttp-keys")) - setattr(cls, "opc-nodeset+xml", - PermissibleValue(text="opc-nodeset+xml")) - setattr(cls, "p21+zip", - PermissibleValue(text="p21+zip")) - setattr(cls, "p2p-overlay+xml", - PermissibleValue(text="p2p-overlay+xml")) - setattr(cls, "patch-ops-error+xml", - PermissibleValue(text="patch-ops-error+xml")) - setattr(cls, "pem-certificate-chain", - PermissibleValue(text="pem-certificate-chain")) - setattr(cls, "pgp-encrypted", - PermissibleValue(text="pgp-encrypted")) - setattr(cls, "pgp-keys", - PermissibleValue(text="pgp-keys")) - setattr(cls, "pgp-signature", - PermissibleValue(text="pgp-signature")) - setattr(cls, "pidf-diff+xml", - PermissibleValue(text="pidf-diff+xml")) - setattr(cls, "pidf+xml", - PermissibleValue(text="pidf+xml")) - setattr(cls, "pkcs7-mime", - PermissibleValue(text="pkcs7-mime")) - setattr(cls, "pkcs7-signature", - PermissibleValue(text="pkcs7-signature")) - setattr(cls, "pkcs8-encrypted", - PermissibleValue(text="pkcs8-encrypted")) - setattr(cls, "pkix-attr-cert", - PermissibleValue(text="pkix-attr-cert")) - setattr(cls, "pkix-cert", - PermissibleValue(text="pkix-cert")) - setattr(cls, "pkix-crl", - PermissibleValue(text="pkix-crl")) - setattr(cls, "pkix-pkipath", - PermissibleValue(text="pkix-pkipath")) - setattr(cls, "pls+xml", - PermissibleValue(text="pls+xml")) - setattr(cls, "poc-settings+xml", - PermissibleValue(text="poc-settings+xml")) - setattr(cls, "ppsp-tracker+json", - PermissibleValue(text="ppsp-tracker+json")) - setattr(cls, "problem+json", - PermissibleValue(text="problem+json")) - setattr(cls, "problem+xml", - PermissibleValue(text="problem+xml")) - setattr(cls, "provenance+xml", - PermissibleValue(text="provenance+xml")) - setattr(cls, "prs.alvestrand.titrax-sheet", - PermissibleValue(text="prs.alvestrand.titrax-sheet")) - setattr(cls, "prs.cww", - PermissibleValue(text="prs.cww")) - setattr(cls, "prs.cyn", - PermissibleValue(text="prs.cyn")) - setattr(cls, "prs.hpub+zip", - PermissibleValue(text="prs.hpub+zip")) - setattr(cls, "prs.implied-document+xml", - PermissibleValue(text="prs.implied-document+xml")) - setattr(cls, "prs.implied-executable", - PermissibleValue(text="prs.implied-executable")) - setattr(cls, "prs.implied-structure", - PermissibleValue(text="prs.implied-structure")) - setattr(cls, "prs.nprend", - PermissibleValue(text="prs.nprend")) - setattr(cls, "prs.plucker", - PermissibleValue(text="prs.plucker")) - setattr(cls, "prs.rdf-xml-crypt", - PermissibleValue(text="prs.rdf-xml-crypt")) - setattr(cls, "prs.vcfbzip2", - PermissibleValue(text="prs.vcfbzip2")) - setattr(cls, "prs.xsf+xml", - PermissibleValue(text="prs.xsf+xml")) - setattr(cls, "pskc+xml", - PermissibleValue(text="pskc+xml")) - setattr(cls, "pvd+json", - PermissibleValue(text="pvd+json")) - setattr(cls, "rdf+xml", - PermissibleValue(text="rdf+xml")) - setattr(cls, "route-apd+xml", - PermissibleValue(text="route-apd+xml")) - setattr(cls, "route-s-tsid+xml", - PermissibleValue(text="route-s-tsid+xml")) - setattr(cls, "route-usd+xml", - PermissibleValue(text="route-usd+xml")) - setattr(cls, "rdap+json", - PermissibleValue(text="rdap+json")) - setattr(cls, "reginfo+xml", - PermissibleValue(text="reginfo+xml")) - setattr(cls, "relax-ng-compact-syntax", - PermissibleValue(text="relax-ng-compact-syntax")) - setattr(cls, "remote-printing (OBSOLETE)", - PermissibleValue(text="remote-printing (OBSOLETE)")) - setattr(cls, "reputon+json", - PermissibleValue(text="reputon+json")) - setattr(cls, "resource-lists-diff+xml", - PermissibleValue(text="resource-lists-diff+xml")) - setattr(cls, "resource-lists+xml", - PermissibleValue(text="resource-lists+xml")) - setattr(cls, "rfc+xml", - PermissibleValue(text="rfc+xml")) - setattr(cls, "rlmi+xml", - PermissibleValue(text="rlmi+xml")) - setattr(cls, "rls-services+xml", - PermissibleValue(text="rls-services+xml")) - setattr(cls, "rpki-checklist", - PermissibleValue(text="rpki-checklist")) - setattr(cls, "rpki-ghostbusters", - PermissibleValue(text="rpki-ghostbusters")) - setattr(cls, "rpki-manifest", - PermissibleValue(text="rpki-manifest")) - setattr(cls, "rpki-publication", - PermissibleValue(text="rpki-publication")) - setattr(cls, "rpki-roa", - PermissibleValue(text="rpki-roa")) - setattr(cls, "rpki-updown", - PermissibleValue(text="rpki-updown")) - setattr(cls, "samlassertion+xml", - PermissibleValue(text="samlassertion+xml")) - setattr(cls, "samlmetadata+xml", - PermissibleValue(text="samlmetadata+xml")) - setattr(cls, "sarif-external-properties+json", - PermissibleValue(text="sarif-external-properties+json")) - setattr(cls, "sarif+json", - PermissibleValue(text="sarif+json")) - setattr(cls, "sbml+xml", - PermissibleValue(text="sbml+xml")) - setattr(cls, "scaip+xml", - PermissibleValue(text="scaip+xml")) - setattr(cls, "scim+json", - PermissibleValue(text="scim+json")) - setattr(cls, "scvp-cv-request", - PermissibleValue(text="scvp-cv-request")) - setattr(cls, "scvp-cv-response", - PermissibleValue(text="scvp-cv-response")) - setattr(cls, "scvp-vp-request", - PermissibleValue(text="scvp-vp-request")) - setattr(cls, "scvp-vp-response", - PermissibleValue(text="scvp-vp-response")) - setattr(cls, "secevent+jwt", - PermissibleValue(text="secevent+jwt")) - setattr(cls, "senml-etch+cbor", - PermissibleValue(text="senml-etch+cbor")) - setattr(cls, "senml-etch+json", - PermissibleValue(text="senml-etch+json")) - setattr(cls, "senml-exi", - PermissibleValue(text="senml-exi")) - setattr(cls, "senml+cbor", - PermissibleValue(text="senml+cbor")) - setattr(cls, "senml+json", - PermissibleValue(text="senml+json")) - setattr(cls, "senml+xml", - PermissibleValue(text="senml+xml")) - setattr(cls, "sensml-exi", - PermissibleValue(text="sensml-exi")) - setattr(cls, "sensml+cbor", - PermissibleValue(text="sensml+cbor")) - setattr(cls, "sensml+json", - PermissibleValue(text="sensml+json")) - setattr(cls, "sensml+xml", - PermissibleValue(text="sensml+xml")) - setattr(cls, "sep-exi", - PermissibleValue(text="sep-exi")) - setattr(cls, "sep+xml", - PermissibleValue(text="sep+xml")) - setattr(cls, "session-info", - PermissibleValue(text="session-info")) - setattr(cls, "set-payment", - PermissibleValue(text="set-payment")) - setattr(cls, "set-payment-initiation", - PermissibleValue(text="set-payment-initiation")) - setattr(cls, "set-registration", - PermissibleValue(text="set-registration")) - setattr(cls, "set-registration-initiation", - PermissibleValue(text="set-registration-initiation")) - setattr(cls, "sgml-open-catalog", - PermissibleValue(text="sgml-open-catalog")) - setattr(cls, "shf+xml", - PermissibleValue(text="shf+xml")) - setattr(cls, "simple-filter+xml", - PermissibleValue(text="simple-filter+xml")) - setattr(cls, "simple-message-summary", - PermissibleValue(text="simple-message-summary")) - setattr(cls, "smil (OBSOLETED in favor of application/smil+xml)", - PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)")) - setattr(cls, "smil+xml", - PermissibleValue(text="smil+xml")) - setattr(cls, "soap+fastinfoset", - PermissibleValue(text="soap+fastinfoset")) - setattr(cls, "soap+xml", - PermissibleValue(text="soap+xml")) - setattr(cls, "sparql-query", - PermissibleValue(text="sparql-query")) - setattr(cls, "spdx+json", - PermissibleValue(text="spdx+json")) - setattr(cls, "sparql-results+xml", - PermissibleValue(text="sparql-results+xml")) - setattr(cls, "spirits-event+xml", - PermissibleValue(text="spirits-event+xml")) - setattr(cls, "srgs+xml", - PermissibleValue(text="srgs+xml")) - setattr(cls, "sru+xml", - PermissibleValue(text="sru+xml")) - setattr(cls, "ssml+xml", - PermissibleValue(text="ssml+xml")) - setattr(cls, "stix+json", - PermissibleValue(text="stix+json")) - setattr(cls, "swid+cbor", - PermissibleValue(text="swid+cbor")) - setattr(cls, "swid+xml", - PermissibleValue(text="swid+xml")) - setattr(cls, "tamp-apex-update", - PermissibleValue(text="tamp-apex-update")) - setattr(cls, "tamp-apex-update-confirm", - PermissibleValue(text="tamp-apex-update-confirm")) - setattr(cls, "tamp-community-update", - PermissibleValue(text="tamp-community-update")) - setattr(cls, "tamp-community-update-confirm", - PermissibleValue(text="tamp-community-update-confirm")) - setattr(cls, "tamp-error", - PermissibleValue(text="tamp-error")) - setattr(cls, "tamp-sequence-adjust", - PermissibleValue(text="tamp-sequence-adjust")) - setattr(cls, "tamp-sequence-adjust-confirm", - PermissibleValue(text="tamp-sequence-adjust-confirm")) - setattr(cls, "tamp-status-query", - PermissibleValue(text="tamp-status-query")) - setattr(cls, "tamp-status-response", - PermissibleValue(text="tamp-status-response")) - setattr(cls, "tamp-update", - PermissibleValue(text="tamp-update")) - setattr(cls, "tamp-update-confirm", - PermissibleValue(text="tamp-update-confirm")) - setattr(cls, "taxii+json", - PermissibleValue(text="taxii+json")) - setattr(cls, "td+json", - PermissibleValue(text="td+json")) - setattr(cls, "tei+xml", - PermissibleValue(text="tei+xml")) - setattr(cls, "thraud+xml", - PermissibleValue(text="thraud+xml")) - setattr(cls, "timestamp-query", - PermissibleValue(text="timestamp-query")) - setattr(cls, "timestamp-reply", - PermissibleValue(text="timestamp-reply")) - setattr(cls, "timestamped-data", - PermissibleValue(text="timestamped-data")) - setattr(cls, "tlsrpt+gzip", - PermissibleValue(text="tlsrpt+gzip")) - setattr(cls, "tlsrpt+json", - PermissibleValue(text="tlsrpt+json")) - setattr(cls, "tm+json", - PermissibleValue(text="tm+json")) - setattr(cls, "token-introspection+jwt", - PermissibleValue(text="token-introspection+jwt")) - setattr(cls, "trickle-ice-sdpfrag", - PermissibleValue(text="trickle-ice-sdpfrag")) - setattr(cls, "ttml+xml", - PermissibleValue(text="ttml+xml")) - setattr(cls, "tve-trigger", - PermissibleValue(text="tve-trigger")) - setattr(cls, "tzif-leap", - PermissibleValue(text="tzif-leap")) - setattr(cls, "urc-grpsheet+xml", - PermissibleValue(text="urc-grpsheet+xml")) - setattr(cls, "urc-ressheet+xml", - PermissibleValue(text="urc-ressheet+xml")) - setattr(cls, "urc-targetdesc+xml", - PermissibleValue(text="urc-targetdesc+xml")) - setattr(cls, "urc-uisocketdesc+xml", - PermissibleValue(text="urc-uisocketdesc+xml")) - setattr(cls, "vcard+json", - PermissibleValue(text="vcard+json")) - setattr(cls, "vcard+xml", - PermissibleValue(text="vcard+xml")) - setattr(cls, "vnd.1000minds.decision-model+xml", - PermissibleValue(text="vnd.1000minds.decision-model+xml")) - setattr(cls, "vnd.1ob", - PermissibleValue(text="vnd.1ob")) - setattr(cls, "vnd.3gpp.5gnas", - PermissibleValue(text="vnd.3gpp.5gnas")) - setattr(cls, "vnd.3gpp.access-transfer-events+xml", - PermissibleValue(text="vnd.3gpp.access-transfer-events+xml")) - setattr(cls, "vnd.3gpp.bsf+xml", - PermissibleValue(text="vnd.3gpp.bsf+xml")) - setattr(cls, "vnd.3gpp.crs+xml", - PermissibleValue(text="vnd.3gpp.crs+xml")) - setattr(cls, "vnd.3gpp.current-location-discovery+xml", - PermissibleValue(text="vnd.3gpp.current-location-discovery+xml")) - setattr(cls, "vnd.3gpp.GMOP+xml", - PermissibleValue(text="vnd.3gpp.GMOP+xml")) - setattr(cls, "vnd.3gpp.gtpc", - PermissibleValue(text="vnd.3gpp.gtpc")) - setattr(cls, "vnd.3gpp.interworking-data", - PermissibleValue(text="vnd.3gpp.interworking-data")) - setattr(cls, "vnd.3gpp.lpp", - PermissibleValue(text="vnd.3gpp.lpp")) - setattr(cls, "vnd.3gpp.mc-signalling-ear", - PermissibleValue(text="vnd.3gpp.mc-signalling-ear")) - setattr(cls, "vnd.3gpp.mcdata-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcdata-info+xml", - PermissibleValue(text="vnd.3gpp.mcdata-info+xml")) - setattr(cls, "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", - PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml")) - setattr(cls, "vnd.3gpp.mcdata-payload", - PermissibleValue(text="vnd.3gpp.mcdata-payload")) - setattr(cls, "vnd.3gpp.mcdata-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml")) - setattr(cls, "vnd.3gpp.mcdata-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-signalling", - PermissibleValue(text="vnd.3gpp.mcdata-signalling")) - setattr(cls, "vnd.3gpp.mcdata-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcdata-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcptt-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcptt-floor-request+xml", - PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml")) - setattr(cls, "vnd.3gpp.mcptt-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcptt-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml")) - setattr(cls, "vnd.3gpp.mcptt-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-signed+xml", - PermissibleValue(text="vnd.3gpp.mcptt-signed+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-ue-init-config+xml", - PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml")) - setattr(cls, "vnd.3gpp.mcptt-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-command+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml")) - setattr(cls, "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", - PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)")) - setattr(cls, "vnd.3gpp.mcvideo-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-location-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.mcvideo-regroup+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml")) - setattr(cls, "vnd.3gpp.mcvideo-service-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-transmission-request+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml")) - setattr(cls, "vnd.3gpp.mcvideo-ue-config+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml")) - setattr(cls, "vnd.3gpp.mcvideo-user-profile+xml", - PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml")) - setattr(cls, "vnd.3gpp.mid-call+xml", - PermissibleValue(text="vnd.3gpp.mid-call+xml")) - setattr(cls, "vnd.3gpp.ngap", - PermissibleValue(text="vnd.3gpp.ngap")) - setattr(cls, "vnd.3gpp.pfcp", - PermissibleValue(text="vnd.3gpp.pfcp")) - setattr(cls, "vnd.3gpp.pic-bw-large", - PermissibleValue(text="vnd.3gpp.pic-bw-large")) - setattr(cls, "vnd.3gpp.pic-bw-small", - PermissibleValue(text="vnd.3gpp.pic-bw-small")) - setattr(cls, "vnd.3gpp.pic-bw-var", - PermissibleValue(text="vnd.3gpp.pic-bw-var")) - setattr(cls, "vnd.3gpp-prose-pc3a+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3a+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ach+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml")) - setattr(cls, "vnd.3gpp-prose-pc3ch+xml", - PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml")) - setattr(cls, "vnd.3gpp-prose-pc8+xml", - PermissibleValue(text="vnd.3gpp-prose-pc8+xml")) - setattr(cls, "vnd.3gpp-prose+xml", - PermissibleValue(text="vnd.3gpp-prose+xml")) - setattr(cls, "vnd.3gpp.s1ap", - PermissibleValue(text="vnd.3gpp.s1ap")) - setattr(cls, "vnd.3gpp.seal-group-doc+xml", - PermissibleValue(text="vnd.3gpp.seal-group-doc+xml")) - setattr(cls, "vnd.3gpp.seal-info+xml", - PermissibleValue(text="vnd.3gpp.seal-info+xml")) - setattr(cls, "vnd.3gpp.seal-location-info+xml", - PermissibleValue(text="vnd.3gpp.seal-location-info+xml")) - setattr(cls, "vnd.3gpp.seal-mbms-usage-info+xml", - PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml")) - setattr(cls, "vnd.3gpp.seal-network-QoS-management-info+xml", - PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml")) - setattr(cls, "vnd.3gpp.seal-ue-config-info+xml", - PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml")) - setattr(cls, "vnd.3gpp.seal-unicast-info+xml", - PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml")) - setattr(cls, "vnd.3gpp.seal-user-profile-info+xml", - PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml")) - setattr(cls, "vnd.3gpp.sms", - PermissibleValue(text="vnd.3gpp.sms")) - setattr(cls, "vnd.3gpp.sms+xml", - PermissibleValue(text="vnd.3gpp.sms+xml")) - setattr(cls, "vnd.3gpp.srvcc-ext+xml", - PermissibleValue(text="vnd.3gpp.srvcc-ext+xml")) - setattr(cls, "vnd.3gpp.SRVCC-info+xml", - PermissibleValue(text="vnd.3gpp.SRVCC-info+xml")) - setattr(cls, "vnd.3gpp.state-and-event-info+xml", - PermissibleValue(text="vnd.3gpp.state-and-event-info+xml")) - setattr(cls, "vnd.3gpp.ussd+xml", - PermissibleValue(text="vnd.3gpp.ussd+xml")) - setattr(cls, "vnd.3gpp.vae-info+xml", - PermissibleValue(text="vnd.3gpp.vae-info+xml")) - setattr(cls, "vnd.3gpp-v2x-local-service-information", - PermissibleValue(text="vnd.3gpp-v2x-local-service-information")) - setattr(cls, "vnd.3gpp2.bcmcsinfo+xml", - PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml")) - setattr(cls, "vnd.3gpp2.sms", - PermissibleValue(text="vnd.3gpp2.sms")) - setattr(cls, "vnd.3gpp2.tcap", - PermissibleValue(text="vnd.3gpp2.tcap")) - setattr(cls, "vnd.3gpp.v2x", - PermissibleValue(text="vnd.3gpp.v2x")) - setattr(cls, "vnd.3lightssoftware.imagescal", - PermissibleValue(text="vnd.3lightssoftware.imagescal")) - setattr(cls, "vnd.3M.Post-it-Notes", - PermissibleValue(text="vnd.3M.Post-it-Notes")) - setattr(cls, "vnd.accpac.simply.aso", - PermissibleValue(text="vnd.accpac.simply.aso")) - setattr(cls, "vnd.accpac.simply.imp", - PermissibleValue(text="vnd.accpac.simply.imp")) - setattr(cls, "vnd.acm.addressxfer+json", - PermissibleValue(text="vnd.acm.addressxfer+json")) - setattr(cls, "vnd.acm.chatbot+json", - PermissibleValue(text="vnd.acm.chatbot+json")) - setattr(cls, "vnd.acucobol", - PermissibleValue(text="vnd.acucobol")) - setattr(cls, "vnd.acucorp", - PermissibleValue(text="vnd.acucorp")) - setattr(cls, "vnd.adobe.flash.movie", - PermissibleValue(text="vnd.adobe.flash.movie")) - setattr(cls, "vnd.adobe.formscentral.fcdt", - PermissibleValue(text="vnd.adobe.formscentral.fcdt")) - setattr(cls, "vnd.adobe.fxp", - PermissibleValue(text="vnd.adobe.fxp")) - setattr(cls, "vnd.adobe.partial-upload", - PermissibleValue(text="vnd.adobe.partial-upload")) - setattr(cls, "vnd.adobe.xdp+xml", - PermissibleValue(text="vnd.adobe.xdp+xml")) - setattr(cls, "vnd.aether.imp", - PermissibleValue(text="vnd.aether.imp")) - setattr(cls, "vnd.afpc.afplinedata", - PermissibleValue(text="vnd.afpc.afplinedata")) - setattr(cls, "vnd.afpc.afplinedata-pagedef", - PermissibleValue(text="vnd.afpc.afplinedata-pagedef")) - setattr(cls, "vnd.afpc.cmoca-cmresource", - PermissibleValue(text="vnd.afpc.cmoca-cmresource")) - setattr(cls, "vnd.afpc.foca-charset", - PermissibleValue(text="vnd.afpc.foca-charset")) - setattr(cls, "vnd.afpc.foca-codedfont", - PermissibleValue(text="vnd.afpc.foca-codedfont")) - setattr(cls, "vnd.afpc.foca-codepage", - PermissibleValue(text="vnd.afpc.foca-codepage")) - setattr(cls, "vnd.afpc.modca", - PermissibleValue(text="vnd.afpc.modca")) - setattr(cls, "vnd.afpc.modca-cmtable", - PermissibleValue(text="vnd.afpc.modca-cmtable")) - setattr(cls, "vnd.afpc.modca-formdef", - PermissibleValue(text="vnd.afpc.modca-formdef")) - setattr(cls, "vnd.afpc.modca-mediummap", - PermissibleValue(text="vnd.afpc.modca-mediummap")) - setattr(cls, "vnd.afpc.modca-objectcontainer", - PermissibleValue(text="vnd.afpc.modca-objectcontainer")) - setattr(cls, "vnd.afpc.modca-overlay", - PermissibleValue(text="vnd.afpc.modca-overlay")) - setattr(cls, "vnd.afpc.modca-pagesegment", - PermissibleValue(text="vnd.afpc.modca-pagesegment")) - setattr(cls, "vnd.age", - PermissibleValue(text="vnd.age")) - setattr(cls, "vnd.ah-barcode", - PermissibleValue(text="vnd.ah-barcode")) - setattr(cls, "vnd.ahead.space", - PermissibleValue(text="vnd.ahead.space")) - setattr(cls, "vnd.airzip.filesecure.azf", - PermissibleValue(text="vnd.airzip.filesecure.azf")) - setattr(cls, "vnd.airzip.filesecure.azs", - PermissibleValue(text="vnd.airzip.filesecure.azs")) - setattr(cls, "vnd.amadeus+json", - PermissibleValue(text="vnd.amadeus+json")) - setattr(cls, "vnd.amazon.mobi8-ebook", - PermissibleValue(text="vnd.amazon.mobi8-ebook")) - setattr(cls, "vnd.americandynamics.acc", - PermissibleValue(text="vnd.americandynamics.acc")) - setattr(cls, "vnd.amiga.ami", - PermissibleValue(text="vnd.amiga.ami")) - setattr(cls, "vnd.amundsen.maze+xml", - PermissibleValue(text="vnd.amundsen.maze+xml")) - setattr(cls, "vnd.android.ota", - PermissibleValue(text="vnd.android.ota")) - setattr(cls, "vnd.anki", - PermissibleValue(text="vnd.anki")) - setattr(cls, "vnd.anser-web-certificate-issue-initiation", - PermissibleValue(text="vnd.anser-web-certificate-issue-initiation")) - setattr(cls, "vnd.antix.game-component", - PermissibleValue(text="vnd.antix.game-component")) - setattr(cls, "vnd.apache.arrow.file", - PermissibleValue(text="vnd.apache.arrow.file")) - setattr(cls, "vnd.apache.arrow.stream", - PermissibleValue(text="vnd.apache.arrow.stream")) - setattr(cls, "vnd.apache.thrift.binary", - PermissibleValue(text="vnd.apache.thrift.binary")) - setattr(cls, "vnd.apache.thrift.compact", - PermissibleValue(text="vnd.apache.thrift.compact")) - setattr(cls, "vnd.apache.thrift.json", - PermissibleValue(text="vnd.apache.thrift.json")) - setattr(cls, "vnd.apexlang", - PermissibleValue(text="vnd.apexlang")) - setattr(cls, "vnd.api+json", - PermissibleValue(text="vnd.api+json")) - setattr(cls, "vnd.aplextor.warrp+json", - PermissibleValue(text="vnd.aplextor.warrp+json")) - setattr(cls, "vnd.apothekende.reservation+json", - PermissibleValue(text="vnd.apothekende.reservation+json")) - setattr(cls, "vnd.apple.installer+xml", - PermissibleValue(text="vnd.apple.installer+xml")) - setattr(cls, "vnd.apple.keynote", - PermissibleValue(text="vnd.apple.keynote")) - setattr(cls, "vnd.apple.mpegurl", - PermissibleValue(text="vnd.apple.mpegurl")) - setattr(cls, "vnd.apple.numbers", - PermissibleValue(text="vnd.apple.numbers")) - setattr(cls, "vnd.apple.pages", - PermissibleValue(text="vnd.apple.pages")) - setattr(cls, "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", - PermissibleValue(text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)")) - setattr(cls, "vnd.aristanetworks.swi", - PermissibleValue(text="vnd.aristanetworks.swi")) - setattr(cls, "vnd.artisan+json", - PermissibleValue(text="vnd.artisan+json")) - setattr(cls, "vnd.artsquare", - PermissibleValue(text="vnd.artsquare")) - setattr(cls, "vnd.astraea-software.iota", - PermissibleValue(text="vnd.astraea-software.iota")) - setattr(cls, "vnd.audiograph", - PermissibleValue(text="vnd.audiograph")) - setattr(cls, "vnd.autopackage", - PermissibleValue(text="vnd.autopackage")) - setattr(cls, "vnd.avalon+json", - PermissibleValue(text="vnd.avalon+json")) - setattr(cls, "vnd.avistar+xml", - PermissibleValue(text="vnd.avistar+xml")) - setattr(cls, "vnd.balsamiq.bmml+xml", - PermissibleValue(text="vnd.balsamiq.bmml+xml")) - setattr(cls, "vnd.banana-accounting", - PermissibleValue(text="vnd.banana-accounting")) - setattr(cls, "vnd.bbf.usp.error", - PermissibleValue(text="vnd.bbf.usp.error")) - setattr(cls, "vnd.bbf.usp.msg", - PermissibleValue(text="vnd.bbf.usp.msg")) - setattr(cls, "vnd.bbf.usp.msg+json", - PermissibleValue(text="vnd.bbf.usp.msg+json")) - setattr(cls, "vnd.balsamiq.bmpr", - PermissibleValue(text="vnd.balsamiq.bmpr")) - setattr(cls, "vnd.bekitzur-stech+json", - PermissibleValue(text="vnd.bekitzur-stech+json")) - setattr(cls, "vnd.belightsoft.lhzd+zip", - PermissibleValue(text="vnd.belightsoft.lhzd+zip")) - setattr(cls, "vnd.belightsoft.lhzl+zip", - PermissibleValue(text="vnd.belightsoft.lhzl+zip")) - setattr(cls, "vnd.bint.med-content", - PermissibleValue(text="vnd.bint.med-content")) - setattr(cls, "vnd.biopax.rdf+xml", - PermissibleValue(text="vnd.biopax.rdf+xml")) - setattr(cls, "vnd.blink-idb-value-wrapper", - PermissibleValue(text="vnd.blink-idb-value-wrapper")) - setattr(cls, "vnd.blueice.multipass", - PermissibleValue(text="vnd.blueice.multipass")) - setattr(cls, "vnd.bluetooth.ep.oob", - PermissibleValue(text="vnd.bluetooth.ep.oob")) - setattr(cls, "vnd.bluetooth.le.oob", - PermissibleValue(text="vnd.bluetooth.le.oob")) - setattr(cls, "vnd.bmi", - PermissibleValue(text="vnd.bmi")) - setattr(cls, "vnd.bpf", - PermissibleValue(text="vnd.bpf")) - setattr(cls, "vnd.bpf3", - PermissibleValue(text="vnd.bpf3")) - setattr(cls, "vnd.businessobjects", - PermissibleValue(text="vnd.businessobjects")) - setattr(cls, "vnd.byu.uapi+json", - PermissibleValue(text="vnd.byu.uapi+json")) - setattr(cls, "vnd.cab-jscript", - PermissibleValue(text="vnd.cab-jscript")) - setattr(cls, "vnd.canon-cpdl", - PermissibleValue(text="vnd.canon-cpdl")) - setattr(cls, "vnd.canon-lips", - PermissibleValue(text="vnd.canon-lips")) - setattr(cls, "vnd.capasystems-pg+json", - PermissibleValue(text="vnd.capasystems-pg+json")) - setattr(cls, "vnd.cendio.thinlinc.clientconf", - PermissibleValue(text="vnd.cendio.thinlinc.clientconf")) - setattr(cls, "vnd.century-systems.tcp_stream", - PermissibleValue(text="vnd.century-systems.tcp_stream")) - setattr(cls, "vnd.chemdraw+xml", - PermissibleValue(text="vnd.chemdraw+xml")) - setattr(cls, "vnd.chess-pgn", - PermissibleValue(text="vnd.chess-pgn")) - setattr(cls, "vnd.chipnuts.karaoke-mmd", - PermissibleValue(text="vnd.chipnuts.karaoke-mmd")) - setattr(cls, "vnd.ciedi", - PermissibleValue(text="vnd.ciedi")) - setattr(cls, "vnd.cinderella", - PermissibleValue(text="vnd.cinderella")) - setattr(cls, "vnd.cirpack.isdn-ext", - PermissibleValue(text="vnd.cirpack.isdn-ext")) - setattr(cls, "vnd.citationstyles.style+xml", - PermissibleValue(text="vnd.citationstyles.style+xml")) - setattr(cls, "vnd.claymore", - PermissibleValue(text="vnd.claymore")) - setattr(cls, "vnd.cloanto.rp9", - PermissibleValue(text="vnd.cloanto.rp9")) - setattr(cls, "vnd.clonk.c4group", - PermissibleValue(text="vnd.clonk.c4group")) - setattr(cls, "vnd.cluetrust.cartomobile-config", - PermissibleValue(text="vnd.cluetrust.cartomobile-config")) - setattr(cls, "vnd.cluetrust.cartomobile-config-pkg", - PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg")) - setattr(cls, "vnd.cncf.helm.chart.content.v1.tar+gzip", - PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip")) - setattr(cls, "vnd.cncf.helm.chart.provenance.v1.prov", - PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov")) - setattr(cls, "vnd.cncf.helm.config.v1+json", - PermissibleValue(text="vnd.cncf.helm.config.v1+json")) - setattr(cls, "vnd.coffeescript", - PermissibleValue(text="vnd.coffeescript")) - setattr(cls, "vnd.collabio.xodocuments.document", - PermissibleValue(text="vnd.collabio.xodocuments.document")) - setattr(cls, "vnd.collabio.xodocuments.document-template", - PermissibleValue(text="vnd.collabio.xodocuments.document-template")) - setattr(cls, "vnd.collabio.xodocuments.presentation", - PermissibleValue(text="vnd.collabio.xodocuments.presentation")) - setattr(cls, "vnd.collabio.xodocuments.presentation-template", - PermissibleValue(text="vnd.collabio.xodocuments.presentation-template")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet")) - setattr(cls, "vnd.collabio.xodocuments.spreadsheet-template", - PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template")) - setattr(cls, "vnd.collection.doc+json", - PermissibleValue(text="vnd.collection.doc+json")) - setattr(cls, "vnd.collection+json", - PermissibleValue(text="vnd.collection+json")) - setattr(cls, "vnd.collection.next+json", - PermissibleValue(text="vnd.collection.next+json")) - setattr(cls, "vnd.comicbook-rar", - PermissibleValue(text="vnd.comicbook-rar")) - setattr(cls, "vnd.comicbook+zip", - PermissibleValue(text="vnd.comicbook+zip")) - setattr(cls, "vnd.commerce-battelle", - PermissibleValue(text="vnd.commerce-battelle")) - setattr(cls, "vnd.commonspace", - PermissibleValue(text="vnd.commonspace")) - setattr(cls, "vnd.coreos.ignition+json", - PermissibleValue(text="vnd.coreos.ignition+json")) - setattr(cls, "vnd.cosmocaller", - PermissibleValue(text="vnd.cosmocaller")) - setattr(cls, "vnd.contact.cmsg", - PermissibleValue(text="vnd.contact.cmsg")) - setattr(cls, "vnd.crick.clicker", - PermissibleValue(text="vnd.crick.clicker")) - setattr(cls, "vnd.crick.clicker.keyboard", - PermissibleValue(text="vnd.crick.clicker.keyboard")) - setattr(cls, "vnd.crick.clicker.palette", - PermissibleValue(text="vnd.crick.clicker.palette")) - setattr(cls, "vnd.crick.clicker.template", - PermissibleValue(text="vnd.crick.clicker.template")) - setattr(cls, "vnd.crick.clicker.wordbank", - PermissibleValue(text="vnd.crick.clicker.wordbank")) - setattr(cls, "vnd.criticaltools.wbs+xml", - PermissibleValue(text="vnd.criticaltools.wbs+xml")) - setattr(cls, "vnd.cryptii.pipe+json", - PermissibleValue(text="vnd.cryptii.pipe+json")) - setattr(cls, "vnd.crypto-shade-file", - PermissibleValue(text="vnd.crypto-shade-file")) - setattr(cls, "vnd.cryptomator.encrypted", - PermissibleValue(text="vnd.cryptomator.encrypted")) - setattr(cls, "vnd.cryptomator.vault", - PermissibleValue(text="vnd.cryptomator.vault")) - setattr(cls, "vnd.ctc-posml", - PermissibleValue(text="vnd.ctc-posml")) - setattr(cls, "vnd.ctct.ws+xml", - PermissibleValue(text="vnd.ctct.ws+xml")) - setattr(cls, "vnd.cups-pdf", - PermissibleValue(text="vnd.cups-pdf")) - setattr(cls, "vnd.cups-postscript", - PermissibleValue(text="vnd.cups-postscript")) - setattr(cls, "vnd.cups-ppd", - PermissibleValue(text="vnd.cups-ppd")) - setattr(cls, "vnd.cups-raster", - PermissibleValue(text="vnd.cups-raster")) - setattr(cls, "vnd.cups-raw", - PermissibleValue(text="vnd.cups-raw")) - setattr(cls, "vnd.cyan.dean.root+xml", - PermissibleValue(text="vnd.cyan.dean.root+xml")) - setattr(cls, "vnd.cybank", - PermissibleValue(text="vnd.cybank")) - setattr(cls, "vnd.cyclonedx+json", - PermissibleValue(text="vnd.cyclonedx+json")) - setattr(cls, "vnd.cyclonedx+xml", - PermissibleValue(text="vnd.cyclonedx+xml")) - setattr(cls, "vnd.d2l.coursepackage1p0+zip", - PermissibleValue(text="vnd.d2l.coursepackage1p0+zip")) - setattr(cls, "vnd.d3m-dataset", - PermissibleValue(text="vnd.d3m-dataset")) - setattr(cls, "vnd.d3m-problem", - PermissibleValue(text="vnd.d3m-problem")) - setattr(cls, "vnd.dart", - PermissibleValue(text="vnd.dart")) - setattr(cls, "vnd.data-vision.rdz", - PermissibleValue(text="vnd.data-vision.rdz")) - setattr(cls, "vnd.datalog", - PermissibleValue(text="vnd.datalog")) - setattr(cls, "vnd.datapackage+json", - PermissibleValue(text="vnd.datapackage+json")) - setattr(cls, "vnd.dataresource+json", - PermissibleValue(text="vnd.dataresource+json")) - setattr(cls, "vnd.dbf", - PermissibleValue(text="vnd.dbf")) - setattr(cls, "vnd.debian.binary-package", - PermissibleValue(text="vnd.debian.binary-package")) - setattr(cls, "vnd.dece.data", - PermissibleValue(text="vnd.dece.data")) - setattr(cls, "vnd.dece.ttml+xml", - PermissibleValue(text="vnd.dece.ttml+xml")) - setattr(cls, "vnd.dece.unspecified", - PermissibleValue(text="vnd.dece.unspecified")) - setattr(cls, "vnd.dece.zip", - PermissibleValue(text="vnd.dece.zip")) - setattr(cls, "vnd.denovo.fcselayout-link", - PermissibleValue(text="vnd.denovo.fcselayout-link")) - setattr(cls, "vnd.desmume.movie", - PermissibleValue(text="vnd.desmume.movie")) - setattr(cls, "vnd.dir-bi.plate-dl-nosuffix", - PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix")) - setattr(cls, "vnd.dm.delegation+xml", - PermissibleValue(text="vnd.dm.delegation+xml")) - setattr(cls, "vnd.dna", - PermissibleValue(text="vnd.dna")) - setattr(cls, "vnd.document+json", - PermissibleValue(text="vnd.document+json")) - setattr(cls, "vnd.dolby.mobile.1", - PermissibleValue(text="vnd.dolby.mobile.1")) - setattr(cls, "vnd.dolby.mobile.2", - PermissibleValue(text="vnd.dolby.mobile.2")) - setattr(cls, "vnd.doremir.scorecloud-binary-document", - PermissibleValue(text="vnd.doremir.scorecloud-binary-document")) - setattr(cls, "vnd.dpgraph", - PermissibleValue(text="vnd.dpgraph")) - setattr(cls, "vnd.dreamfactory", - PermissibleValue(text="vnd.dreamfactory")) - setattr(cls, "vnd.drive+json", - PermissibleValue(text="vnd.drive+json")) - setattr(cls, "vnd.dtg.local", - PermissibleValue(text="vnd.dtg.local")) - setattr(cls, "vnd.dtg.local.flash", - PermissibleValue(text="vnd.dtg.local.flash")) - setattr(cls, "vnd.dtg.local.html", - PermissibleValue(text="vnd.dtg.local.html")) - setattr(cls, "vnd.dvb.ait", - PermissibleValue(text="vnd.dvb.ait")) - setattr(cls, "vnd.dvb.dvbisl+xml", - PermissibleValue(text="vnd.dvb.dvbisl+xml")) - setattr(cls, "vnd.dvb.dvbj", - PermissibleValue(text="vnd.dvb.dvbj")) - setattr(cls, "vnd.dvb.esgcontainer", - PermissibleValue(text="vnd.dvb.esgcontainer")) - setattr(cls, "vnd.dvb.ipdcdftnotifaccess", - PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess", - PermissibleValue(text="vnd.dvb.ipdcesgaccess")) - setattr(cls, "vnd.dvb.ipdcesgaccess2", - PermissibleValue(text="vnd.dvb.ipdcesgaccess2")) - setattr(cls, "vnd.dvb.ipdcesgpdd", - PermissibleValue(text="vnd.dvb.ipdcesgpdd")) - setattr(cls, "vnd.dvb.ipdcroaming", - PermissibleValue(text="vnd.dvb.ipdcroaming")) - setattr(cls, "vnd.dvb.iptv.alfec-base", - PermissibleValue(text="vnd.dvb.iptv.alfec-base")) - setattr(cls, "vnd.dvb.iptv.alfec-enhancement", - PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement")) - setattr(cls, "vnd.dvb.notif-aggregate-root+xml", - PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml")) - setattr(cls, "vnd.dvb.notif-container+xml", - PermissibleValue(text="vnd.dvb.notif-container+xml")) - setattr(cls, "vnd.dvb.notif-generic+xml", - PermissibleValue(text="vnd.dvb.notif-generic+xml")) - setattr(cls, "vnd.dvb.notif-ia-msglist+xml", - PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-request+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml")) - setattr(cls, "vnd.dvb.notif-ia-registration-response+xml", - PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml")) - setattr(cls, "vnd.dvb.notif-init+xml", - PermissibleValue(text="vnd.dvb.notif-init+xml")) - setattr(cls, "vnd.dvb.pfr", - PermissibleValue(text="vnd.dvb.pfr")) - setattr(cls, "vnd.dvb.service", - PermissibleValue(text="vnd.dvb.service")) - setattr(cls, "vnd.dxr", - PermissibleValue(text="vnd.dxr")) - setattr(cls, "vnd.dynageo", - PermissibleValue(text="vnd.dynageo")) - setattr(cls, "vnd.dzr", - PermissibleValue(text="vnd.dzr")) - setattr(cls, "vnd.easykaraoke.cdgdownload", - PermissibleValue(text="vnd.easykaraoke.cdgdownload")) - setattr(cls, "vnd.ecip.rlp", - PermissibleValue(text="vnd.ecip.rlp")) - setattr(cls, "vnd.ecdis-update", - PermissibleValue(text="vnd.ecdis-update")) - setattr(cls, "vnd.eclipse.ditto+json", - PermissibleValue(text="vnd.eclipse.ditto+json")) - setattr(cls, "vnd.ecowin.chart", - PermissibleValue(text="vnd.ecowin.chart")) - setattr(cls, "vnd.ecowin.filerequest", - PermissibleValue(text="vnd.ecowin.filerequest")) - setattr(cls, "vnd.ecowin.fileupdate", - PermissibleValue(text="vnd.ecowin.fileupdate")) - setattr(cls, "vnd.ecowin.series", - PermissibleValue(text="vnd.ecowin.series")) - setattr(cls, "vnd.ecowin.seriesrequest", - PermissibleValue(text="vnd.ecowin.seriesrequest")) - setattr(cls, "vnd.ecowin.seriesupdate", - PermissibleValue(text="vnd.ecowin.seriesupdate")) - setattr(cls, "vnd.efi.img", - PermissibleValue(text="vnd.efi.img")) - setattr(cls, "vnd.efi.iso", - PermissibleValue(text="vnd.efi.iso")) - setattr(cls, "vnd.eln+zip", - PermissibleValue(text="vnd.eln+zip")) - setattr(cls, "vnd.emclient.accessrequest+xml", - PermissibleValue(text="vnd.emclient.accessrequest+xml")) - setattr(cls, "vnd.enliven", - PermissibleValue(text="vnd.enliven")) - setattr(cls, "vnd.enphase.envoy", - PermissibleValue(text="vnd.enphase.envoy")) - setattr(cls, "vnd.eprints.data+xml", - PermissibleValue(text="vnd.eprints.data+xml")) - setattr(cls, "vnd.epson.esf", - PermissibleValue(text="vnd.epson.esf")) - setattr(cls, "vnd.epson.msf", - PermissibleValue(text="vnd.epson.msf")) - setattr(cls, "vnd.epson.quickanime", - PermissibleValue(text="vnd.epson.quickanime")) - setattr(cls, "vnd.epson.salt", - PermissibleValue(text="vnd.epson.salt")) - setattr(cls, "vnd.epson.ssf", - PermissibleValue(text="vnd.epson.ssf")) - setattr(cls, "vnd.ericsson.quickcall", - PermissibleValue(text="vnd.ericsson.quickcall")) - setattr(cls, "vnd.espass-espass+zip", - PermissibleValue(text="vnd.espass-espass+zip")) - setattr(cls, "vnd.eszigno3+xml", - PermissibleValue(text="vnd.eszigno3+xml")) - setattr(cls, "vnd.etsi.aoc+xml", - PermissibleValue(text="vnd.etsi.aoc+xml")) - setattr(cls, "vnd.etsi.asic-s+zip", - PermissibleValue(text="vnd.etsi.asic-s+zip")) - setattr(cls, "vnd.etsi.asic-e+zip", - PermissibleValue(text="vnd.etsi.asic-e+zip")) - setattr(cls, "vnd.etsi.cug+xml", - PermissibleValue(text="vnd.etsi.cug+xml")) - setattr(cls, "vnd.etsi.iptvcommand+xml", - PermissibleValue(text="vnd.etsi.iptvcommand+xml")) - setattr(cls, "vnd.etsi.iptvdiscovery+xml", - PermissibleValue(text="vnd.etsi.iptvdiscovery+xml")) - setattr(cls, "vnd.etsi.iptvprofile+xml", - PermissibleValue(text="vnd.etsi.iptvprofile+xml")) - setattr(cls, "vnd.etsi.iptvsad-bc+xml", - PermissibleValue(text="vnd.etsi.iptvsad-bc+xml")) - setattr(cls, "vnd.etsi.iptvsad-cod+xml", - PermissibleValue(text="vnd.etsi.iptvsad-cod+xml")) - setattr(cls, "vnd.etsi.iptvsad-npvr+xml", - PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml")) - setattr(cls, "vnd.etsi.iptvservice+xml", - PermissibleValue(text="vnd.etsi.iptvservice+xml")) - setattr(cls, "vnd.etsi.iptvsync+xml", - PermissibleValue(text="vnd.etsi.iptvsync+xml")) - setattr(cls, "vnd.etsi.iptvueprofile+xml", - PermissibleValue(text="vnd.etsi.iptvueprofile+xml")) - setattr(cls, "vnd.etsi.mcid+xml", - PermissibleValue(text="vnd.etsi.mcid+xml")) - setattr(cls, "vnd.etsi.mheg5", - PermissibleValue(text="vnd.etsi.mheg5")) - setattr(cls, "vnd.etsi.overload-control-policy-dataset+xml", - PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml")) - setattr(cls, "vnd.etsi.pstn+xml", - PermissibleValue(text="vnd.etsi.pstn+xml")) - setattr(cls, "vnd.etsi.sci+xml", - PermissibleValue(text="vnd.etsi.sci+xml")) - setattr(cls, "vnd.etsi.simservs+xml", - PermissibleValue(text="vnd.etsi.simservs+xml")) - setattr(cls, "vnd.etsi.timestamp-token", - PermissibleValue(text="vnd.etsi.timestamp-token")) - setattr(cls, "vnd.etsi.tsl+xml", - PermissibleValue(text="vnd.etsi.tsl+xml")) - setattr(cls, "vnd.etsi.tsl.der", - PermissibleValue(text="vnd.etsi.tsl.der")) - setattr(cls, "vnd.eu.kasparian.car+json", - PermissibleValue(text="vnd.eu.kasparian.car+json")) - setattr(cls, "vnd.eudora.data", - PermissibleValue(text="vnd.eudora.data")) - setattr(cls, "vnd.evolv.ecig.profile", - PermissibleValue(text="vnd.evolv.ecig.profile")) - setattr(cls, "vnd.evolv.ecig.settings", - PermissibleValue(text="vnd.evolv.ecig.settings")) - setattr(cls, "vnd.evolv.ecig.theme", - PermissibleValue(text="vnd.evolv.ecig.theme")) - setattr(cls, "vnd.exstream-empower+zip", - PermissibleValue(text="vnd.exstream-empower+zip")) - setattr(cls, "vnd.exstream-package", - PermissibleValue(text="vnd.exstream-package")) - setattr(cls, "vnd.ezpix-album", - PermissibleValue(text="vnd.ezpix-album")) - setattr(cls, "vnd.ezpix-package", - PermissibleValue(text="vnd.ezpix-package")) - setattr(cls, "vnd.f-secure.mobile", - PermissibleValue(text="vnd.f-secure.mobile")) - setattr(cls, "vnd.fastcopy-disk-image", - PermissibleValue(text="vnd.fastcopy-disk-image")) - setattr(cls, "vnd.familysearch.gedcom+zip", - PermissibleValue(text="vnd.familysearch.gedcom+zip")) - setattr(cls, "vnd.fdsn.mseed", - PermissibleValue(text="vnd.fdsn.mseed")) - setattr(cls, "vnd.fdsn.seed", - PermissibleValue(text="vnd.fdsn.seed")) - setattr(cls, "vnd.ffsns", - PermissibleValue(text="vnd.ffsns")) - setattr(cls, "vnd.ficlab.flb+zip", - PermissibleValue(text="vnd.ficlab.flb+zip")) - setattr(cls, "vnd.filmit.zfc", - PermissibleValue(text="vnd.filmit.zfc")) - setattr(cls, "vnd.fints", - PermissibleValue(text="vnd.fints")) - setattr(cls, "vnd.firemonkeys.cloudcell", - PermissibleValue(text="vnd.firemonkeys.cloudcell")) - setattr(cls, "vnd.FloGraphIt", - PermissibleValue(text="vnd.FloGraphIt")) - setattr(cls, "vnd.fluxtime.clip", - PermissibleValue(text="vnd.fluxtime.clip")) - setattr(cls, "vnd.font-fontforge-sfd", - PermissibleValue(text="vnd.font-fontforge-sfd")) - setattr(cls, "vnd.framemaker", - PermissibleValue(text="vnd.framemaker")) - setattr(cls, "vnd.freelog.comic", - PermissibleValue(text="vnd.freelog.comic")) - setattr(cls, "vnd.frogans.fnc (OBSOLETE)", - PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)")) - setattr(cls, "vnd.frogans.ltf (OBSOLETE)", - PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)")) - setattr(cls, "vnd.fsc.weblaunch", - PermissibleValue(text="vnd.fsc.weblaunch")) - setattr(cls, "vnd.fujifilm.fb.docuworks", - PermissibleValue(text="vnd.fujifilm.fb.docuworks")) - setattr(cls, "vnd.fujifilm.fb.docuworks.binder", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder")) - setattr(cls, "vnd.fujifilm.fb.docuworks.container", - PermissibleValue(text="vnd.fujifilm.fb.docuworks.container")) - setattr(cls, "vnd.fujifilm.fb.jfi+xml", - PermissibleValue(text="vnd.fujifilm.fb.jfi+xml")) - setattr(cls, "vnd.fujitsu.oasys", - PermissibleValue(text="vnd.fujitsu.oasys")) - setattr(cls, "vnd.fujitsu.oasys2", - PermissibleValue(text="vnd.fujitsu.oasys2")) - setattr(cls, "vnd.fujitsu.oasys3", - PermissibleValue(text="vnd.fujitsu.oasys3")) - setattr(cls, "vnd.fujitsu.oasysgp", - PermissibleValue(text="vnd.fujitsu.oasysgp")) - setattr(cls, "vnd.fujitsu.oasysprs", - PermissibleValue(text="vnd.fujitsu.oasysprs")) - setattr(cls, "vnd.fujixerox.ART4", - PermissibleValue(text="vnd.fujixerox.ART4")) - setattr(cls, "vnd.fujixerox.ART-EX", - PermissibleValue(text="vnd.fujixerox.ART-EX")) - setattr(cls, "vnd.fujixerox.ddd", - PermissibleValue(text="vnd.fujixerox.ddd")) - setattr(cls, "vnd.fujixerox.docuworks", - PermissibleValue(text="vnd.fujixerox.docuworks")) - setattr(cls, "vnd.fujixerox.docuworks.binder", - PermissibleValue(text="vnd.fujixerox.docuworks.binder")) - setattr(cls, "vnd.fujixerox.docuworks.container", - PermissibleValue(text="vnd.fujixerox.docuworks.container")) - setattr(cls, "vnd.fujixerox.HBPL", - PermissibleValue(text="vnd.fujixerox.HBPL")) - setattr(cls, "vnd.fut-misnet", - PermissibleValue(text="vnd.fut-misnet")) - setattr(cls, "vnd.futoin+cbor", - PermissibleValue(text="vnd.futoin+cbor")) - setattr(cls, "vnd.futoin+json", - PermissibleValue(text="vnd.futoin+json")) - setattr(cls, "vnd.fuzzysheet", - PermissibleValue(text="vnd.fuzzysheet")) - setattr(cls, "vnd.genomatix.tuxedo", - PermissibleValue(text="vnd.genomatix.tuxedo")) - setattr(cls, "vnd.genozip", - PermissibleValue(text="vnd.genozip")) - setattr(cls, "vnd.gentics.grd+json", - PermissibleValue(text="vnd.gentics.grd+json")) - setattr(cls, "vnd.gentoo.catmetadata+xml", - PermissibleValue(text="vnd.gentoo.catmetadata+xml")) - setattr(cls, "vnd.gentoo.ebuild", - PermissibleValue(text="vnd.gentoo.ebuild")) - setattr(cls, "vnd.gentoo.eclass", - PermissibleValue(text="vnd.gentoo.eclass")) - setattr(cls, "vnd.gentoo.gpkg", - PermissibleValue(text="vnd.gentoo.gpkg")) - setattr(cls, "vnd.gentoo.manifest", - PermissibleValue(text="vnd.gentoo.manifest")) - setattr(cls, "vnd.gentoo.xpak", - PermissibleValue(text="vnd.gentoo.xpak")) - setattr(cls, "vnd.gentoo.pkgmetadata+xml", - PermissibleValue(text="vnd.gentoo.pkgmetadata+xml")) - setattr(cls, "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", - PermissibleValue(text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)")) - setattr(cls, "vnd.geocube+xml (OBSOLETED by request)", - PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)")) - setattr(cls, "vnd.geogebra.file", - PermissibleValue(text="vnd.geogebra.file")) - setattr(cls, "vnd.geogebra.slides", - PermissibleValue(text="vnd.geogebra.slides")) - setattr(cls, "vnd.geogebra.tool", - PermissibleValue(text="vnd.geogebra.tool")) - setattr(cls, "vnd.geometry-explorer", - PermissibleValue(text="vnd.geometry-explorer")) - setattr(cls, "vnd.geonext", - PermissibleValue(text="vnd.geonext")) - setattr(cls, "vnd.geoplan", - PermissibleValue(text="vnd.geoplan")) - setattr(cls, "vnd.geospace", - PermissibleValue(text="vnd.geospace")) - setattr(cls, "vnd.gerber", - PermissibleValue(text="vnd.gerber")) - setattr(cls, "vnd.globalplatform.card-content-mgt", - PermissibleValue(text="vnd.globalplatform.card-content-mgt")) - setattr(cls, "vnd.globalplatform.card-content-mgt-response", - PermissibleValue(text="vnd.globalplatform.card-content-mgt-response")) - setattr(cls, "vnd.gmx - DEPRECATED", - PermissibleValue(text="vnd.gmx - DEPRECATED")) - setattr(cls, "vnd.gnu.taler.exchange+json", - PermissibleValue(text="vnd.gnu.taler.exchange+json")) - setattr(cls, "vnd.gnu.taler.merchant+json", - PermissibleValue(text="vnd.gnu.taler.merchant+json")) - setattr(cls, "vnd.google-earth.kml+xml", - PermissibleValue(text="vnd.google-earth.kml+xml")) - setattr(cls, "vnd.google-earth.kmz", - PermissibleValue(text="vnd.google-earth.kmz")) - setattr(cls, "vnd.gov.sk.e-form+xml", - PermissibleValue(text="vnd.gov.sk.e-form+xml")) - setattr(cls, "vnd.gov.sk.e-form+zip", - PermissibleValue(text="vnd.gov.sk.e-form+zip")) - setattr(cls, "vnd.gov.sk.xmldatacontainer+xml", - PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml")) - setattr(cls, "vnd.gpxsee.map+xml", - PermissibleValue(text="vnd.gpxsee.map+xml")) - setattr(cls, "vnd.grafeq", - PermissibleValue(text="vnd.grafeq")) - setattr(cls, "vnd.gridmp", - PermissibleValue(text="vnd.gridmp")) - setattr(cls, "vnd.groove-account", - PermissibleValue(text="vnd.groove-account")) - setattr(cls, "vnd.groove-help", - PermissibleValue(text="vnd.groove-help")) - setattr(cls, "vnd.groove-identity-message", - PermissibleValue(text="vnd.groove-identity-message")) - setattr(cls, "vnd.groove-injector", - PermissibleValue(text="vnd.groove-injector")) - setattr(cls, "vnd.groove-tool-message", - PermissibleValue(text="vnd.groove-tool-message")) - setattr(cls, "vnd.groove-tool-template", - PermissibleValue(text="vnd.groove-tool-template")) - setattr(cls, "vnd.groove-vcard", - PermissibleValue(text="vnd.groove-vcard")) - setattr(cls, "vnd.hal+json", - PermissibleValue(text="vnd.hal+json")) - setattr(cls, "vnd.hal+xml", - PermissibleValue(text="vnd.hal+xml")) - setattr(cls, "vnd.HandHeld-Entertainment+xml", - PermissibleValue(text="vnd.HandHeld-Entertainment+xml")) - setattr(cls, "vnd.hbci", - PermissibleValue(text="vnd.hbci")) - setattr(cls, "vnd.hc+json", - PermissibleValue(text="vnd.hc+json")) - setattr(cls, "vnd.hcl-bireports", - PermissibleValue(text="vnd.hcl-bireports")) - setattr(cls, "vnd.hdt", - PermissibleValue(text="vnd.hdt")) - setattr(cls, "vnd.heroku+json", - PermissibleValue(text="vnd.heroku+json")) - setattr(cls, "vnd.hhe.lesson-player", - PermissibleValue(text="vnd.hhe.lesson-player")) - setattr(cls, "vnd.hp-HPGL", - PermissibleValue(text="vnd.hp-HPGL")) - setattr(cls, "vnd.hp-hpid", - PermissibleValue(text="vnd.hp-hpid")) - setattr(cls, "vnd.hp-hps", - PermissibleValue(text="vnd.hp-hps")) - setattr(cls, "vnd.hp-jlyt", - PermissibleValue(text="vnd.hp-jlyt")) - setattr(cls, "vnd.hp-PCL", - PermissibleValue(text="vnd.hp-PCL")) - setattr(cls, "vnd.hp-PCLXL", - PermissibleValue(text="vnd.hp-PCLXL")) - setattr(cls, "vnd.hsl", - PermissibleValue(text="vnd.hsl")) - setattr(cls, "vnd.httphone", - PermissibleValue(text="vnd.httphone")) - setattr(cls, "vnd.hydrostatix.sof-data", - PermissibleValue(text="vnd.hydrostatix.sof-data")) - setattr(cls, "vnd.hyper-item+json", - PermissibleValue(text="vnd.hyper-item+json")) - setattr(cls, "vnd.hyper+json", - PermissibleValue(text="vnd.hyper+json")) - setattr(cls, "vnd.hyperdrive+json", - PermissibleValue(text="vnd.hyperdrive+json")) - setattr(cls, "vnd.hzn-3d-crossword", - PermissibleValue(text="vnd.hzn-3d-crossword")) - setattr(cls, "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", - PermissibleValue(text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)")) - setattr(cls, "vnd.ibm.electronic-media", - PermissibleValue(text="vnd.ibm.electronic-media")) - setattr(cls, "vnd.ibm.MiniPay", - PermissibleValue(text="vnd.ibm.MiniPay")) - setattr(cls, "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", - PermissibleValue(text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)")) - setattr(cls, "vnd.ibm.rights-management", - PermissibleValue(text="vnd.ibm.rights-management")) - setattr(cls, "vnd.ibm.secure-container", - PermissibleValue(text="vnd.ibm.secure-container")) - setattr(cls, "vnd.iccprofile", - PermissibleValue(text="vnd.iccprofile")) - setattr(cls, "vnd.ieee.1905", - PermissibleValue(text="vnd.ieee.1905")) - setattr(cls, "vnd.igloader", - PermissibleValue(text="vnd.igloader")) - setattr(cls, "vnd.imagemeter.folder+zip", - PermissibleValue(text="vnd.imagemeter.folder+zip")) - setattr(cls, "vnd.imagemeter.image+zip", - PermissibleValue(text="vnd.imagemeter.image+zip")) - setattr(cls, "vnd.immervision-ivp", - PermissibleValue(text="vnd.immervision-ivp")) - setattr(cls, "vnd.immervision-ivu", - PermissibleValue(text="vnd.immervision-ivu")) - setattr(cls, "vnd.ims.imsccv1p1", - PermissibleValue(text="vnd.ims.imsccv1p1")) - setattr(cls, "vnd.ims.imsccv1p2", - PermissibleValue(text="vnd.ims.imsccv1p2")) - setattr(cls, "vnd.ims.imsccv1p3", - PermissibleValue(text="vnd.ims.imsccv1p3")) - setattr(cls, "vnd.ims.lis.v2.result+json", - PermissibleValue(text="vnd.ims.lis.v2.result+json")) - setattr(cls, "vnd.ims.lti.v2.toolconsumerprofile+json", - PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy.id+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json")) - setattr(cls, "vnd.ims.lti.v2.toolproxy+json", - PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json")) - setattr(cls, "vnd.ims.lti.v2.toolsettings.simple+json", - PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json")) - setattr(cls, "vnd.informedcontrol.rms+xml", - PermissibleValue(text="vnd.informedcontrol.rms+xml")) - setattr(cls, "vnd.infotech.project", - PermissibleValue(text="vnd.infotech.project")) - setattr(cls, "vnd.infotech.project+xml", - PermissibleValue(text="vnd.infotech.project+xml")) - setattr(cls, "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", - PermissibleValue(text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)")) - setattr(cls, "vnd.innopath.wamp.notification", - PermissibleValue(text="vnd.innopath.wamp.notification")) - setattr(cls, "vnd.insors.igm", - PermissibleValue(text="vnd.insors.igm")) - setattr(cls, "vnd.intercon.formnet", - PermissibleValue(text="vnd.intercon.formnet")) - setattr(cls, "vnd.intergeo", - PermissibleValue(text="vnd.intergeo")) - setattr(cls, "vnd.intertrust.digibox", - PermissibleValue(text="vnd.intertrust.digibox")) - setattr(cls, "vnd.intertrust.nncp", - PermissibleValue(text="vnd.intertrust.nncp")) - setattr(cls, "vnd.intu.qbo", - PermissibleValue(text="vnd.intu.qbo")) - setattr(cls, "vnd.intu.qfx", - PermissibleValue(text="vnd.intu.qfx")) - setattr(cls, "vnd.ipfs.ipns-record", - PermissibleValue(text="vnd.ipfs.ipns-record")) - setattr(cls, "vnd.ipld.car", - PermissibleValue(text="vnd.ipld.car")) - setattr(cls, "vnd.ipld.dag-cbor", - PermissibleValue(text="vnd.ipld.dag-cbor")) - setattr(cls, "vnd.ipld.dag-json", - PermissibleValue(text="vnd.ipld.dag-json")) - setattr(cls, "vnd.ipld.raw", - PermissibleValue(text="vnd.ipld.raw")) - setattr(cls, "vnd.iptc.g2.catalogitem+xml", - PermissibleValue(text="vnd.iptc.g2.catalogitem+xml")) - setattr(cls, "vnd.iptc.g2.conceptitem+xml", - PermissibleValue(text="vnd.iptc.g2.conceptitem+xml")) - setattr(cls, "vnd.iptc.g2.knowledgeitem+xml", - PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml")) - setattr(cls, "vnd.iptc.g2.newsitem+xml", - PermissibleValue(text="vnd.iptc.g2.newsitem+xml")) - setattr(cls, "vnd.iptc.g2.newsmessage+xml", - PermissibleValue(text="vnd.iptc.g2.newsmessage+xml")) - setattr(cls, "vnd.iptc.g2.packageitem+xml", - PermissibleValue(text="vnd.iptc.g2.packageitem+xml")) - setattr(cls, "vnd.iptc.g2.planningitem+xml", - PermissibleValue(text="vnd.iptc.g2.planningitem+xml")) - setattr(cls, "vnd.ipunplugged.rcprofile", - PermissibleValue(text="vnd.ipunplugged.rcprofile")) - setattr(cls, "vnd.irepository.package+xml", - PermissibleValue(text="vnd.irepository.package+xml")) - setattr(cls, "vnd.is-xpr", - PermissibleValue(text="vnd.is-xpr")) - setattr(cls, "vnd.isac.fcs", - PermissibleValue(text="vnd.isac.fcs")) - setattr(cls, "vnd.jam", - PermissibleValue(text="vnd.jam")) - setattr(cls, "vnd.iso11783-10+zip", - PermissibleValue(text="vnd.iso11783-10+zip")) - setattr(cls, "vnd.japannet-directory-service", - PermissibleValue(text="vnd.japannet-directory-service")) - setattr(cls, "vnd.japannet-jpnstore-wakeup", - PermissibleValue(text="vnd.japannet-jpnstore-wakeup")) - setattr(cls, "vnd.japannet-payment-wakeup", - PermissibleValue(text="vnd.japannet-payment-wakeup")) - setattr(cls, "vnd.japannet-registration", - PermissibleValue(text="vnd.japannet-registration")) - setattr(cls, "vnd.japannet-registration-wakeup", - PermissibleValue(text="vnd.japannet-registration-wakeup")) - setattr(cls, "vnd.japannet-setstore-wakeup", - PermissibleValue(text="vnd.japannet-setstore-wakeup")) - setattr(cls, "vnd.japannet-verification", - PermissibleValue(text="vnd.japannet-verification")) - setattr(cls, "vnd.japannet-verification-wakeup", - PermissibleValue(text="vnd.japannet-verification-wakeup")) - setattr(cls, "vnd.jcp.javame.midlet-rms", - PermissibleValue(text="vnd.jcp.javame.midlet-rms")) - setattr(cls, "vnd.jisp", - PermissibleValue(text="vnd.jisp")) - setattr(cls, "vnd.joost.joda-archive", - PermissibleValue(text="vnd.joost.joda-archive")) - setattr(cls, "vnd.jsk.isdn-ngn", - PermissibleValue(text="vnd.jsk.isdn-ngn")) - setattr(cls, "vnd.kahootz", - PermissibleValue(text="vnd.kahootz")) - setattr(cls, "vnd.kde.karbon", - PermissibleValue(text="vnd.kde.karbon")) - setattr(cls, "vnd.kde.kchart", - PermissibleValue(text="vnd.kde.kchart")) - setattr(cls, "vnd.kde.kformula", - PermissibleValue(text="vnd.kde.kformula")) - setattr(cls, "vnd.kde.kivio", - PermissibleValue(text="vnd.kde.kivio")) - setattr(cls, "vnd.kde.kontour", - PermissibleValue(text="vnd.kde.kontour")) - setattr(cls, "vnd.kde.kpresenter", - PermissibleValue(text="vnd.kde.kpresenter")) - setattr(cls, "vnd.kde.kspread", - PermissibleValue(text="vnd.kde.kspread")) - setattr(cls, "vnd.kde.kword", - PermissibleValue(text="vnd.kde.kword")) - setattr(cls, "vnd.kenameaapp", - PermissibleValue(text="vnd.kenameaapp")) - setattr(cls, "vnd.kidspiration", - PermissibleValue(text="vnd.kidspiration")) - setattr(cls, "vnd.Kinar", - PermissibleValue(text="vnd.Kinar")) - setattr(cls, "vnd.koan", - PermissibleValue(text="vnd.koan")) - setattr(cls, "vnd.kodak-descriptor", - PermissibleValue(text="vnd.kodak-descriptor")) - setattr(cls, "vnd.las", - PermissibleValue(text="vnd.las")) - setattr(cls, "vnd.las.las+json", - PermissibleValue(text="vnd.las.las+json")) - setattr(cls, "vnd.las.las+xml", - PermissibleValue(text="vnd.las.las+xml")) - setattr(cls, "vnd.laszip", - PermissibleValue(text="vnd.laszip")) - setattr(cls, "vnd.leap+json", - PermissibleValue(text="vnd.leap+json")) - setattr(cls, "vnd.liberty-request+xml", - PermissibleValue(text="vnd.liberty-request+xml")) - setattr(cls, "vnd.llamagraphics.life-balance.desktop", - PermissibleValue(text="vnd.llamagraphics.life-balance.desktop")) - setattr(cls, "vnd.llamagraphics.life-balance.exchange+xml", - PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml")) - setattr(cls, "vnd.logipipe.circuit+zip", - PermissibleValue(text="vnd.logipipe.circuit+zip")) - setattr(cls, "vnd.loom", - PermissibleValue(text="vnd.loom")) - setattr(cls, "vnd.lotus-1-2-3", - PermissibleValue(text="vnd.lotus-1-2-3")) - setattr(cls, "vnd.lotus-approach", - PermissibleValue(text="vnd.lotus-approach")) - setattr(cls, "vnd.lotus-freelance", - PermissibleValue(text="vnd.lotus-freelance")) - setattr(cls, "vnd.lotus-notes", - PermissibleValue(text="vnd.lotus-notes")) - setattr(cls, "vnd.lotus-organizer", - PermissibleValue(text="vnd.lotus-organizer")) - setattr(cls, "vnd.lotus-screencam", - PermissibleValue(text="vnd.lotus-screencam")) - setattr(cls, "vnd.lotus-wordpro", - PermissibleValue(text="vnd.lotus-wordpro")) - setattr(cls, "vnd.macports.portpkg", - PermissibleValue(text="vnd.macports.portpkg")) - setattr(cls, "vnd.mapbox-vector-tile", - PermissibleValue(text="vnd.mapbox-vector-tile")) - setattr(cls, "vnd.marlin.drm.actiontoken+xml", - PermissibleValue(text="vnd.marlin.drm.actiontoken+xml")) - setattr(cls, "vnd.marlin.drm.conftoken+xml", - PermissibleValue(text="vnd.marlin.drm.conftoken+xml")) - setattr(cls, "vnd.marlin.drm.license+xml", - PermissibleValue(text="vnd.marlin.drm.license+xml")) - setattr(cls, "vnd.marlin.drm.mdcf", - PermissibleValue(text="vnd.marlin.drm.mdcf")) - setattr(cls, "vnd.mason+json", - PermissibleValue(text="vnd.mason+json")) - setattr(cls, "vnd.maxar.archive.3tz+zip", - PermissibleValue(text="vnd.maxar.archive.3tz+zip")) - setattr(cls, "vnd.maxmind.maxmind-db", - PermissibleValue(text="vnd.maxmind.maxmind-db")) - setattr(cls, "vnd.mcd", - PermissibleValue(text="vnd.mcd")) - setattr(cls, "vnd.mdl", - PermissibleValue(text="vnd.mdl")) - setattr(cls, "vnd.mdl-mbsdf", - PermissibleValue(text="vnd.mdl-mbsdf")) - setattr(cls, "vnd.medcalcdata", - PermissibleValue(text="vnd.medcalcdata")) - setattr(cls, "vnd.mediastation.cdkey", - PermissibleValue(text="vnd.mediastation.cdkey")) - setattr(cls, "vnd.medicalholodeck.recordxr", - PermissibleValue(text="vnd.medicalholodeck.recordxr")) - setattr(cls, "vnd.meridian-slingshot", - PermissibleValue(text="vnd.meridian-slingshot")) - setattr(cls, "vnd.mermaid", - PermissibleValue(text="vnd.mermaid")) - setattr(cls, "vnd.MFER", - PermissibleValue(text="vnd.MFER")) - setattr(cls, "vnd.mfmp", - PermissibleValue(text="vnd.mfmp")) - setattr(cls, "vnd.micro+json", - PermissibleValue(text="vnd.micro+json")) - setattr(cls, "vnd.micrografx.flo", - PermissibleValue(text="vnd.micrografx.flo")) - setattr(cls, "vnd.micrografx.igx", - PermissibleValue(text="vnd.micrografx.igx")) - setattr(cls, "vnd.microsoft.portable-executable", - PermissibleValue(text="vnd.microsoft.portable-executable")) - setattr(cls, "vnd.microsoft.windows.thumbnail-cache", - PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache")) - setattr(cls, "vnd.miele+json", - PermissibleValue(text="vnd.miele+json")) - setattr(cls, "vnd.mif", - PermissibleValue(text="vnd.mif")) - setattr(cls, "vnd.minisoft-hp3000-save", - PermissibleValue(text="vnd.minisoft-hp3000-save")) - setattr(cls, "vnd.mitsubishi.misty-guard.trustweb", - PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb")) - setattr(cls, "vnd.Mobius.DAF", - PermissibleValue(text="vnd.Mobius.DAF")) - setattr(cls, "vnd.Mobius.DIS", - PermissibleValue(text="vnd.Mobius.DIS")) - setattr(cls, "vnd.Mobius.MBK", - PermissibleValue(text="vnd.Mobius.MBK")) - setattr(cls, "vnd.Mobius.MQY", - PermissibleValue(text="vnd.Mobius.MQY")) - setattr(cls, "vnd.Mobius.MSL", - PermissibleValue(text="vnd.Mobius.MSL")) - setattr(cls, "vnd.Mobius.PLC", - PermissibleValue(text="vnd.Mobius.PLC")) - setattr(cls, "vnd.Mobius.TXF", - PermissibleValue(text="vnd.Mobius.TXF")) - setattr(cls, "vnd.modl", - PermissibleValue(text="vnd.modl")) - setattr(cls, "vnd.mophun.application", - PermissibleValue(text="vnd.mophun.application")) - setattr(cls, "vnd.mophun.certificate", - PermissibleValue(text="vnd.mophun.certificate")) - setattr(cls, "vnd.motorola.flexsuite", - PermissibleValue(text="vnd.motorola.flexsuite")) - setattr(cls, "vnd.motorola.flexsuite.adsi", - PermissibleValue(text="vnd.motorola.flexsuite.adsi")) - setattr(cls, "vnd.motorola.flexsuite.fis", - PermissibleValue(text="vnd.motorola.flexsuite.fis")) - setattr(cls, "vnd.motorola.flexsuite.gotap", - PermissibleValue(text="vnd.motorola.flexsuite.gotap")) - setattr(cls, "vnd.motorola.flexsuite.kmr", - PermissibleValue(text="vnd.motorola.flexsuite.kmr")) - setattr(cls, "vnd.motorola.flexsuite.ttc", - PermissibleValue(text="vnd.motorola.flexsuite.ttc")) - setattr(cls, "vnd.motorola.flexsuite.wem", - PermissibleValue(text="vnd.motorola.flexsuite.wem")) - setattr(cls, "vnd.motorola.iprm", - PermissibleValue(text="vnd.motorola.iprm")) - setattr(cls, "vnd.mozilla.xul+xml", - PermissibleValue(text="vnd.mozilla.xul+xml")) - setattr(cls, "vnd.ms-artgalry", - PermissibleValue(text="vnd.ms-artgalry")) - setattr(cls, "vnd.ms-asf", - PermissibleValue(text="vnd.ms-asf")) - setattr(cls, "vnd.ms-cab-compressed", - PermissibleValue(text="vnd.ms-cab-compressed")) - setattr(cls, "vnd.ms-3mfdocument", - PermissibleValue(text="vnd.ms-3mfdocument")) - setattr(cls, "vnd.ms-excel", - PermissibleValue(text="vnd.ms-excel")) - setattr(cls, "vnd.ms-excel.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.binary.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.sheet.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12")) - setattr(cls, "vnd.ms-excel.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12")) - setattr(cls, "vnd.ms-fontobject", - PermissibleValue(text="vnd.ms-fontobject")) - setattr(cls, "vnd.ms-htmlhelp", - PermissibleValue(text="vnd.ms-htmlhelp")) - setattr(cls, "vnd.ms-ims", - PermissibleValue(text="vnd.ms-ims")) - setattr(cls, "vnd.ms-lrm", - PermissibleValue(text="vnd.ms-lrm")) - setattr(cls, "vnd.ms-office.activeX+xml", - PermissibleValue(text="vnd.ms-office.activeX+xml")) - setattr(cls, "vnd.ms-officetheme", - PermissibleValue(text="vnd.ms-officetheme")) - setattr(cls, "vnd.ms-playready.initiator+xml", - PermissibleValue(text="vnd.ms-playready.initiator+xml")) - setattr(cls, "vnd.ms-powerpoint", - PermissibleValue(text="vnd.ms-powerpoint")) - setattr(cls, "vnd.ms-powerpoint.addin.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.presentation.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slide.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.slideshow.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12")) - setattr(cls, "vnd.ms-powerpoint.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12")) - setattr(cls, "vnd.ms-PrintDeviceCapabilities+xml", - PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml")) - setattr(cls, "vnd.ms-PrintSchemaTicket+xml", - PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml")) - setattr(cls, "vnd.ms-project", - PermissibleValue(text="vnd.ms-project")) - setattr(cls, "vnd.ms-tnef", - PermissibleValue(text="vnd.ms-tnef")) - setattr(cls, "vnd.ms-windows.devicepairing", - PermissibleValue(text="vnd.ms-windows.devicepairing")) - setattr(cls, "vnd.ms-windows.nwprinting.oob", - PermissibleValue(text="vnd.ms-windows.nwprinting.oob")) - setattr(cls, "vnd.ms-windows.printerpairing", - PermissibleValue(text="vnd.ms-windows.printerpairing")) - setattr(cls, "vnd.ms-windows.wsd.oob", - PermissibleValue(text="vnd.ms-windows.wsd.oob")) - setattr(cls, "vnd.ms-wmdrm.lic-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.lic-resp", - PermissibleValue(text="vnd.ms-wmdrm.lic-resp")) - setattr(cls, "vnd.ms-wmdrm.meter-chlg-req", - PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req")) - setattr(cls, "vnd.ms-wmdrm.meter-resp", - PermissibleValue(text="vnd.ms-wmdrm.meter-resp")) - setattr(cls, "vnd.ms-word.document.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.document.macroEnabled.12")) - setattr(cls, "vnd.ms-word.template.macroEnabled.12", - PermissibleValue(text="vnd.ms-word.template.macroEnabled.12")) - setattr(cls, "vnd.ms-works", - PermissibleValue(text="vnd.ms-works")) - setattr(cls, "vnd.ms-wpl", - PermissibleValue(text="vnd.ms-wpl")) - setattr(cls, "vnd.ms-xpsdocument", - PermissibleValue(text="vnd.ms-xpsdocument")) - setattr(cls, "vnd.msa-disk-image", - PermissibleValue(text="vnd.msa-disk-image")) - setattr(cls, "vnd.mseq", - PermissibleValue(text="vnd.mseq")) - setattr(cls, "vnd.msign", - PermissibleValue(text="vnd.msign")) - setattr(cls, "vnd.multiad.creator", - PermissibleValue(text="vnd.multiad.creator")) - setattr(cls, "vnd.multiad.creator.cif", - PermissibleValue(text="vnd.multiad.creator.cif")) - setattr(cls, "vnd.musician", - PermissibleValue(text="vnd.musician")) - setattr(cls, "vnd.music-niff", - PermissibleValue(text="vnd.music-niff")) - setattr(cls, "vnd.muvee.style", - PermissibleValue(text="vnd.muvee.style")) - setattr(cls, "vnd.mynfc", - PermissibleValue(text="vnd.mynfc")) - setattr(cls, "vnd.nacamar.ybrid+json", - PermissibleValue(text="vnd.nacamar.ybrid+json")) - setattr(cls, "vnd.ncd.control", - PermissibleValue(text="vnd.ncd.control")) - setattr(cls, "vnd.ncd.reference", - PermissibleValue(text="vnd.ncd.reference")) - setattr(cls, "vnd.nearst.inv+json", - PermissibleValue(text="vnd.nearst.inv+json")) - setattr(cls, "vnd.nebumind.line", - PermissibleValue(text="vnd.nebumind.line")) - setattr(cls, "vnd.nervana", - PermissibleValue(text="vnd.nervana")) - setattr(cls, "vnd.netfpx", - PermissibleValue(text="vnd.netfpx")) - setattr(cls, "vnd.neurolanguage.nlu", - PermissibleValue(text="vnd.neurolanguage.nlu")) - setattr(cls, "vnd.nimn", - PermissibleValue(text="vnd.nimn")) - setattr(cls, "vnd.nintendo.snes.rom", - PermissibleValue(text="vnd.nintendo.snes.rom")) - setattr(cls, "vnd.nintendo.nitro.rom", - PermissibleValue(text="vnd.nintendo.nitro.rom")) - setattr(cls, "vnd.nitf", - PermissibleValue(text="vnd.nitf")) - setattr(cls, "vnd.noblenet-directory", - PermissibleValue(text="vnd.noblenet-directory")) - setattr(cls, "vnd.noblenet-sealer", - PermissibleValue(text="vnd.noblenet-sealer")) - setattr(cls, "vnd.noblenet-web", - PermissibleValue(text="vnd.noblenet-web")) - setattr(cls, "vnd.nokia.catalogs", - PermissibleValue(text="vnd.nokia.catalogs")) - setattr(cls, "vnd.nokia.conml+wbxml", - PermissibleValue(text="vnd.nokia.conml+wbxml")) - setattr(cls, "vnd.nokia.conml+xml", - PermissibleValue(text="vnd.nokia.conml+xml")) - setattr(cls, "vnd.nokia.iptv.config+xml", - PermissibleValue(text="vnd.nokia.iptv.config+xml")) - setattr(cls, "vnd.nokia.iSDS-radio-presets", - PermissibleValue(text="vnd.nokia.iSDS-radio-presets")) - setattr(cls, "vnd.nokia.landmark+wbxml", - PermissibleValue(text="vnd.nokia.landmark+wbxml")) - setattr(cls, "vnd.nokia.landmark+xml", - PermissibleValue(text="vnd.nokia.landmark+xml")) - setattr(cls, "vnd.nokia.landmarkcollection+xml", - PermissibleValue(text="vnd.nokia.landmarkcollection+xml")) - setattr(cls, "vnd.nokia.ncd", - PermissibleValue(text="vnd.nokia.ncd")) - setattr(cls, "vnd.nokia.n-gage.ac+xml", - PermissibleValue(text="vnd.nokia.n-gage.ac+xml")) - setattr(cls, "vnd.nokia.n-gage.data", - PermissibleValue(text="vnd.nokia.n-gage.data")) - setattr(cls, "vnd.nokia.n-gage.symbian.install (OBSOLETE", - PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE")) - setattr(cls, "vnd.nokia.pcd+wbxml", - PermissibleValue(text="vnd.nokia.pcd+wbxml")) - setattr(cls, "vnd.nokia.pcd+xml", - PermissibleValue(text="vnd.nokia.pcd+xml")) - setattr(cls, "vnd.nokia.radio-preset", - PermissibleValue(text="vnd.nokia.radio-preset")) - setattr(cls, "vnd.nokia.radio-presets", - PermissibleValue(text="vnd.nokia.radio-presets")) - setattr(cls, "vnd.novadigm.EDM", - PermissibleValue(text="vnd.novadigm.EDM")) - setattr(cls, "vnd.novadigm.EDX", - PermissibleValue(text="vnd.novadigm.EDX")) - setattr(cls, "vnd.novadigm.EXT", - PermissibleValue(text="vnd.novadigm.EXT")) - setattr(cls, "vnd.ntt-local.content-share", - PermissibleValue(text="vnd.ntt-local.content-share")) - setattr(cls, "vnd.ntt-local.file-transfer", - PermissibleValue(text="vnd.ntt-local.file-transfer")) - setattr(cls, "vnd.ntt-local.ogw_remote-access", - PermissibleValue(text="vnd.ntt-local.ogw_remote-access")) - setattr(cls, "vnd.ntt-local.sip-ta_remote", - PermissibleValue(text="vnd.ntt-local.sip-ta_remote")) - setattr(cls, "vnd.ntt-local.sip-ta_tcp_stream", - PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream")) - setattr(cls, "vnd.oasis.opendocument.base", - PermissibleValue(text="vnd.oasis.opendocument.base")) - setattr(cls, "vnd.oasis.opendocument.chart", - PermissibleValue(text="vnd.oasis.opendocument.chart")) - setattr(cls, "vnd.oasis.opendocument.chart-template", - PermissibleValue(text="vnd.oasis.opendocument.chart-template")) - setattr(cls, "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", - PermissibleValue(text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)")) - setattr(cls, "vnd.oasis.opendocument.formula", - PermissibleValue(text="vnd.oasis.opendocument.formula")) - setattr(cls, "vnd.oasis.opendocument.formula-template", - PermissibleValue(text="vnd.oasis.opendocument.formula-template")) - setattr(cls, "vnd.oasis.opendocument.graphics", - PermissibleValue(text="vnd.oasis.opendocument.graphics")) - setattr(cls, "vnd.oasis.opendocument.graphics-template", - PermissibleValue(text="vnd.oasis.opendocument.graphics-template")) - setattr(cls, "vnd.oasis.opendocument.image", - PermissibleValue(text="vnd.oasis.opendocument.image")) - setattr(cls, "vnd.oasis.opendocument.image-template", - PermissibleValue(text="vnd.oasis.opendocument.image-template")) - setattr(cls, "vnd.oasis.opendocument.presentation", - PermissibleValue(text="vnd.oasis.opendocument.presentation")) - setattr(cls, "vnd.oasis.opendocument.presentation-template", - PermissibleValue(text="vnd.oasis.opendocument.presentation-template")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet")) - setattr(cls, "vnd.oasis.opendocument.spreadsheet-template", - PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template")) - setattr(cls, "vnd.oasis.opendocument.text", - PermissibleValue(text="vnd.oasis.opendocument.text")) - setattr(cls, "vnd.oasis.opendocument.text-master", - PermissibleValue(text="vnd.oasis.opendocument.text-master")) - setattr(cls, "vnd.oasis.opendocument.text-master-template", - PermissibleValue(text="vnd.oasis.opendocument.text-master-template")) - setattr(cls, "vnd.oasis.opendocument.text-template", - PermissibleValue(text="vnd.oasis.opendocument.text-template")) - setattr(cls, "vnd.oasis.opendocument.text-web", - PermissibleValue(text="vnd.oasis.opendocument.text-web")) - setattr(cls, "vnd.obn", - PermissibleValue(text="vnd.obn")) - setattr(cls, "vnd.ocf+cbor", - PermissibleValue(text="vnd.ocf+cbor")) - setattr(cls, "vnd.oci.image.manifest.v1+json", - PermissibleValue(text="vnd.oci.image.manifest.v1+json")) - setattr(cls, "vnd.oftn.l10n+json", - PermissibleValue(text="vnd.oftn.l10n+json")) - setattr(cls, "vnd.oipf.contentaccessdownload+xml", - PermissibleValue(text="vnd.oipf.contentaccessdownload+xml")) - setattr(cls, "vnd.oipf.contentaccessstreaming+xml", - PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml")) - setattr(cls, "vnd.oipf.cspg-hexbinary", - PermissibleValue(text="vnd.oipf.cspg-hexbinary")) - setattr(cls, "vnd.oipf.dae.svg+xml", - PermissibleValue(text="vnd.oipf.dae.svg+xml")) - setattr(cls, "vnd.oipf.dae.xhtml+xml", - PermissibleValue(text="vnd.oipf.dae.xhtml+xml")) - setattr(cls, "vnd.oipf.mippvcontrolmessage+xml", - PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml")) - setattr(cls, "vnd.oipf.pae.gem", - PermissibleValue(text="vnd.oipf.pae.gem")) - setattr(cls, "vnd.oipf.spdiscovery+xml", - PermissibleValue(text="vnd.oipf.spdiscovery+xml")) - setattr(cls, "vnd.oipf.spdlist+xml", - PermissibleValue(text="vnd.oipf.spdlist+xml")) - setattr(cls, "vnd.oipf.ueprofile+xml", - PermissibleValue(text="vnd.oipf.ueprofile+xml")) - setattr(cls, "vnd.oipf.userprofile+xml", - PermissibleValue(text="vnd.oipf.userprofile+xml")) - setattr(cls, "vnd.olpc-sugar", - PermissibleValue(text="vnd.olpc-sugar")) - setattr(cls, "vnd.oma.bcast.associated-procedure-parameter+xml", - PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml")) - setattr(cls, "vnd.oma.bcast.drm-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml")) - setattr(cls, "vnd.oma.bcast.imd+xml", - PermissibleValue(text="vnd.oma.bcast.imd+xml")) - setattr(cls, "vnd.oma.bcast.ltkm", - PermissibleValue(text="vnd.oma.bcast.ltkm")) - setattr(cls, "vnd.oma.bcast.notification+xml", - PermissibleValue(text="vnd.oma.bcast.notification+xml")) - setattr(cls, "vnd.oma.bcast.provisioningtrigger", - PermissibleValue(text="vnd.oma.bcast.provisioningtrigger")) - setattr(cls, "vnd.oma.bcast.sgboot", - PermissibleValue(text="vnd.oma.bcast.sgboot")) - setattr(cls, "vnd.oma.bcast.sgdd+xml", - PermissibleValue(text="vnd.oma.bcast.sgdd+xml")) - setattr(cls, "vnd.oma.bcast.sgdu", - PermissibleValue(text="vnd.oma.bcast.sgdu")) - setattr(cls, "vnd.oma.bcast.simple-symbol-container", - PermissibleValue(text="vnd.oma.bcast.simple-symbol-container")) - setattr(cls, "vnd.oma.bcast.smartcard-trigger+xml", - PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml")) - setattr(cls, "vnd.oma.bcast.sprov+xml", - PermissibleValue(text="vnd.oma.bcast.sprov+xml")) - setattr(cls, "vnd.oma.bcast.stkm", - PermissibleValue(text="vnd.oma.bcast.stkm")) - setattr(cls, "vnd.oma.cab-address-book+xml", - PermissibleValue(text="vnd.oma.cab-address-book+xml")) - setattr(cls, "vnd.oma.cab-feature-handler+xml", - PermissibleValue(text="vnd.oma.cab-feature-handler+xml")) - setattr(cls, "vnd.oma.cab-pcc+xml", - PermissibleValue(text="vnd.oma.cab-pcc+xml")) - setattr(cls, "vnd.oma.cab-subs-invite+xml", - PermissibleValue(text="vnd.oma.cab-subs-invite+xml")) - setattr(cls, "vnd.oma.cab-user-prefs+xml", - PermissibleValue(text="vnd.oma.cab-user-prefs+xml")) - setattr(cls, "vnd.oma.dcd", - PermissibleValue(text="vnd.oma.dcd")) - setattr(cls, "vnd.oma.dcdc", - PermissibleValue(text="vnd.oma.dcdc")) - setattr(cls, "vnd.oma.dd2+xml", - PermissibleValue(text="vnd.oma.dd2+xml")) - setattr(cls, "vnd.oma.drm.risd+xml", - PermissibleValue(text="vnd.oma.drm.risd+xml")) - setattr(cls, "vnd.oma.group-usage-list+xml", - PermissibleValue(text="vnd.oma.group-usage-list+xml")) - setattr(cls, "vnd.oma.lwm2m+cbor", - PermissibleValue(text="vnd.oma.lwm2m+cbor")) - setattr(cls, "vnd.oma.lwm2m+json", - PermissibleValue(text="vnd.oma.lwm2m+json")) - setattr(cls, "vnd.oma.lwm2m+tlv", - PermissibleValue(text="vnd.oma.lwm2m+tlv")) - setattr(cls, "vnd.oma.pal+xml", - PermissibleValue(text="vnd.oma.pal+xml")) - setattr(cls, "vnd.oma.poc.detailed-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml")) - setattr(cls, "vnd.oma.poc.final-report+xml", - PermissibleValue(text="vnd.oma.poc.final-report+xml")) - setattr(cls, "vnd.oma.poc.groups+xml", - PermissibleValue(text="vnd.oma.poc.groups+xml")) - setattr(cls, "vnd.oma.poc.invocation-descriptor+xml", - PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml")) - setattr(cls, "vnd.oma.poc.optimized-progress-report+xml", - PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml")) - setattr(cls, "vnd.oma.push", - PermissibleValue(text="vnd.oma.push")) - setattr(cls, "vnd.oma.scidm.messages+xml", - PermissibleValue(text="vnd.oma.scidm.messages+xml")) - setattr(cls, "vnd.oma.xcap-directory+xml", - PermissibleValue(text="vnd.oma.xcap-directory+xml")) - setattr(cls, "vnd.omads-email+xml", - PermissibleValue(text="vnd.omads-email+xml")) - setattr(cls, "vnd.omads-file+xml", - PermissibleValue(text="vnd.omads-file+xml")) - setattr(cls, "vnd.omads-folder+xml", - PermissibleValue(text="vnd.omads-folder+xml")) - setattr(cls, "vnd.omaloc-supl-init", - PermissibleValue(text="vnd.omaloc-supl-init")) - setattr(cls, "vnd.oma-scws-config", - PermissibleValue(text="vnd.oma-scws-config")) - setattr(cls, "vnd.oma-scws-http-request", - PermissibleValue(text="vnd.oma-scws-http-request")) - setattr(cls, "vnd.oma-scws-http-response", - PermissibleValue(text="vnd.oma-scws-http-response")) - setattr(cls, "vnd.onepager", - PermissibleValue(text="vnd.onepager")) - setattr(cls, "vnd.onepagertamp", - PermissibleValue(text="vnd.onepagertamp")) - setattr(cls, "vnd.onepagertamx", - PermissibleValue(text="vnd.onepagertamx")) - setattr(cls, "vnd.onepagertat", - PermissibleValue(text="vnd.onepagertat")) - setattr(cls, "vnd.onepagertatp", - PermissibleValue(text="vnd.onepagertatp")) - setattr(cls, "vnd.onepagertatx", - PermissibleValue(text="vnd.onepagertatx")) - setattr(cls, "vnd.onvif.metadata", - PermissibleValue(text="vnd.onvif.metadata")) - setattr(cls, "vnd.openblox.game-binary", - PermissibleValue(text="vnd.openblox.game-binary")) - setattr(cls, "vnd.openblox.game+xml", - PermissibleValue(text="vnd.openblox.game+xml")) - setattr(cls, "vnd.openeye.oeb", - PermissibleValue(text="vnd.openeye.oeb")) - setattr(cls, "vnd.openstreetmap.data+xml", - PermissibleValue(text="vnd.openstreetmap.data+xml")) - setattr(cls, "vnd.opentimestamps.ots", - PermissibleValue(text="vnd.opentimestamps.ots")) - setattr(cls, "vnd.openxmlformats-officedocument.custom-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.custom-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.customXmlProperties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.customXmlProperties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawing+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chart+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chart+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.extended-properties+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.extended-properties+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.presProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.presProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slide+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slide+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.tags+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.tags+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.theme+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.themeOverride+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.themeOverride+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.vmlDrawing", - PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml")) - setattr(cls, "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", - PermissibleValue(text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml")) - setattr(cls, "vnd.openxmlformats-package.core-properties+xml", - PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml")) - setattr(cls, "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", - PermissibleValue(text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml")) - setattr(cls, "vnd.openxmlformats-package.relationships+xml", - PermissibleValue(text="vnd.openxmlformats-package.relationships+xml")) - setattr(cls, "vnd.oracle.resource+json", - PermissibleValue(text="vnd.oracle.resource+json")) - setattr(cls, "vnd.orange.indata", - PermissibleValue(text="vnd.orange.indata")) - setattr(cls, "vnd.osa.netdeploy", - PermissibleValue(text="vnd.osa.netdeploy")) - setattr(cls, "vnd.osgeo.mapguide.package", - PermissibleValue(text="vnd.osgeo.mapguide.package")) - setattr(cls, "vnd.osgi.bundle", - PermissibleValue(text="vnd.osgi.bundle")) - setattr(cls, "vnd.osgi.dp", - PermissibleValue(text="vnd.osgi.dp")) - setattr(cls, "vnd.osgi.subsystem", - PermissibleValue(text="vnd.osgi.subsystem")) - setattr(cls, "vnd.otps.ct-kip+xml", - PermissibleValue(text="vnd.otps.ct-kip+xml")) - setattr(cls, "vnd.oxli.countgraph", - PermissibleValue(text="vnd.oxli.countgraph")) - setattr(cls, "vnd.pagerduty+json", - PermissibleValue(text="vnd.pagerduty+json")) - setattr(cls, "vnd.palm", - PermissibleValue(text="vnd.palm")) - setattr(cls, "vnd.panoply", - PermissibleValue(text="vnd.panoply")) - setattr(cls, "vnd.paos.xml", - PermissibleValue(text="vnd.paos.xml")) - setattr(cls, "vnd.patentdive", - PermissibleValue(text="vnd.patentdive")) - setattr(cls, "vnd.patientecommsdoc", - PermissibleValue(text="vnd.patientecommsdoc")) - setattr(cls, "vnd.pawaafile", - PermissibleValue(text="vnd.pawaafile")) - setattr(cls, "vnd.pcos", - PermissibleValue(text="vnd.pcos")) - setattr(cls, "vnd.pg.format", - PermissibleValue(text="vnd.pg.format")) - setattr(cls, "vnd.pg.osasli", - PermissibleValue(text="vnd.pg.osasli")) - setattr(cls, "vnd.piaccess.application-licence", - PermissibleValue(text="vnd.piaccess.application-licence")) - setattr(cls, "vnd.picsel", - PermissibleValue(text="vnd.picsel")) - setattr(cls, "vnd.pmi.widget", - PermissibleValue(text="vnd.pmi.widget")) - setattr(cls, "vnd.poc.group-advertisement+xml", - PermissibleValue(text="vnd.poc.group-advertisement+xml")) - setattr(cls, "vnd.pocketlearn", - PermissibleValue(text="vnd.pocketlearn")) - setattr(cls, "vnd.powerbuilder6", - PermissibleValue(text="vnd.powerbuilder6")) - setattr(cls, "vnd.powerbuilder6-s", - PermissibleValue(text="vnd.powerbuilder6-s")) - setattr(cls, "vnd.powerbuilder7", - PermissibleValue(text="vnd.powerbuilder7")) - setattr(cls, "vnd.powerbuilder75", - PermissibleValue(text="vnd.powerbuilder75")) - setattr(cls, "vnd.powerbuilder75-s", - PermissibleValue(text="vnd.powerbuilder75-s")) - setattr(cls, "vnd.powerbuilder7-s", - PermissibleValue(text="vnd.powerbuilder7-s")) - setattr(cls, "vnd.preminet", - PermissibleValue(text="vnd.preminet")) - setattr(cls, "vnd.previewsystems.box", - PermissibleValue(text="vnd.previewsystems.box")) - setattr(cls, "vnd.proteus.magazine", - PermissibleValue(text="vnd.proteus.magazine")) - setattr(cls, "vnd.psfs", - PermissibleValue(text="vnd.psfs")) - setattr(cls, "vnd.pt.mundusmundi", - PermissibleValue(text="vnd.pt.mundusmundi")) - setattr(cls, "vnd.publishare-delta-tree", - PermissibleValue(text="vnd.publishare-delta-tree")) - setattr(cls, "vnd.pvi.ptid1", - PermissibleValue(text="vnd.pvi.ptid1")) - setattr(cls, "vnd.pwg-multiplexed", - PermissibleValue(text="vnd.pwg-multiplexed")) - setattr(cls, "vnd.pwg-xhtml-print+xml", - PermissibleValue(text="vnd.pwg-xhtml-print+xml")) - setattr(cls, "vnd.qualcomm.brew-app-res", - PermissibleValue(text="vnd.qualcomm.brew-app-res")) - setattr(cls, "vnd.quarantainenet", - PermissibleValue(text="vnd.quarantainenet")) - setattr(cls, "vnd.Quark.QuarkXPress", - PermissibleValue(text="vnd.Quark.QuarkXPress")) - setattr(cls, "vnd.quobject-quoxdocument", - PermissibleValue(text="vnd.quobject-quoxdocument")) - setattr(cls, "vnd.radisys.moml+xml", - PermissibleValue(text="vnd.radisys.moml+xml")) - setattr(cls, "vnd.radisys.msml-audit-conf+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conf+xml")) - setattr(cls, "vnd.radisys.msml-audit-conn+xml", - PermissibleValue(text="vnd.radisys.msml-audit-conn+xml")) - setattr(cls, "vnd.radisys.msml-audit-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml")) - setattr(cls, "vnd.radisys.msml-audit-stream+xml", - PermissibleValue(text="vnd.radisys.msml-audit-stream+xml")) - setattr(cls, "vnd.radisys.msml-audit+xml", - PermissibleValue(text="vnd.radisys.msml-audit+xml")) - setattr(cls, "vnd.radisys.msml-conf+xml", - PermissibleValue(text="vnd.radisys.msml-conf+xml")) - setattr(cls, "vnd.radisys.msml-dialog-base+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-base+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-detect+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml")) - setattr(cls, "vnd.radisys.msml-dialog-fax-sendrecv+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml")) - setattr(cls, "vnd.radisys.msml-dialog-group+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-group+xml")) - setattr(cls, "vnd.radisys.msml-dialog-speech+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml")) - setattr(cls, "vnd.radisys.msml-dialog-transform+xml", - PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml")) - setattr(cls, "vnd.radisys.msml-dialog+xml", - PermissibleValue(text="vnd.radisys.msml-dialog+xml")) - setattr(cls, "vnd.radisys.msml+xml", - PermissibleValue(text="vnd.radisys.msml+xml")) - setattr(cls, "vnd.rainstor.data", - PermissibleValue(text="vnd.rainstor.data")) - setattr(cls, "vnd.rapid", - PermissibleValue(text="vnd.rapid")) - setattr(cls, "vnd.rar", - PermissibleValue(text="vnd.rar")) - setattr(cls, "vnd.realvnc.bed", - PermissibleValue(text="vnd.realvnc.bed")) - setattr(cls, "vnd.recordare.musicxml", - PermissibleValue(text="vnd.recordare.musicxml")) - setattr(cls, "vnd.recordare.musicxml+xml", - PermissibleValue(text="vnd.recordare.musicxml+xml")) - setattr(cls, "vnd.relpipe", - PermissibleValue(text="vnd.relpipe")) - setattr(cls, "vnd.RenLearn.rlprint", - PermissibleValue(text="vnd.RenLearn.rlprint")) - setattr(cls, "vnd.resilient.logic", - PermissibleValue(text="vnd.resilient.logic")) - setattr(cls, "vnd.restful+json", - PermissibleValue(text="vnd.restful+json")) - setattr(cls, "vnd.rig.cryptonote", - PermissibleValue(text="vnd.rig.cryptonote")) - setattr(cls, "vnd.route66.link66+xml", - PermissibleValue(text="vnd.route66.link66+xml")) - setattr(cls, "vnd.rs-274x", - PermissibleValue(text="vnd.rs-274x")) - setattr(cls, "vnd.ruckus.download", - PermissibleValue(text="vnd.ruckus.download")) - setattr(cls, "vnd.s3sms", - PermissibleValue(text="vnd.s3sms")) - setattr(cls, "vnd.sailingtracker.track", - PermissibleValue(text="vnd.sailingtracker.track")) - setattr(cls, "vnd.sar", - PermissibleValue(text="vnd.sar")) - setattr(cls, "vnd.sbm.cid", - PermissibleValue(text="vnd.sbm.cid")) - setattr(cls, "vnd.sbm.mid2", - PermissibleValue(text="vnd.sbm.mid2")) - setattr(cls, "vnd.scribus", - PermissibleValue(text="vnd.scribus")) - setattr(cls, "vnd.sealed.3df", - PermissibleValue(text="vnd.sealed.3df")) - setattr(cls, "vnd.sealed.csf", - PermissibleValue(text="vnd.sealed.csf")) - setattr(cls, "vnd.sealed.doc", - PermissibleValue(text="vnd.sealed.doc")) - setattr(cls, "vnd.sealed.eml", - PermissibleValue(text="vnd.sealed.eml")) - setattr(cls, "vnd.sealed.mht", - PermissibleValue(text="vnd.sealed.mht")) - setattr(cls, "vnd.sealed.net", - PermissibleValue(text="vnd.sealed.net")) - setattr(cls, "vnd.sealed.ppt", - PermissibleValue(text="vnd.sealed.ppt")) - setattr(cls, "vnd.sealed.tiff", - PermissibleValue(text="vnd.sealed.tiff")) - setattr(cls, "vnd.sealed.xls", - PermissibleValue(text="vnd.sealed.xls")) - setattr(cls, "vnd.sealedmedia.softseal.html", - PermissibleValue(text="vnd.sealedmedia.softseal.html")) - setattr(cls, "vnd.sealedmedia.softseal.pdf", - PermissibleValue(text="vnd.sealedmedia.softseal.pdf")) - setattr(cls, "vnd.seemail", - PermissibleValue(text="vnd.seemail")) - setattr(cls, "vnd.seis+json", - PermissibleValue(text="vnd.seis+json")) - setattr(cls, "vnd.sema", - PermissibleValue(text="vnd.sema")) - setattr(cls, "vnd.semd", - PermissibleValue(text="vnd.semd")) - setattr(cls, "vnd.semf", - PermissibleValue(text="vnd.semf")) - setattr(cls, "vnd.shade-save-file", - PermissibleValue(text="vnd.shade-save-file")) - setattr(cls, "vnd.shana.informed.formdata", - PermissibleValue(text="vnd.shana.informed.formdata")) - setattr(cls, "vnd.shana.informed.formtemplate", - PermissibleValue(text="vnd.shana.informed.formtemplate")) - setattr(cls, "vnd.shana.informed.interchange", - PermissibleValue(text="vnd.shana.informed.interchange")) - setattr(cls, "vnd.shana.informed.package", - PermissibleValue(text="vnd.shana.informed.package")) - setattr(cls, "vnd.shootproof+json", - PermissibleValue(text="vnd.shootproof+json")) - setattr(cls, "vnd.shopkick+json", - PermissibleValue(text="vnd.shopkick+json")) - setattr(cls, "vnd.shp", - PermissibleValue(text="vnd.shp")) - setattr(cls, "vnd.shx", - PermissibleValue(text="vnd.shx")) - setattr(cls, "vnd.sigrok.session", - PermissibleValue(text="vnd.sigrok.session")) - setattr(cls, "vnd.SimTech-MindMapper", - PermissibleValue(text="vnd.SimTech-MindMapper")) - setattr(cls, "vnd.siren+json", - PermissibleValue(text="vnd.siren+json")) - setattr(cls, "vnd.smaf", - PermissibleValue(text="vnd.smaf")) - setattr(cls, "vnd.smart.notebook", - PermissibleValue(text="vnd.smart.notebook")) - setattr(cls, "vnd.smart.teacher", - PermissibleValue(text="vnd.smart.teacher")) - setattr(cls, "vnd.smintio.portals.archive", - PermissibleValue(text="vnd.smintio.portals.archive")) - setattr(cls, "vnd.snesdev-page-table", - PermissibleValue(text="vnd.snesdev-page-table")) - setattr(cls, "vnd.software602.filler.form+xml", - PermissibleValue(text="vnd.software602.filler.form+xml")) - setattr(cls, "vnd.software602.filler.form-xml-zip", - PermissibleValue(text="vnd.software602.filler.form-xml-zip")) - setattr(cls, "vnd.solent.sdkm+xml", - PermissibleValue(text="vnd.solent.sdkm+xml")) - setattr(cls, "vnd.spotfire.dxp", - PermissibleValue(text="vnd.spotfire.dxp")) - setattr(cls, "vnd.spotfire.sfs", - PermissibleValue(text="vnd.spotfire.sfs")) - setattr(cls, "vnd.sqlite3", - PermissibleValue(text="vnd.sqlite3")) - setattr(cls, "vnd.sss-cod", - PermissibleValue(text="vnd.sss-cod")) - setattr(cls, "vnd.sss-dtf", - PermissibleValue(text="vnd.sss-dtf")) - setattr(cls, "vnd.sss-ntf", - PermissibleValue(text="vnd.sss-ntf")) - setattr(cls, "vnd.stepmania.package", - PermissibleValue(text="vnd.stepmania.package")) - setattr(cls, "vnd.stepmania.stepchart", - PermissibleValue(text="vnd.stepmania.stepchart")) - setattr(cls, "vnd.street-stream", - PermissibleValue(text="vnd.street-stream")) - setattr(cls, "vnd.sun.wadl+xml", - PermissibleValue(text="vnd.sun.wadl+xml")) - setattr(cls, "vnd.sus-calendar", - PermissibleValue(text="vnd.sus-calendar")) - setattr(cls, "vnd.svd", - PermissibleValue(text="vnd.svd")) - setattr(cls, "vnd.swiftview-ics", - PermissibleValue(text="vnd.swiftview-ics")) - setattr(cls, "vnd.sybyl.mol2", - PermissibleValue(text="vnd.sybyl.mol2")) - setattr(cls, "vnd.sycle+xml", - PermissibleValue(text="vnd.sycle+xml")) - setattr(cls, "vnd.syft+json", - PermissibleValue(text="vnd.syft+json")) - setattr(cls, "vnd.syncml.dm.notification", - PermissibleValue(text="vnd.syncml.dm.notification")) - setattr(cls, "vnd.syncml.dmddf+xml", - PermissibleValue(text="vnd.syncml.dmddf+xml")) - setattr(cls, "vnd.syncml.dmtnds+wbxml", - PermissibleValue(text="vnd.syncml.dmtnds+wbxml")) - setattr(cls, "vnd.syncml.dmtnds+xml", - PermissibleValue(text="vnd.syncml.dmtnds+xml")) - setattr(cls, "vnd.syncml.dmddf+wbxml", - PermissibleValue(text="vnd.syncml.dmddf+wbxml")) - setattr(cls, "vnd.syncml.dm+wbxml", - PermissibleValue(text="vnd.syncml.dm+wbxml")) - setattr(cls, "vnd.syncml.dm+xml", - PermissibleValue(text="vnd.syncml.dm+xml")) - setattr(cls, "vnd.syncml.ds.notification", - PermissibleValue(text="vnd.syncml.ds.notification")) - setattr(cls, "vnd.syncml+xml", - PermissibleValue(text="vnd.syncml+xml")) - setattr(cls, "vnd.tableschema+json", - PermissibleValue(text="vnd.tableschema+json")) - setattr(cls, "vnd.tao.intent-module-archive", - PermissibleValue(text="vnd.tao.intent-module-archive")) - setattr(cls, "vnd.tcpdump.pcap", - PermissibleValue(text="vnd.tcpdump.pcap")) - setattr(cls, "vnd.think-cell.ppttc+json", - PermissibleValue(text="vnd.think-cell.ppttc+json")) - setattr(cls, "vnd.tml", - PermissibleValue(text="vnd.tml")) - setattr(cls, "vnd.tmd.mediaflex.api+xml", - PermissibleValue(text="vnd.tmd.mediaflex.api+xml")) - setattr(cls, "vnd.tmobile-livetv", - PermissibleValue(text="vnd.tmobile-livetv")) - setattr(cls, "vnd.tri.onesource", - PermissibleValue(text="vnd.tri.onesource")) - setattr(cls, "vnd.trid.tpt", - PermissibleValue(text="vnd.trid.tpt")) - setattr(cls, "vnd.triscape.mxs", - PermissibleValue(text="vnd.triscape.mxs")) - setattr(cls, "vnd.trueapp", - PermissibleValue(text="vnd.trueapp")) - setattr(cls, "vnd.truedoc", - PermissibleValue(text="vnd.truedoc")) - setattr(cls, "vnd.ubisoft.webplayer", - PermissibleValue(text="vnd.ubisoft.webplayer")) - setattr(cls, "vnd.ufdl", - PermissibleValue(text="vnd.ufdl")) - setattr(cls, "vnd.uiq.theme", - PermissibleValue(text="vnd.uiq.theme")) - setattr(cls, "vnd.umajin", - PermissibleValue(text="vnd.umajin")) - setattr(cls, "vnd.unity", - PermissibleValue(text="vnd.unity")) - setattr(cls, "vnd.uoml+xml", - PermissibleValue(text="vnd.uoml+xml")) - setattr(cls, "vnd.uplanet.alert", - PermissibleValue(text="vnd.uplanet.alert")) - setattr(cls, "vnd.uplanet.alert-wbxml", - PermissibleValue(text="vnd.uplanet.alert-wbxml")) - setattr(cls, "vnd.uplanet.bearer-choice", - PermissibleValue(text="vnd.uplanet.bearer-choice")) - setattr(cls, "vnd.uplanet.bearer-choice-wbxml", - PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml")) - setattr(cls, "vnd.uplanet.cacheop", - PermissibleValue(text="vnd.uplanet.cacheop")) - setattr(cls, "vnd.uplanet.cacheop-wbxml", - PermissibleValue(text="vnd.uplanet.cacheop-wbxml")) - setattr(cls, "vnd.uplanet.channel", - PermissibleValue(text="vnd.uplanet.channel")) - setattr(cls, "vnd.uplanet.channel-wbxml", - PermissibleValue(text="vnd.uplanet.channel-wbxml")) - setattr(cls, "vnd.uplanet.list", - PermissibleValue(text="vnd.uplanet.list")) - setattr(cls, "vnd.uplanet.listcmd", - PermissibleValue(text="vnd.uplanet.listcmd")) - setattr(cls, "vnd.uplanet.listcmd-wbxml", - PermissibleValue(text="vnd.uplanet.listcmd-wbxml")) - setattr(cls, "vnd.uplanet.list-wbxml", - PermissibleValue(text="vnd.uplanet.list-wbxml")) - setattr(cls, "vnd.uri-map", - PermissibleValue(text="vnd.uri-map")) - setattr(cls, "vnd.uplanet.signal", - PermissibleValue(text="vnd.uplanet.signal")) - setattr(cls, "vnd.valve.source.material", - PermissibleValue(text="vnd.valve.source.material")) - setattr(cls, "vnd.vcx", - PermissibleValue(text="vnd.vcx")) - setattr(cls, "vnd.vd-study", - PermissibleValue(text="vnd.vd-study")) - setattr(cls, "vnd.vectorworks", - PermissibleValue(text="vnd.vectorworks")) - setattr(cls, "vnd.vel+json", - PermissibleValue(text="vnd.vel+json")) - setattr(cls, "vnd.verimatrix.vcas", - PermissibleValue(text="vnd.verimatrix.vcas")) - setattr(cls, "vnd.veritone.aion+json", - PermissibleValue(text="vnd.veritone.aion+json")) - setattr(cls, "vnd.veryant.thin", - PermissibleValue(text="vnd.veryant.thin")) - setattr(cls, "vnd.ves.encrypted", - PermissibleValue(text="vnd.ves.encrypted")) - setattr(cls, "vnd.vidsoft.vidconference", - PermissibleValue(text="vnd.vidsoft.vidconference")) - setattr(cls, "vnd.visio", - PermissibleValue(text="vnd.visio")) - setattr(cls, "vnd.visionary", - PermissibleValue(text="vnd.visionary")) - setattr(cls, "vnd.vividence.scriptfile", - PermissibleValue(text="vnd.vividence.scriptfile")) - setattr(cls, "vnd.vsf", - PermissibleValue(text="vnd.vsf")) - setattr(cls, "vnd.wap.sic", - PermissibleValue(text="vnd.wap.sic")) - setattr(cls, "vnd.wap.slc", - PermissibleValue(text="vnd.wap.slc")) - setattr(cls, "vnd.wap.wbxml", - PermissibleValue(text="vnd.wap.wbxml")) - setattr(cls, "vnd.wap.wmlc", - PermissibleValue(text="vnd.wap.wmlc")) - setattr(cls, "vnd.wap.wmlscriptc", - PermissibleValue(text="vnd.wap.wmlscriptc")) - setattr(cls, "vnd.wasmflow.wafl", - PermissibleValue(text="vnd.wasmflow.wafl")) - setattr(cls, "vnd.webturbo", - PermissibleValue(text="vnd.webturbo")) - setattr(cls, "vnd.wfa.dpp", - PermissibleValue(text="vnd.wfa.dpp")) - setattr(cls, "vnd.wfa.p2p", - PermissibleValue(text="vnd.wfa.p2p")) - setattr(cls, "vnd.wfa.wsc", - PermissibleValue(text="vnd.wfa.wsc")) - setattr(cls, "vnd.windows.devicepairing", - PermissibleValue(text="vnd.windows.devicepairing")) - setattr(cls, "vnd.wmc", - PermissibleValue(text="vnd.wmc")) - setattr(cls, "vnd.wmf.bootstrap", - PermissibleValue(text="vnd.wmf.bootstrap")) - setattr(cls, "vnd.wolfram.mathematica", - PermissibleValue(text="vnd.wolfram.mathematica")) - setattr(cls, "vnd.wolfram.mathematica.package", - PermissibleValue(text="vnd.wolfram.mathematica.package")) - setattr(cls, "vnd.wolfram.player", - PermissibleValue(text="vnd.wolfram.player")) - setattr(cls, "vnd.wordlift", - PermissibleValue(text="vnd.wordlift")) - setattr(cls, "vnd.wordperfect", - PermissibleValue(text="vnd.wordperfect")) - setattr(cls, "vnd.wqd", - PermissibleValue(text="vnd.wqd")) - setattr(cls, "vnd.wrq-hp3000-labelled", - PermissibleValue(text="vnd.wrq-hp3000-labelled")) - setattr(cls, "vnd.wt.stf", - PermissibleValue(text="vnd.wt.stf")) - setattr(cls, "vnd.wv.csp+xml", - PermissibleValue(text="vnd.wv.csp+xml")) - setattr(cls, "vnd.wv.csp+wbxml", - PermissibleValue(text="vnd.wv.csp+wbxml")) - setattr(cls, "vnd.wv.ssp+xml", - PermissibleValue(text="vnd.wv.ssp+xml")) - setattr(cls, "vnd.xacml+json", - PermissibleValue(text="vnd.xacml+json")) - setattr(cls, "vnd.xara", - PermissibleValue(text="vnd.xara")) - setattr(cls, "vnd.xfdl", - PermissibleValue(text="vnd.xfdl")) - setattr(cls, "vnd.xfdl.webform", - PermissibleValue(text="vnd.xfdl.webform")) - setattr(cls, "vnd.xmi+xml", - PermissibleValue(text="vnd.xmi+xml")) - setattr(cls, "vnd.xmpie.cpkg", - PermissibleValue(text="vnd.xmpie.cpkg")) - setattr(cls, "vnd.xmpie.dpkg", - PermissibleValue(text="vnd.xmpie.dpkg")) - setattr(cls, "vnd.xmpie.plan", - PermissibleValue(text="vnd.xmpie.plan")) - setattr(cls, "vnd.xmpie.ppkg", - PermissibleValue(text="vnd.xmpie.ppkg")) - setattr(cls, "vnd.xmpie.xlim", - PermissibleValue(text="vnd.xmpie.xlim")) - setattr(cls, "vnd.yamaha.hv-dic", - PermissibleValue(text="vnd.yamaha.hv-dic")) - setattr(cls, "vnd.yamaha.hv-script", - PermissibleValue(text="vnd.yamaha.hv-script")) - setattr(cls, "vnd.yamaha.hv-voice", - PermissibleValue(text="vnd.yamaha.hv-voice")) - setattr(cls, "vnd.yamaha.openscoreformat.osfpvg+xml", - PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml")) - setattr(cls, "vnd.yamaha.openscoreformat", - PermissibleValue(text="vnd.yamaha.openscoreformat")) - setattr(cls, "vnd.yamaha.remote-setup", - PermissibleValue(text="vnd.yamaha.remote-setup")) - setattr(cls, "vnd.yamaha.smaf-audio", - PermissibleValue(text="vnd.yamaha.smaf-audio")) - setattr(cls, "vnd.yamaha.smaf-phrase", - PermissibleValue(text="vnd.yamaha.smaf-phrase")) - setattr(cls, "vnd.yamaha.through-ngn", - PermissibleValue(text="vnd.yamaha.through-ngn")) - setattr(cls, "vnd.yamaha.tunnel-udpencap", - PermissibleValue(text="vnd.yamaha.tunnel-udpencap")) - setattr(cls, "vnd.yaoweme", - PermissibleValue(text="vnd.yaoweme")) - setattr(cls, "vnd.yellowriver-custom-menu", - PermissibleValue(text="vnd.yellowriver-custom-menu")) - setattr(cls, "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", - PermissibleValue(text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)")) - setattr(cls, "vnd.zul", - PermissibleValue(text="vnd.zul")) - setattr(cls, "vnd.zzazz.deck+xml", - PermissibleValue(text="vnd.zzazz.deck+xml")) - setattr(cls, "voicexml+xml", - PermissibleValue(text="voicexml+xml")) - setattr(cls, "voucher-cms+json", - PermissibleValue(text="voucher-cms+json")) - setattr(cls, "vq-rtcpxr", - PermissibleValue(text="vq-rtcpxr")) - setattr(cls, "watcherinfo+xml", - PermissibleValue(text="watcherinfo+xml")) - setattr(cls, "webpush-options+json", - PermissibleValue(text="webpush-options+json")) - setattr(cls, "whoispp-query", - PermissibleValue(text="whoispp-query")) - setattr(cls, "whoispp-response", - PermissibleValue(text="whoispp-response")) - setattr(cls, "wordperfect5.1", - PermissibleValue(text="wordperfect5.1")) - setattr(cls, "wsdl+xml", - PermissibleValue(text="wsdl+xml")) - setattr(cls, "wspolicy+xml", - PermissibleValue(text="wspolicy+xml")) - setattr(cls, "x-pki-message", - PermissibleValue(text="x-pki-message")) - setattr(cls, "x-www-form-urlencoded", - PermissibleValue(text="x-www-form-urlencoded")) - setattr(cls, "x-x509-ca-cert", - PermissibleValue(text="x-x509-ca-cert")) - setattr(cls, "x-x509-ca-ra-cert", - PermissibleValue(text="x-x509-ca-ra-cert")) - setattr(cls, "x-x509-next-ca-cert", - PermissibleValue(text="x-x509-next-ca-cert")) - setattr(cls, "x400-bp", - PermissibleValue(text="x400-bp")) - setattr(cls, "xacml+xml", - PermissibleValue(text="xacml+xml")) - setattr(cls, "xcap-att+xml", - PermissibleValue(text="xcap-att+xml")) - setattr(cls, "xcap-caps+xml", - PermissibleValue(text="xcap-caps+xml")) - setattr(cls, "xcap-diff+xml", - PermissibleValue(text="xcap-diff+xml")) - setattr(cls, "xcap-el+xml", - PermissibleValue(text="xcap-el+xml")) - setattr(cls, "xcap-error+xml", - PermissibleValue(text="xcap-error+xml")) - setattr(cls, "xcap-ns+xml", - PermissibleValue(text="xcap-ns+xml")) - setattr(cls, "xcon-conference-info-diff+xml", - PermissibleValue(text="xcon-conference-info-diff+xml")) - setattr(cls, "xcon-conference-info+xml", - PermissibleValue(text="xcon-conference-info+xml")) - setattr(cls, "xenc+xml", - PermissibleValue(text="xenc+xml")) - setattr(cls, "xhtml+xml", - PermissibleValue(text="xhtml+xml")) - setattr(cls, "xliff+xml", - PermissibleValue(text="xliff+xml")) - setattr(cls, "xml-dtd", - PermissibleValue(text="xml-dtd")) - setattr(cls, "xml-patch+xml", - PermissibleValue(text="xml-patch+xml")) - setattr(cls, "xmpp+xml", - PermissibleValue(text="xmpp+xml")) - setattr(cls, "xop+xml", - PermissibleValue(text="xop+xml")) - setattr(cls, "xslt+xml", - PermissibleValue(text="xslt+xml")) - setattr(cls, "xv+xml", - PermissibleValue(text="xv+xml")) - setattr(cls, "yang-data+cbor", - PermissibleValue(text="yang-data+cbor")) - setattr(cls, "yang-data+json", - PermissibleValue(text="yang-data+json")) - setattr(cls, "yang-data+xml", - PermissibleValue(text="yang-data+xml")) - setattr(cls, "yang-patch+json", - PermissibleValue(text="yang-patch+json")) - setattr(cls, "yang-patch+xml", - PermissibleValue(text="yang-patch+xml")) - setattr(cls, "yin+xml", - PermissibleValue(text="yin+xml")) + setattr( + cls, + "1d-interleaved-parityfec", + PermissibleValue(text="1d-interleaved-parityfec"), + ) + setattr(cls, "cache-manifest", PermissibleValue(text="cache-manifest")) + setattr(cls, "cql-expression", PermissibleValue(text="cql-expression")) + setattr(cls, "cql-identifier", PermissibleValue(text="cql-identifier")) + setattr(cls, "csv-schema", PermissibleValue(text="csv-schema")) + setattr( + cls, + "directory - DEPRECATED by RFC6350", + PermissibleValue(text="directory - DEPRECATED by RFC6350"), + ) + setattr( + cls, + "ecmascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="ecmascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "grammar-ref-list", PermissibleValue(text="grammar-ref-list")) + setattr(cls, "jcr-cnd", PermissibleValue(text="jcr-cnd")) + setattr( + cls, "provenance-notation", PermissibleValue(text="provenance-notation") + ) + setattr( + cls, "prs.fallenstein.rst", PermissibleValue(text="prs.fallenstein.rst") + ) + setattr(cls, "prs.lines.tag", PermissibleValue(text="prs.lines.tag")) + setattr(cls, "prs.prop.logic", PermissibleValue(text="prs.prop.logic")) + setattr(cls, "rfc822-headers", PermissibleValue(text="rfc822-headers")) + setattr(cls, "rtp-enc-aescm128", PermissibleValue(text="rtp-enc-aescm128")) + setattr( + cls, "tab-separated-values", PermissibleValue(text="tab-separated-values") + ) + setattr(cls, "uri-list", PermissibleValue(text="uri-list")) + setattr(cls, "vnd.a", PermissibleValue(text="vnd.a")) + setattr(cls, "vnd.abc", PermissibleValue(text="vnd.abc")) + setattr(cls, "vnd.ascii-art", PermissibleValue(text="vnd.ascii-art")) + setattr(cls, "vnd.curl", PermissibleValue(text="vnd.curl")) + setattr( + cls, "vnd.debian.copyright", PermissibleValue(text="vnd.debian.copyright") + ) + setattr(cls, "vnd.DMClientScript", PermissibleValue(text="vnd.DMClientScript")) + setattr(cls, "vnd.dvb.subtitle", PermissibleValue(text="vnd.dvb.subtitle")) + setattr( + cls, + "vnd.esmertec.theme-descriptor", + PermissibleValue(text="vnd.esmertec.theme-descriptor"), + ) + setattr(cls, "vnd.exchangeable", PermissibleValue(text="vnd.exchangeable")) + setattr( + cls, + "vnd.familysearch.gedcom", + PermissibleValue(text="vnd.familysearch.gedcom"), + ) + setattr(cls, "vnd.ficlab.flt", PermissibleValue(text="vnd.ficlab.flt")) + setattr(cls, "vnd.fly", PermissibleValue(text="vnd.fly")) + setattr(cls, "vnd.fmi.flexstor", PermissibleValue(text="vnd.fmi.flexstor")) + setattr(cls, "vnd.gml", PermissibleValue(text="vnd.gml")) + setattr(cls, "vnd.graphviz", PermissibleValue(text="vnd.graphviz")) + setattr(cls, "vnd.hans", PermissibleValue(text="vnd.hans")) + setattr(cls, "vnd.hgl", PermissibleValue(text="vnd.hgl")) + setattr(cls, "vnd.in3d.3dml", PermissibleValue(text="vnd.in3d.3dml")) + setattr(cls, "vnd.in3d.spot", PermissibleValue(text="vnd.in3d.spot")) + setattr(cls, "vnd.IPTC.NewsML", PermissibleValue(text="vnd.IPTC.NewsML")) + setattr(cls, "vnd.IPTC.NITF", PermissibleValue(text="vnd.IPTC.NITF")) + setattr(cls, "vnd.latex-z", PermissibleValue(text="vnd.latex-z")) + setattr( + cls, "vnd.motorola.reflex", PermissibleValue(text="vnd.motorola.reflex") + ) + setattr( + cls, "vnd.ms-mediapackage", PermissibleValue(text="vnd.ms-mediapackage") + ) + setattr( + cls, + "vnd.net2phone.commcenter.command", + PermissibleValue(text="vnd.net2phone.commcenter.command"), + ) + setattr( + cls, + "vnd.radisys.msml-basic-layout", + PermissibleValue(text="vnd.radisys.msml-basic-layout"), + ) + setattr( + cls, "vnd.senx.warpscript", PermissibleValue(text="vnd.senx.warpscript") + ) + setattr( + cls, "vnd.si.uricatalogue", PermissibleValue(text="vnd.si.uricatalogue") + ) + setattr( + cls, + "vnd.sun.j2me.app-descriptor", + PermissibleValue(text="vnd.sun.j2me.app-descriptor"), + ) + setattr(cls, "vnd.sosi", PermissibleValue(text="vnd.sosi")) + setattr( + cls, + "vnd.trolltech.linguist", + PermissibleValue(text="vnd.trolltech.linguist"), + ) + setattr(cls, "vnd.wap.si", PermissibleValue(text="vnd.wap.si")) + setattr(cls, "vnd.wap.sl", PermissibleValue(text="vnd.wap.sl")) + setattr(cls, "vnd.wap.wml", PermissibleValue(text="vnd.wap.wml")) + setattr(cls, "vnd.wap.wmlscript", PermissibleValue(text="vnd.wap.wmlscript")) + setattr( + cls, + "xml-external-parsed-entity", + PermissibleValue(text="xml-external-parsed-entity"), + ) + setattr( + cls, + "3gpdash-qoe-report+xml", + PermissibleValue(text="3gpdash-qoe-report+xml"), + ) + setattr(cls, "3gppHal+json", PermissibleValue(text="3gppHal+json")) + setattr(cls, "3gppHalForms+json", PermissibleValue(text="3gppHalForms+json")) + setattr(cls, "3gpp-ims+xml", PermissibleValue(text="3gpp-ims+xml")) + setattr(cls, "ace+cbor", PermissibleValue(text="ace+cbor")) + setattr(cls, "ace+json", PermissibleValue(text="ace+json")) + setattr(cls, "activity+json", PermissibleValue(text="activity+json")) + setattr(cls, "aif+cbor", PermissibleValue(text="aif+cbor")) + setattr(cls, "aif+json", PermissibleValue(text="aif+json")) + setattr(cls, "alto-cdni+json", PermissibleValue(text="alto-cdni+json")) + setattr( + cls, "alto-cdnifilter+json", PermissibleValue(text="alto-cdnifilter+json") + ) + setattr(cls, "alto-costmap+json", PermissibleValue(text="alto-costmap+json")) + setattr( + cls, + "alto-costmapfilter+json", + PermissibleValue(text="alto-costmapfilter+json"), + ) + setattr( + cls, "alto-directory+json", PermissibleValue(text="alto-directory+json") + ) + setattr( + cls, + "alto-endpointprop+json", + PermissibleValue(text="alto-endpointprop+json"), + ) + setattr( + cls, + "alto-endpointpropparams+json", + PermissibleValue(text="alto-endpointpropparams+json"), + ) + setattr( + cls, + "alto-endpointcost+json", + PermissibleValue(text="alto-endpointcost+json"), + ) + setattr( + cls, + "alto-endpointcostparams+json", + PermissibleValue(text="alto-endpointcostparams+json"), + ) + setattr(cls, "alto-error+json", PermissibleValue(text="alto-error+json")) + setattr( + cls, + "alto-networkmapfilter+json", + PermissibleValue(text="alto-networkmapfilter+json"), + ) + setattr( + cls, "alto-networkmap+json", PermissibleValue(text="alto-networkmap+json") + ) + setattr(cls, "alto-propmap+json", PermissibleValue(text="alto-propmap+json")) + setattr( + cls, + "alto-propmapparams+json", + PermissibleValue(text="alto-propmapparams+json"), + ) + setattr( + cls, + "alto-updatestreamcontrol+json", + PermissibleValue(text="alto-updatestreamcontrol+json"), + ) + setattr( + cls, + "alto-updatestreamparams+json", + PermissibleValue(text="alto-updatestreamparams+json"), + ) + setattr(cls, "andrew-inset", PermissibleValue(text="andrew-inset")) + setattr(cls, "at+jwt", PermissibleValue(text="at+jwt")) + setattr(cls, "atom+xml", PermissibleValue(text="atom+xml")) + setattr(cls, "atomcat+xml", PermissibleValue(text="atomcat+xml")) + setattr(cls, "atomdeleted+xml", PermissibleValue(text="atomdeleted+xml")) + setattr(cls, "atomsvc+xml", PermissibleValue(text="atomsvc+xml")) + setattr(cls, "atsc-dwd+xml", PermissibleValue(text="atsc-dwd+xml")) + setattr( + cls, + "atsc-dynamic-event-message", + PermissibleValue(text="atsc-dynamic-event-message"), + ) + setattr(cls, "atsc-held+xml", PermissibleValue(text="atsc-held+xml")) + setattr(cls, "atsc-rdt+json", PermissibleValue(text="atsc-rdt+json")) + setattr(cls, "atsc-rsat+xml", PermissibleValue(text="atsc-rsat+xml")) + setattr(cls, "auth-policy+xml", PermissibleValue(text="auth-policy+xml")) + setattr( + cls, "automationml-aml+xml", PermissibleValue(text="automationml-aml+xml") + ) + setattr( + cls, "automationml-amlx+zip", PermissibleValue(text="automationml-amlx+zip") + ) + setattr(cls, "bacnet-xdd+zip", PermissibleValue(text="bacnet-xdd+zip")) + setattr(cls, "batch-SMTP", PermissibleValue(text="batch-SMTP")) + setattr(cls, "beep+xml", PermissibleValue(text="beep+xml")) + setattr(cls, "calendar+json", PermissibleValue(text="calendar+json")) + setattr(cls, "calendar+xml", PermissibleValue(text="calendar+xml")) + setattr(cls, "call-completion", PermissibleValue(text="call-completion")) + setattr(cls, "CALS-1840", PermissibleValue(text="CALS-1840")) + setattr(cls, "captive+json", PermissibleValue(text="captive+json")) + setattr(cls, "cbor-seq", PermissibleValue(text="cbor-seq")) + setattr(cls, "ccmp+xml", PermissibleValue(text="ccmp+xml")) + setattr(cls, "ccxml+xml", PermissibleValue(text="ccxml+xml")) + setattr(cls, "cda+xml", PermissibleValue(text="cda+xml")) + setattr(cls, "CDFX+XML", PermissibleValue(text="CDFX+XML")) + setattr(cls, "cdmi-capability", PermissibleValue(text="cdmi-capability")) + setattr(cls, "cdmi-container", PermissibleValue(text="cdmi-container")) + setattr(cls, "cdmi-domain", PermissibleValue(text="cdmi-domain")) + setattr(cls, "cdmi-object", PermissibleValue(text="cdmi-object")) + setattr(cls, "cdmi-queue", PermissibleValue(text="cdmi-queue")) + setattr(cls, "cea-2018+xml", PermissibleValue(text="cea-2018+xml")) + setattr(cls, "cellml+xml", PermissibleValue(text="cellml+xml")) + setattr(cls, "cid-edhoc+cbor-seq", PermissibleValue(text="cid-edhoc+cbor-seq")) + setattr(cls, "city+json", PermissibleValue(text="city+json")) + setattr(cls, "clue_info+xml", PermissibleValue(text="clue_info+xml")) + setattr(cls, "clue+xml", PermissibleValue(text="clue+xml")) + setattr(cls, "cnrp+xml", PermissibleValue(text="cnrp+xml")) + setattr(cls, "coap-group+json", PermissibleValue(text="coap-group+json")) + setattr(cls, "coap-payload", PermissibleValue(text="coap-payload")) + setattr( + cls, + "concise-problem-details+cbor", + PermissibleValue(text="concise-problem-details+cbor"), + ) + setattr( + cls, "conference-info+xml", PermissibleValue(text="conference-info+xml") + ) + setattr(cls, "cpl+xml", PermissibleValue(text="cpl+xml")) + setattr(cls, "cose-key", PermissibleValue(text="cose-key")) + setattr(cls, "cose-key-set", PermissibleValue(text="cose-key-set")) + setattr(cls, "cose-x509", PermissibleValue(text="cose-x509")) + setattr(cls, "csta+xml", PermissibleValue(text="csta+xml")) + setattr(cls, "CSTAdata+xml", PermissibleValue(text="CSTAdata+xml")) + setattr(cls, "csvm+json", PermissibleValue(text="csvm+json")) + setattr(cls, "cwl+json", PermissibleValue(text="cwl+json")) + setattr(cls, "dash+xml", PermissibleValue(text="dash+xml")) + setattr(cls, "dash-patch+xml", PermissibleValue(text="dash-patch+xml")) + setattr(cls, "davmount+xml", PermissibleValue(text="davmount+xml")) + setattr(cls, "dca-rft", PermissibleValue(text="dca-rft")) + setattr(cls, "dec-dx", PermissibleValue(text="dec-dx")) + setattr(cls, "dialog-info+xml", PermissibleValue(text="dialog-info+xml")) + setattr(cls, "dicom+json", PermissibleValue(text="dicom+json")) + setattr(cls, "dicom+xml", PermissibleValue(text="dicom+xml")) + setattr(cls, "dns+json", PermissibleValue(text="dns+json")) + setattr(cls, "dns-message", PermissibleValue(text="dns-message")) + setattr(cls, "dots+cbor", PermissibleValue(text="dots+cbor")) + setattr(cls, "dpop+jwt", PermissibleValue(text="dpop+jwt")) + setattr(cls, "dskpp+xml", PermissibleValue(text="dskpp+xml")) + setattr(cls, "dssc+der", PermissibleValue(text="dssc+der")) + setattr(cls, "dssc+xml", PermissibleValue(text="dssc+xml")) + setattr(cls, "edhoc+cbor-seq", PermissibleValue(text="edhoc+cbor-seq")) + setattr(cls, "EDI-consent", PermissibleValue(text="EDI-consent")) + setattr(cls, "EDI-X12", PermissibleValue(text="EDI-X12")) + setattr(cls, "elm+json", PermissibleValue(text="elm+json")) + setattr(cls, "elm+xml", PermissibleValue(text="elm+xml")) + setattr( + cls, + "EmergencyCallData.cap+xml", + PermissibleValue(text="EmergencyCallData.cap+xml"), + ) + setattr( + cls, + "EmergencyCallData.Comment+xml", + PermissibleValue(text="EmergencyCallData.Comment+xml"), + ) + setattr( + cls, + "EmergencyCallData.Control+xml", + PermissibleValue(text="EmergencyCallData.Control+xml"), + ) + setattr( + cls, + "EmergencyCallData.DeviceInfo+xml", + PermissibleValue(text="EmergencyCallData.DeviceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.eCall.MSD", + PermissibleValue(text="EmergencyCallData.eCall.MSD"), + ) + setattr( + cls, + "EmergencyCallData.LegacyESN+json", + PermissibleValue(text="EmergencyCallData.LegacyESN+json"), + ) + setattr( + cls, + "EmergencyCallData.ProviderInfo+xml", + PermissibleValue(text="EmergencyCallData.ProviderInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.ServiceInfo+xml", + PermissibleValue(text="EmergencyCallData.ServiceInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.SubscriberInfo+xml", + PermissibleValue(text="EmergencyCallData.SubscriberInfo+xml"), + ) + setattr( + cls, + "EmergencyCallData.VEDS+xml", + PermissibleValue(text="EmergencyCallData.VEDS+xml"), + ) + setattr(cls, "emma+xml", PermissibleValue(text="emma+xml")) + setattr(cls, "emotionml+xml", PermissibleValue(text="emotionml+xml")) + setattr(cls, "epp+xml", PermissibleValue(text="epp+xml")) + setattr(cls, "epub+zip", PermissibleValue(text="epub+zip")) + setattr( + cls, "expect-ct-report+json", PermissibleValue(text="expect-ct-report+json") + ) + setattr(cls, "fdt+xml", PermissibleValue(text="fdt+xml")) + setattr(cls, "fhir+json", PermissibleValue(text="fhir+json")) + setattr(cls, "fhir+xml", PermissibleValue(text="fhir+xml")) + setattr( + cls, + "font-sfnt - DEPRECATED in favor of font/sfnt", + PermissibleValue(text="font-sfnt - DEPRECATED in favor of font/sfnt"), + ) + setattr(cls, "font-tdpfr", PermissibleValue(text="font-tdpfr")) + setattr( + cls, + "font-woff - DEPRECATED in favor of font/woff", + PermissibleValue(text="font-woff - DEPRECATED in favor of font/woff"), + ) + setattr( + cls, + "framework-attributes+xml", + PermissibleValue(text="framework-attributes+xml"), + ) + setattr(cls, "geo+json", PermissibleValue(text="geo+json")) + setattr(cls, "geo+json-seq", PermissibleValue(text="geo+json-seq")) + setattr(cls, "geopackage+sqlite3", PermissibleValue(text="geopackage+sqlite3")) + setattr(cls, "geoxacml+xml", PermissibleValue(text="geoxacml+xml")) + setattr(cls, "gltf-buffer", PermissibleValue(text="gltf-buffer")) + setattr(cls, "gml+xml", PermissibleValue(text="gml+xml")) + setattr(cls, "held+xml", PermissibleValue(text="held+xml")) + setattr(cls, "hl7v2+xml", PermissibleValue(text="hl7v2+xml")) + setattr( + cls, "ibe-key-request+xml", PermissibleValue(text="ibe-key-request+xml") + ) + setattr(cls, "ibe-pkg-reply+xml", PermissibleValue(text="ibe-pkg-reply+xml")) + setattr(cls, "ibe-pp-data", PermissibleValue(text="ibe-pp-data")) + setattr(cls, "im-iscomposing+xml", PermissibleValue(text="im-iscomposing+xml")) + setattr(cls, "index.cmd", PermissibleValue(text="index.cmd")) + setattr(cls, "index.obj", PermissibleValue(text="index.obj")) + setattr(cls, "index.response", PermissibleValue(text="index.response")) + setattr(cls, "index.vnd", PermissibleValue(text="index.vnd")) + setattr(cls, "inkml+xml", PermissibleValue(text="inkml+xml")) + setattr(cls, "its+xml", PermissibleValue(text="its+xml")) + setattr(cls, "java-archive", PermissibleValue(text="java-archive")) + setattr( + cls, + "javascript (OBSOLETED in favor of text/javascript)", + PermissibleValue(text="javascript (OBSOLETED in favor of text/javascript)"), + ) + setattr(cls, "jf2feed+json", PermissibleValue(text="jf2feed+json")) + setattr(cls, "jose+json", PermissibleValue(text="jose+json")) + setattr(cls, "jrd+json", PermissibleValue(text="jrd+json")) + setattr(cls, "jscalendar+json", PermissibleValue(text="jscalendar+json")) + setattr(cls, "json-patch+json", PermissibleValue(text="json-patch+json")) + setattr(cls, "json-seq", PermissibleValue(text="json-seq")) + setattr(cls, "jwk+json", PermissibleValue(text="jwk+json")) + setattr(cls, "jwk-set+json", PermissibleValue(text="jwk-set+json")) + setattr(cls, "kpml-request+xml", PermissibleValue(text="kpml-request+xml")) + setattr(cls, "kpml-response+xml", PermissibleValue(text="kpml-response+xml")) + setattr(cls, "ld+json", PermissibleValue(text="ld+json")) + setattr(cls, "lgr+xml", PermissibleValue(text="lgr+xml")) + setattr(cls, "link-format", PermissibleValue(text="link-format")) + setattr(cls, "linkset+json", PermissibleValue(text="linkset+json")) + setattr(cls, "load-control+xml", PermissibleValue(text="load-control+xml")) + setattr(cls, "logout+jwt", PermissibleValue(text="logout+jwt")) + setattr(cls, "lost+xml", PermissibleValue(text="lost+xml")) + setattr(cls, "lostsync+xml", PermissibleValue(text="lostsync+xml")) + setattr(cls, "lpf+zip", PermissibleValue(text="lpf+zip")) + setattr(cls, "mac-binhex40", PermissibleValue(text="mac-binhex40")) + setattr(cls, "mads+xml", PermissibleValue(text="mads+xml")) + setattr(cls, "manifest+json", PermissibleValue(text="manifest+json")) + setattr(cls, "marcxml+xml", PermissibleValue(text="marcxml+xml")) + setattr(cls, "mathml+xml", PermissibleValue(text="mathml+xml")) + setattr(cls, "mathml-content+xml", PermissibleValue(text="mathml-content+xml")) + setattr( + cls, + "mathml-presentation+xml", + PermissibleValue(text="mathml-presentation+xml"), + ) + setattr( + cls, + "mbms-associated-procedure-description+xml", + PermissibleValue(text="mbms-associated-procedure-description+xml"), + ) + setattr( + cls, "mbms-deregister+xml", PermissibleValue(text="mbms-deregister+xml") + ) + setattr(cls, "mbms-envelope+xml", PermissibleValue(text="mbms-envelope+xml")) + setattr( + cls, "mbms-msk-response+xml", PermissibleValue(text="mbms-msk-response+xml") + ) + setattr(cls, "mbms-msk+xml", PermissibleValue(text="mbms-msk+xml")) + setattr( + cls, + "mbms-protection-description+xml", + PermissibleValue(text="mbms-protection-description+xml"), + ) + setattr( + cls, + "mbms-reception-report+xml", + PermissibleValue(text="mbms-reception-report+xml"), + ) + setattr( + cls, + "mbms-register-response+xml", + PermissibleValue(text="mbms-register-response+xml"), + ) + setattr(cls, "mbms-register+xml", PermissibleValue(text="mbms-register+xml")) + setattr(cls, "mbms-schedule+xml", PermissibleValue(text="mbms-schedule+xml")) + setattr( + cls, + "mbms-user-service-description+xml", + PermissibleValue(text="mbms-user-service-description+xml"), + ) + setattr(cls, "media_control+xml", PermissibleValue(text="media_control+xml")) + setattr( + cls, + "media-policy-dataset+xml", + PermissibleValue(text="media-policy-dataset+xml"), + ) + setattr( + cls, + "mediaservercontrol+xml", + PermissibleValue(text="mediaservercontrol+xml"), + ) + setattr(cls, "merge-patch+json", PermissibleValue(text="merge-patch+json")) + setattr(cls, "metalink4+xml", PermissibleValue(text="metalink4+xml")) + setattr(cls, "mets+xml", PermissibleValue(text="mets+xml")) + setattr( + cls, + "missing-blocks+cbor-seq", + PermissibleValue(text="missing-blocks+cbor-seq"), + ) + setattr(cls, "mmt-aei+xml", PermissibleValue(text="mmt-aei+xml")) + setattr(cls, "mmt-usd+xml", PermissibleValue(text="mmt-usd+xml")) + setattr(cls, "mods+xml", PermissibleValue(text="mods+xml")) + setattr(cls, "moss-keys", PermissibleValue(text="moss-keys")) + setattr(cls, "moss-signature", PermissibleValue(text="moss-signature")) + setattr(cls, "mosskey-data", PermissibleValue(text="mosskey-data")) + setattr(cls, "mosskey-request", PermissibleValue(text="mosskey-request")) + setattr(cls, "mpeg4-generic", PermissibleValue(text="mpeg4-generic")) + setattr(cls, "mpeg4-iod", PermissibleValue(text="mpeg4-iod")) + setattr(cls, "mpeg4-iod-xmt", PermissibleValue(text="mpeg4-iod-xmt")) + setattr(cls, "mrb-consumer+xml", PermissibleValue(text="mrb-consumer+xml")) + setattr(cls, "mrb-publish+xml", PermissibleValue(text="mrb-publish+xml")) + setattr(cls, "msc-ivr+xml", PermissibleValue(text="msc-ivr+xml")) + setattr(cls, "msc-mixer+xml", PermissibleValue(text="msc-mixer+xml")) + setattr(cls, "mud+json", PermissibleValue(text="mud+json")) + setattr(cls, "multipart-core", PermissibleValue(text="multipart-core")) + setattr(cls, "n-quads", PermissibleValue(text="n-quads")) + setattr(cls, "n-triples", PermissibleValue(text="n-triples")) + setattr(cls, "news-checkgroups", PermissibleValue(text="news-checkgroups")) + setattr(cls, "news-groupinfo", PermissibleValue(text="news-groupinfo")) + setattr(cls, "news-transmission", PermissibleValue(text="news-transmission")) + setattr(cls, "nlsml+xml", PermissibleValue(text="nlsml+xml")) + setattr( + cls, "oauth-authz-req+jwt", PermissibleValue(text="oauth-authz-req+jwt") + ) + setattr( + cls, "oblivious-dns-message", PermissibleValue(text="oblivious-dns-message") + ) + setattr(cls, "ocsp-request", PermissibleValue(text="ocsp-request")) + setattr(cls, "ocsp-response", PermissibleValue(text="ocsp-response")) + setattr(cls, "octet-stream", PermissibleValue(text="octet-stream")) + setattr(cls, "odm+xml", PermissibleValue(text="odm+xml")) + setattr(cls, "oebps-package+xml", PermissibleValue(text="oebps-package+xml")) + setattr(cls, "ohttp-keys", PermissibleValue(text="ohttp-keys")) + setattr(cls, "opc-nodeset+xml", PermissibleValue(text="opc-nodeset+xml")) + setattr(cls, "p21+zip", PermissibleValue(text="p21+zip")) + setattr(cls, "p2p-overlay+xml", PermissibleValue(text="p2p-overlay+xml")) + setattr( + cls, "patch-ops-error+xml", PermissibleValue(text="patch-ops-error+xml") + ) + setattr( + cls, "pem-certificate-chain", PermissibleValue(text="pem-certificate-chain") + ) + setattr(cls, "pgp-encrypted", PermissibleValue(text="pgp-encrypted")) + setattr(cls, "pgp-keys", PermissibleValue(text="pgp-keys")) + setattr(cls, "pgp-signature", PermissibleValue(text="pgp-signature")) + setattr(cls, "pidf-diff+xml", PermissibleValue(text="pidf-diff+xml")) + setattr(cls, "pidf+xml", PermissibleValue(text="pidf+xml")) + setattr(cls, "pkcs7-mime", PermissibleValue(text="pkcs7-mime")) + setattr(cls, "pkcs7-signature", PermissibleValue(text="pkcs7-signature")) + setattr(cls, "pkcs8-encrypted", PermissibleValue(text="pkcs8-encrypted")) + setattr(cls, "pkix-attr-cert", PermissibleValue(text="pkix-attr-cert")) + setattr(cls, "pkix-cert", PermissibleValue(text="pkix-cert")) + setattr(cls, "pkix-crl", PermissibleValue(text="pkix-crl")) + setattr(cls, "pkix-pkipath", PermissibleValue(text="pkix-pkipath")) + setattr(cls, "pls+xml", PermissibleValue(text="pls+xml")) + setattr(cls, "poc-settings+xml", PermissibleValue(text="poc-settings+xml")) + setattr(cls, "ppsp-tracker+json", PermissibleValue(text="ppsp-tracker+json")) + setattr(cls, "problem+json", PermissibleValue(text="problem+json")) + setattr(cls, "problem+xml", PermissibleValue(text="problem+xml")) + setattr(cls, "provenance+xml", PermissibleValue(text="provenance+xml")) + setattr( + cls, + "prs.alvestrand.titrax-sheet", + PermissibleValue(text="prs.alvestrand.titrax-sheet"), + ) + setattr(cls, "prs.cww", PermissibleValue(text="prs.cww")) + setattr(cls, "prs.cyn", PermissibleValue(text="prs.cyn")) + setattr(cls, "prs.hpub+zip", PermissibleValue(text="prs.hpub+zip")) + setattr( + cls, + "prs.implied-document+xml", + PermissibleValue(text="prs.implied-document+xml"), + ) + setattr( + cls, + "prs.implied-executable", + PermissibleValue(text="prs.implied-executable"), + ) + setattr( + cls, "prs.implied-structure", PermissibleValue(text="prs.implied-structure") + ) + setattr(cls, "prs.nprend", PermissibleValue(text="prs.nprend")) + setattr(cls, "prs.plucker", PermissibleValue(text="prs.plucker")) + setattr(cls, "prs.rdf-xml-crypt", PermissibleValue(text="prs.rdf-xml-crypt")) + setattr(cls, "prs.vcfbzip2", PermissibleValue(text="prs.vcfbzip2")) + setattr(cls, "prs.xsf+xml", PermissibleValue(text="prs.xsf+xml")) + setattr(cls, "pskc+xml", PermissibleValue(text="pskc+xml")) + setattr(cls, "pvd+json", PermissibleValue(text="pvd+json")) + setattr(cls, "rdf+xml", PermissibleValue(text="rdf+xml")) + setattr(cls, "route-apd+xml", PermissibleValue(text="route-apd+xml")) + setattr(cls, "route-s-tsid+xml", PermissibleValue(text="route-s-tsid+xml")) + setattr(cls, "route-usd+xml", PermissibleValue(text="route-usd+xml")) + setattr(cls, "rdap+json", PermissibleValue(text="rdap+json")) + setattr(cls, "reginfo+xml", PermissibleValue(text="reginfo+xml")) + setattr( + cls, + "relax-ng-compact-syntax", + PermissibleValue(text="relax-ng-compact-syntax"), + ) + setattr( + cls, + "remote-printing (OBSOLETE)", + PermissibleValue(text="remote-printing (OBSOLETE)"), + ) + setattr(cls, "reputon+json", PermissibleValue(text="reputon+json")) + setattr( + cls, + "resource-lists-diff+xml", + PermissibleValue(text="resource-lists-diff+xml"), + ) + setattr(cls, "resource-lists+xml", PermissibleValue(text="resource-lists+xml")) + setattr(cls, "rfc+xml", PermissibleValue(text="rfc+xml")) + setattr(cls, "rlmi+xml", PermissibleValue(text="rlmi+xml")) + setattr(cls, "rls-services+xml", PermissibleValue(text="rls-services+xml")) + setattr(cls, "rpki-checklist", PermissibleValue(text="rpki-checklist")) + setattr(cls, "rpki-ghostbusters", PermissibleValue(text="rpki-ghostbusters")) + setattr(cls, "rpki-manifest", PermissibleValue(text="rpki-manifest")) + setattr(cls, "rpki-publication", PermissibleValue(text="rpki-publication")) + setattr(cls, "rpki-roa", PermissibleValue(text="rpki-roa")) + setattr(cls, "rpki-updown", PermissibleValue(text="rpki-updown")) + setattr(cls, "samlassertion+xml", PermissibleValue(text="samlassertion+xml")) + setattr(cls, "samlmetadata+xml", PermissibleValue(text="samlmetadata+xml")) + setattr( + cls, + "sarif-external-properties+json", + PermissibleValue(text="sarif-external-properties+json"), + ) + setattr(cls, "sarif+json", PermissibleValue(text="sarif+json")) + setattr(cls, "sbml+xml", PermissibleValue(text="sbml+xml")) + setattr(cls, "scaip+xml", PermissibleValue(text="scaip+xml")) + setattr(cls, "scim+json", PermissibleValue(text="scim+json")) + setattr(cls, "scvp-cv-request", PermissibleValue(text="scvp-cv-request")) + setattr(cls, "scvp-cv-response", PermissibleValue(text="scvp-cv-response")) + setattr(cls, "scvp-vp-request", PermissibleValue(text="scvp-vp-request")) + setattr(cls, "scvp-vp-response", PermissibleValue(text="scvp-vp-response")) + setattr(cls, "secevent+jwt", PermissibleValue(text="secevent+jwt")) + setattr(cls, "senml-etch+cbor", PermissibleValue(text="senml-etch+cbor")) + setattr(cls, "senml-etch+json", PermissibleValue(text="senml-etch+json")) + setattr(cls, "senml-exi", PermissibleValue(text="senml-exi")) + setattr(cls, "senml+cbor", PermissibleValue(text="senml+cbor")) + setattr(cls, "senml+json", PermissibleValue(text="senml+json")) + setattr(cls, "senml+xml", PermissibleValue(text="senml+xml")) + setattr(cls, "sensml-exi", PermissibleValue(text="sensml-exi")) + setattr(cls, "sensml+cbor", PermissibleValue(text="sensml+cbor")) + setattr(cls, "sensml+json", PermissibleValue(text="sensml+json")) + setattr(cls, "sensml+xml", PermissibleValue(text="sensml+xml")) + setattr(cls, "sep-exi", PermissibleValue(text="sep-exi")) + setattr(cls, "sep+xml", PermissibleValue(text="sep+xml")) + setattr(cls, "session-info", PermissibleValue(text="session-info")) + setattr(cls, "set-payment", PermissibleValue(text="set-payment")) + setattr( + cls, + "set-payment-initiation", + PermissibleValue(text="set-payment-initiation"), + ) + setattr(cls, "set-registration", PermissibleValue(text="set-registration")) + setattr( + cls, + "set-registration-initiation", + PermissibleValue(text="set-registration-initiation"), + ) + setattr(cls, "sgml-open-catalog", PermissibleValue(text="sgml-open-catalog")) + setattr(cls, "shf+xml", PermissibleValue(text="shf+xml")) + setattr(cls, "simple-filter+xml", PermissibleValue(text="simple-filter+xml")) + setattr( + cls, + "simple-message-summary", + PermissibleValue(text="simple-message-summary"), + ) + setattr( + cls, + "smil (OBSOLETED in favor of application/smil+xml)", + PermissibleValue(text="smil (OBSOLETED in favor of application/smil+xml)"), + ) + setattr(cls, "smil+xml", PermissibleValue(text="smil+xml")) + setattr(cls, "soap+fastinfoset", PermissibleValue(text="soap+fastinfoset")) + setattr(cls, "soap+xml", PermissibleValue(text="soap+xml")) + setattr(cls, "sparql-query", PermissibleValue(text="sparql-query")) + setattr(cls, "spdx+json", PermissibleValue(text="spdx+json")) + setattr(cls, "sparql-results+xml", PermissibleValue(text="sparql-results+xml")) + setattr(cls, "spirits-event+xml", PermissibleValue(text="spirits-event+xml")) + setattr(cls, "srgs+xml", PermissibleValue(text="srgs+xml")) + setattr(cls, "sru+xml", PermissibleValue(text="sru+xml")) + setattr(cls, "ssml+xml", PermissibleValue(text="ssml+xml")) + setattr(cls, "stix+json", PermissibleValue(text="stix+json")) + setattr(cls, "swid+cbor", PermissibleValue(text="swid+cbor")) + setattr(cls, "swid+xml", PermissibleValue(text="swid+xml")) + setattr(cls, "tamp-apex-update", PermissibleValue(text="tamp-apex-update")) + setattr( + cls, + "tamp-apex-update-confirm", + PermissibleValue(text="tamp-apex-update-confirm"), + ) + setattr( + cls, "tamp-community-update", PermissibleValue(text="tamp-community-update") + ) + setattr( + cls, + "tamp-community-update-confirm", + PermissibleValue(text="tamp-community-update-confirm"), + ) + setattr(cls, "tamp-error", PermissibleValue(text="tamp-error")) + setattr( + cls, "tamp-sequence-adjust", PermissibleValue(text="tamp-sequence-adjust") + ) + setattr( + cls, + "tamp-sequence-adjust-confirm", + PermissibleValue(text="tamp-sequence-adjust-confirm"), + ) + setattr(cls, "tamp-status-query", PermissibleValue(text="tamp-status-query")) + setattr( + cls, "tamp-status-response", PermissibleValue(text="tamp-status-response") + ) + setattr(cls, "tamp-update", PermissibleValue(text="tamp-update")) + setattr( + cls, "tamp-update-confirm", PermissibleValue(text="tamp-update-confirm") + ) + setattr(cls, "taxii+json", PermissibleValue(text="taxii+json")) + setattr(cls, "td+json", PermissibleValue(text="td+json")) + setattr(cls, "tei+xml", PermissibleValue(text="tei+xml")) + setattr(cls, "thraud+xml", PermissibleValue(text="thraud+xml")) + setattr(cls, "timestamp-query", PermissibleValue(text="timestamp-query")) + setattr(cls, "timestamp-reply", PermissibleValue(text="timestamp-reply")) + setattr(cls, "timestamped-data", PermissibleValue(text="timestamped-data")) + setattr(cls, "tlsrpt+gzip", PermissibleValue(text="tlsrpt+gzip")) + setattr(cls, "tlsrpt+json", PermissibleValue(text="tlsrpt+json")) + setattr(cls, "tm+json", PermissibleValue(text="tm+json")) + setattr( + cls, + "token-introspection+jwt", + PermissibleValue(text="token-introspection+jwt"), + ) + setattr( + cls, "trickle-ice-sdpfrag", PermissibleValue(text="trickle-ice-sdpfrag") + ) + setattr(cls, "ttml+xml", PermissibleValue(text="ttml+xml")) + setattr(cls, "tve-trigger", PermissibleValue(text="tve-trigger")) + setattr(cls, "tzif-leap", PermissibleValue(text="tzif-leap")) + setattr(cls, "urc-grpsheet+xml", PermissibleValue(text="urc-grpsheet+xml")) + setattr(cls, "urc-ressheet+xml", PermissibleValue(text="urc-ressheet+xml")) + setattr(cls, "urc-targetdesc+xml", PermissibleValue(text="urc-targetdesc+xml")) + setattr( + cls, "urc-uisocketdesc+xml", PermissibleValue(text="urc-uisocketdesc+xml") + ) + setattr(cls, "vcard+json", PermissibleValue(text="vcard+json")) + setattr(cls, "vcard+xml", PermissibleValue(text="vcard+xml")) + setattr( + cls, + "vnd.1000minds.decision-model+xml", + PermissibleValue(text="vnd.1000minds.decision-model+xml"), + ) + setattr(cls, "vnd.1ob", PermissibleValue(text="vnd.1ob")) + setattr(cls, "vnd.3gpp.5gnas", PermissibleValue(text="vnd.3gpp.5gnas")) + setattr( + cls, + "vnd.3gpp.access-transfer-events+xml", + PermissibleValue(text="vnd.3gpp.access-transfer-events+xml"), + ) + setattr(cls, "vnd.3gpp.bsf+xml", PermissibleValue(text="vnd.3gpp.bsf+xml")) + setattr(cls, "vnd.3gpp.crs+xml", PermissibleValue(text="vnd.3gpp.crs+xml")) + setattr( + cls, + "vnd.3gpp.current-location-discovery+xml", + PermissibleValue(text="vnd.3gpp.current-location-discovery+xml"), + ) + setattr(cls, "vnd.3gpp.GMOP+xml", PermissibleValue(text="vnd.3gpp.GMOP+xml")) + setattr(cls, "vnd.3gpp.gtpc", PermissibleValue(text="vnd.3gpp.gtpc")) + setattr( + cls, + "vnd.3gpp.interworking-data", + PermissibleValue(text="vnd.3gpp.interworking-data"), + ) + setattr(cls, "vnd.3gpp.lpp", PermissibleValue(text="vnd.3gpp.lpp")) + setattr( + cls, + "vnd.3gpp.mc-signalling-ear", + PermissibleValue(text="vnd.3gpp.mc-signalling-ear"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcdata-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-info+xml", + PermissibleValue(text="vnd.3gpp.mcdata-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-msgstore-ctrl-request+xml", + PermissibleValue(text="vnd.3gpp.mcdata-msgstore-ctrl-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-payload", + PermissibleValue(text="vnd.3gpp.mcdata-payload"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcdata-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-signalling", + PermissibleValue(text="vnd.3gpp.mcdata-signalling"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcdata-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcdata-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcdata-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcptt-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-floor-request+xml", + PermissibleValue(text="vnd.3gpp.mcptt-floor-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcptt-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcptt-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-signed+xml", + PermissibleValue(text="vnd.3gpp.mcptt-signed+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-ue-init-config+xml", + PermissibleValue(text="vnd.3gpp.mcptt-ue-init-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcptt-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcptt-user-profile+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-command+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-affiliation-command+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)", + PermissibleValue( + text="vnd.3gpp.mcvideo-affiliation-info+xml (OBSOLETED in favor of application/vnd.3gpp.mcvideo-info+xml)" + ), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-location-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-regroup+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-regroup+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-service-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-service-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-transmission-request+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-transmission-request+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-ue-config+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-ue-config+xml"), + ) + setattr( + cls, + "vnd.3gpp.mcvideo-user-profile+xml", + PermissibleValue(text="vnd.3gpp.mcvideo-user-profile+xml"), + ) + setattr( + cls, "vnd.3gpp.mid-call+xml", PermissibleValue(text="vnd.3gpp.mid-call+xml") + ) + setattr(cls, "vnd.3gpp.ngap", PermissibleValue(text="vnd.3gpp.ngap")) + setattr(cls, "vnd.3gpp.pfcp", PermissibleValue(text="vnd.3gpp.pfcp")) + setattr( + cls, "vnd.3gpp.pic-bw-large", PermissibleValue(text="vnd.3gpp.pic-bw-large") + ) + setattr( + cls, "vnd.3gpp.pic-bw-small", PermissibleValue(text="vnd.3gpp.pic-bw-small") + ) + setattr( + cls, "vnd.3gpp.pic-bw-var", PermissibleValue(text="vnd.3gpp.pic-bw-var") + ) + setattr( + cls, + "vnd.3gpp-prose-pc3a+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3a+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ach+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ach+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc3ch+xml", + PermissibleValue(text="vnd.3gpp-prose-pc3ch+xml"), + ) + setattr( + cls, + "vnd.3gpp-prose-pc8+xml", + PermissibleValue(text="vnd.3gpp-prose-pc8+xml"), + ) + setattr(cls, "vnd.3gpp-prose+xml", PermissibleValue(text="vnd.3gpp-prose+xml")) + setattr(cls, "vnd.3gpp.s1ap", PermissibleValue(text="vnd.3gpp.s1ap")) + setattr( + cls, + "vnd.3gpp.seal-group-doc+xml", + PermissibleValue(text="vnd.3gpp.seal-group-doc+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-info+xml", + PermissibleValue(text="vnd.3gpp.seal-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-location-info+xml", + PermissibleValue(text="vnd.3gpp.seal-location-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-mbms-usage-info+xml", + PermissibleValue(text="vnd.3gpp.seal-mbms-usage-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-network-QoS-management-info+xml", + PermissibleValue(text="vnd.3gpp.seal-network-QoS-management-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-ue-config-info+xml", + PermissibleValue(text="vnd.3gpp.seal-ue-config-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-unicast-info+xml", + PermissibleValue(text="vnd.3gpp.seal-unicast-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.seal-user-profile-info+xml", + PermissibleValue(text="vnd.3gpp.seal-user-profile-info+xml"), + ) + setattr(cls, "vnd.3gpp.sms", PermissibleValue(text="vnd.3gpp.sms")) + setattr(cls, "vnd.3gpp.sms+xml", PermissibleValue(text="vnd.3gpp.sms+xml")) + setattr( + cls, + "vnd.3gpp.srvcc-ext+xml", + PermissibleValue(text="vnd.3gpp.srvcc-ext+xml"), + ) + setattr( + cls, + "vnd.3gpp.SRVCC-info+xml", + PermissibleValue(text="vnd.3gpp.SRVCC-info+xml"), + ) + setattr( + cls, + "vnd.3gpp.state-and-event-info+xml", + PermissibleValue(text="vnd.3gpp.state-and-event-info+xml"), + ) + setattr(cls, "vnd.3gpp.ussd+xml", PermissibleValue(text="vnd.3gpp.ussd+xml")) + setattr( + cls, "vnd.3gpp.vae-info+xml", PermissibleValue(text="vnd.3gpp.vae-info+xml") + ) + setattr( + cls, + "vnd.3gpp-v2x-local-service-information", + PermissibleValue(text="vnd.3gpp-v2x-local-service-information"), + ) + setattr( + cls, + "vnd.3gpp2.bcmcsinfo+xml", + PermissibleValue(text="vnd.3gpp2.bcmcsinfo+xml"), + ) + setattr(cls, "vnd.3gpp2.sms", PermissibleValue(text="vnd.3gpp2.sms")) + setattr(cls, "vnd.3gpp2.tcap", PermissibleValue(text="vnd.3gpp2.tcap")) + setattr(cls, "vnd.3gpp.v2x", PermissibleValue(text="vnd.3gpp.v2x")) + setattr( + cls, + "vnd.3lightssoftware.imagescal", + PermissibleValue(text="vnd.3lightssoftware.imagescal"), + ) + setattr( + cls, "vnd.3M.Post-it-Notes", PermissibleValue(text="vnd.3M.Post-it-Notes") + ) + setattr( + cls, "vnd.accpac.simply.aso", PermissibleValue(text="vnd.accpac.simply.aso") + ) + setattr( + cls, "vnd.accpac.simply.imp", PermissibleValue(text="vnd.accpac.simply.imp") + ) + setattr( + cls, + "vnd.acm.addressxfer+json", + PermissibleValue(text="vnd.acm.addressxfer+json"), + ) + setattr( + cls, "vnd.acm.chatbot+json", PermissibleValue(text="vnd.acm.chatbot+json") + ) + setattr(cls, "vnd.acucobol", PermissibleValue(text="vnd.acucobol")) + setattr(cls, "vnd.acucorp", PermissibleValue(text="vnd.acucorp")) + setattr( + cls, "vnd.adobe.flash.movie", PermissibleValue(text="vnd.adobe.flash.movie") + ) + setattr( + cls, + "vnd.adobe.formscentral.fcdt", + PermissibleValue(text="vnd.adobe.formscentral.fcdt"), + ) + setattr(cls, "vnd.adobe.fxp", PermissibleValue(text="vnd.adobe.fxp")) + setattr( + cls, + "vnd.adobe.partial-upload", + PermissibleValue(text="vnd.adobe.partial-upload"), + ) + setattr(cls, "vnd.adobe.xdp+xml", PermissibleValue(text="vnd.adobe.xdp+xml")) + setattr(cls, "vnd.aether.imp", PermissibleValue(text="vnd.aether.imp")) + setattr( + cls, "vnd.afpc.afplinedata", PermissibleValue(text="vnd.afpc.afplinedata") + ) + setattr( + cls, + "vnd.afpc.afplinedata-pagedef", + PermissibleValue(text="vnd.afpc.afplinedata-pagedef"), + ) + setattr( + cls, + "vnd.afpc.cmoca-cmresource", + PermissibleValue(text="vnd.afpc.cmoca-cmresource"), + ) + setattr( + cls, "vnd.afpc.foca-charset", PermissibleValue(text="vnd.afpc.foca-charset") + ) + setattr( + cls, + "vnd.afpc.foca-codedfont", + PermissibleValue(text="vnd.afpc.foca-codedfont"), + ) + setattr( + cls, + "vnd.afpc.foca-codepage", + PermissibleValue(text="vnd.afpc.foca-codepage"), + ) + setattr(cls, "vnd.afpc.modca", PermissibleValue(text="vnd.afpc.modca")) + setattr( + cls, + "vnd.afpc.modca-cmtable", + PermissibleValue(text="vnd.afpc.modca-cmtable"), + ) + setattr( + cls, + "vnd.afpc.modca-formdef", + PermissibleValue(text="vnd.afpc.modca-formdef"), + ) + setattr( + cls, + "vnd.afpc.modca-mediummap", + PermissibleValue(text="vnd.afpc.modca-mediummap"), + ) + setattr( + cls, + "vnd.afpc.modca-objectcontainer", + PermissibleValue(text="vnd.afpc.modca-objectcontainer"), + ) + setattr( + cls, + "vnd.afpc.modca-overlay", + PermissibleValue(text="vnd.afpc.modca-overlay"), + ) + setattr( + cls, + "vnd.afpc.modca-pagesegment", + PermissibleValue(text="vnd.afpc.modca-pagesegment"), + ) + setattr(cls, "vnd.age", PermissibleValue(text="vnd.age")) + setattr(cls, "vnd.ah-barcode", PermissibleValue(text="vnd.ah-barcode")) + setattr(cls, "vnd.ahead.space", PermissibleValue(text="vnd.ahead.space")) + setattr( + cls, + "vnd.airzip.filesecure.azf", + PermissibleValue(text="vnd.airzip.filesecure.azf"), + ) + setattr( + cls, + "vnd.airzip.filesecure.azs", + PermissibleValue(text="vnd.airzip.filesecure.azs"), + ) + setattr(cls, "vnd.amadeus+json", PermissibleValue(text="vnd.amadeus+json")) + setattr( + cls, + "vnd.amazon.mobi8-ebook", + PermissibleValue(text="vnd.amazon.mobi8-ebook"), + ) + setattr( + cls, + "vnd.americandynamics.acc", + PermissibleValue(text="vnd.americandynamics.acc"), + ) + setattr(cls, "vnd.amiga.ami", PermissibleValue(text="vnd.amiga.ami")) + setattr( + cls, "vnd.amundsen.maze+xml", PermissibleValue(text="vnd.amundsen.maze+xml") + ) + setattr(cls, "vnd.android.ota", PermissibleValue(text="vnd.android.ota")) + setattr(cls, "vnd.anki", PermissibleValue(text="vnd.anki")) + setattr( + cls, + "vnd.anser-web-certificate-issue-initiation", + PermissibleValue(text="vnd.anser-web-certificate-issue-initiation"), + ) + setattr( + cls, + "vnd.antix.game-component", + PermissibleValue(text="vnd.antix.game-component"), + ) + setattr( + cls, "vnd.apache.arrow.file", PermissibleValue(text="vnd.apache.arrow.file") + ) + setattr( + cls, + "vnd.apache.arrow.stream", + PermissibleValue(text="vnd.apache.arrow.stream"), + ) + setattr( + cls, + "vnd.apache.thrift.binary", + PermissibleValue(text="vnd.apache.thrift.binary"), + ) + setattr( + cls, + "vnd.apache.thrift.compact", + PermissibleValue(text="vnd.apache.thrift.compact"), + ) + setattr( + cls, + "vnd.apache.thrift.json", + PermissibleValue(text="vnd.apache.thrift.json"), + ) + setattr(cls, "vnd.apexlang", PermissibleValue(text="vnd.apexlang")) + setattr(cls, "vnd.api+json", PermissibleValue(text="vnd.api+json")) + setattr( + cls, + "vnd.aplextor.warrp+json", + PermissibleValue(text="vnd.aplextor.warrp+json"), + ) + setattr( + cls, + "vnd.apothekende.reservation+json", + PermissibleValue(text="vnd.apothekende.reservation+json"), + ) + setattr( + cls, + "vnd.apple.installer+xml", + PermissibleValue(text="vnd.apple.installer+xml"), + ) + setattr(cls, "vnd.apple.keynote", PermissibleValue(text="vnd.apple.keynote")) + setattr(cls, "vnd.apple.mpegurl", PermissibleValue(text="vnd.apple.mpegurl")) + setattr(cls, "vnd.apple.numbers", PermissibleValue(text="vnd.apple.numbers")) + setattr(cls, "vnd.apple.pages", PermissibleValue(text="vnd.apple.pages")) + setattr( + cls, + "vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)", + PermissibleValue( + text="vnd.arastra.swi (OBSOLETED in favor of application/vnd.aristanetworks.swi)" + ), + ) + setattr( + cls, + "vnd.aristanetworks.swi", + PermissibleValue(text="vnd.aristanetworks.swi"), + ) + setattr(cls, "vnd.artisan+json", PermissibleValue(text="vnd.artisan+json")) + setattr(cls, "vnd.artsquare", PermissibleValue(text="vnd.artsquare")) + setattr( + cls, + "vnd.astraea-software.iota", + PermissibleValue(text="vnd.astraea-software.iota"), + ) + setattr(cls, "vnd.audiograph", PermissibleValue(text="vnd.audiograph")) + setattr(cls, "vnd.autopackage", PermissibleValue(text="vnd.autopackage")) + setattr(cls, "vnd.avalon+json", PermissibleValue(text="vnd.avalon+json")) + setattr(cls, "vnd.avistar+xml", PermissibleValue(text="vnd.avistar+xml")) + setattr( + cls, "vnd.balsamiq.bmml+xml", PermissibleValue(text="vnd.balsamiq.bmml+xml") + ) + setattr( + cls, "vnd.banana-accounting", PermissibleValue(text="vnd.banana-accounting") + ) + setattr(cls, "vnd.bbf.usp.error", PermissibleValue(text="vnd.bbf.usp.error")) + setattr(cls, "vnd.bbf.usp.msg", PermissibleValue(text="vnd.bbf.usp.msg")) + setattr( + cls, "vnd.bbf.usp.msg+json", PermissibleValue(text="vnd.bbf.usp.msg+json") + ) + setattr(cls, "vnd.balsamiq.bmpr", PermissibleValue(text="vnd.balsamiq.bmpr")) + setattr( + cls, + "vnd.bekitzur-stech+json", + PermissibleValue(text="vnd.bekitzur-stech+json"), + ) + setattr( + cls, + "vnd.belightsoft.lhzd+zip", + PermissibleValue(text="vnd.belightsoft.lhzd+zip"), + ) + setattr( + cls, + "vnd.belightsoft.lhzl+zip", + PermissibleValue(text="vnd.belightsoft.lhzl+zip"), + ) + setattr( + cls, "vnd.bint.med-content", PermissibleValue(text="vnd.bint.med-content") + ) + setattr(cls, "vnd.biopax.rdf+xml", PermissibleValue(text="vnd.biopax.rdf+xml")) + setattr( + cls, + "vnd.blink-idb-value-wrapper", + PermissibleValue(text="vnd.blink-idb-value-wrapper"), + ) + setattr( + cls, "vnd.blueice.multipass", PermissibleValue(text="vnd.blueice.multipass") + ) + setattr( + cls, "vnd.bluetooth.ep.oob", PermissibleValue(text="vnd.bluetooth.ep.oob") + ) + setattr( + cls, "vnd.bluetooth.le.oob", PermissibleValue(text="vnd.bluetooth.le.oob") + ) + setattr(cls, "vnd.bmi", PermissibleValue(text="vnd.bmi")) + setattr(cls, "vnd.bpf", PermissibleValue(text="vnd.bpf")) + setattr(cls, "vnd.bpf3", PermissibleValue(text="vnd.bpf3")) + setattr( + cls, "vnd.businessobjects", PermissibleValue(text="vnd.businessobjects") + ) + setattr(cls, "vnd.byu.uapi+json", PermissibleValue(text="vnd.byu.uapi+json")) + setattr(cls, "vnd.cab-jscript", PermissibleValue(text="vnd.cab-jscript")) + setattr(cls, "vnd.canon-cpdl", PermissibleValue(text="vnd.canon-cpdl")) + setattr(cls, "vnd.canon-lips", PermissibleValue(text="vnd.canon-lips")) + setattr( + cls, + "vnd.capasystems-pg+json", + PermissibleValue(text="vnd.capasystems-pg+json"), + ) + setattr( + cls, + "vnd.cendio.thinlinc.clientconf", + PermissibleValue(text="vnd.cendio.thinlinc.clientconf"), + ) + setattr( + cls, + "vnd.century-systems.tcp_stream", + PermissibleValue(text="vnd.century-systems.tcp_stream"), + ) + setattr(cls, "vnd.chemdraw+xml", PermissibleValue(text="vnd.chemdraw+xml")) + setattr(cls, "vnd.chess-pgn", PermissibleValue(text="vnd.chess-pgn")) + setattr( + cls, + "vnd.chipnuts.karaoke-mmd", + PermissibleValue(text="vnd.chipnuts.karaoke-mmd"), + ) + setattr(cls, "vnd.ciedi", PermissibleValue(text="vnd.ciedi")) + setattr(cls, "vnd.cinderella", PermissibleValue(text="vnd.cinderella")) + setattr( + cls, "vnd.cirpack.isdn-ext", PermissibleValue(text="vnd.cirpack.isdn-ext") + ) + setattr( + cls, + "vnd.citationstyles.style+xml", + PermissibleValue(text="vnd.citationstyles.style+xml"), + ) + setattr(cls, "vnd.claymore", PermissibleValue(text="vnd.claymore")) + setattr(cls, "vnd.cloanto.rp9", PermissibleValue(text="vnd.cloanto.rp9")) + setattr(cls, "vnd.clonk.c4group", PermissibleValue(text="vnd.clonk.c4group")) + setattr( + cls, + "vnd.cluetrust.cartomobile-config", + PermissibleValue(text="vnd.cluetrust.cartomobile-config"), + ) + setattr( + cls, + "vnd.cluetrust.cartomobile-config-pkg", + PermissibleValue(text="vnd.cluetrust.cartomobile-config-pkg"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.content.v1.tar+gzip", + PermissibleValue(text="vnd.cncf.helm.chart.content.v1.tar+gzip"), + ) + setattr( + cls, + "vnd.cncf.helm.chart.provenance.v1.prov", + PermissibleValue(text="vnd.cncf.helm.chart.provenance.v1.prov"), + ) + setattr( + cls, + "vnd.cncf.helm.config.v1+json", + PermissibleValue(text="vnd.cncf.helm.config.v1+json"), + ) + setattr(cls, "vnd.coffeescript", PermissibleValue(text="vnd.coffeescript")) + setattr( + cls, + "vnd.collabio.xodocuments.document", + PermissibleValue(text="vnd.collabio.xodocuments.document"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.document-template", + PermissibleValue(text="vnd.collabio.xodocuments.document-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation", + PermissibleValue(text="vnd.collabio.xodocuments.presentation"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.presentation-template", + PermissibleValue(text="vnd.collabio.xodocuments.presentation-template"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet"), + ) + setattr( + cls, + "vnd.collabio.xodocuments.spreadsheet-template", + PermissibleValue(text="vnd.collabio.xodocuments.spreadsheet-template"), + ) + setattr( + cls, + "vnd.collection.doc+json", + PermissibleValue(text="vnd.collection.doc+json"), + ) + setattr( + cls, "vnd.collection+json", PermissibleValue(text="vnd.collection+json") + ) + setattr( + cls, + "vnd.collection.next+json", + PermissibleValue(text="vnd.collection.next+json"), + ) + setattr(cls, "vnd.comicbook-rar", PermissibleValue(text="vnd.comicbook-rar")) + setattr(cls, "vnd.comicbook+zip", PermissibleValue(text="vnd.comicbook+zip")) + setattr( + cls, "vnd.commerce-battelle", PermissibleValue(text="vnd.commerce-battelle") + ) + setattr(cls, "vnd.commonspace", PermissibleValue(text="vnd.commonspace")) + setattr( + cls, + "vnd.coreos.ignition+json", + PermissibleValue(text="vnd.coreos.ignition+json"), + ) + setattr(cls, "vnd.cosmocaller", PermissibleValue(text="vnd.cosmocaller")) + setattr(cls, "vnd.contact.cmsg", PermissibleValue(text="vnd.contact.cmsg")) + setattr(cls, "vnd.crick.clicker", PermissibleValue(text="vnd.crick.clicker")) + setattr( + cls, + "vnd.crick.clicker.keyboard", + PermissibleValue(text="vnd.crick.clicker.keyboard"), + ) + setattr( + cls, + "vnd.crick.clicker.palette", + PermissibleValue(text="vnd.crick.clicker.palette"), + ) + setattr( + cls, + "vnd.crick.clicker.template", + PermissibleValue(text="vnd.crick.clicker.template"), + ) + setattr( + cls, + "vnd.crick.clicker.wordbank", + PermissibleValue(text="vnd.crick.clicker.wordbank"), + ) + setattr( + cls, + "vnd.criticaltools.wbs+xml", + PermissibleValue(text="vnd.criticaltools.wbs+xml"), + ) + setattr( + cls, "vnd.cryptii.pipe+json", PermissibleValue(text="vnd.cryptii.pipe+json") + ) + setattr( + cls, "vnd.crypto-shade-file", PermissibleValue(text="vnd.crypto-shade-file") + ) + setattr( + cls, + "vnd.cryptomator.encrypted", + PermissibleValue(text="vnd.cryptomator.encrypted"), + ) + setattr( + cls, "vnd.cryptomator.vault", PermissibleValue(text="vnd.cryptomator.vault") + ) + setattr(cls, "vnd.ctc-posml", PermissibleValue(text="vnd.ctc-posml")) + setattr(cls, "vnd.ctct.ws+xml", PermissibleValue(text="vnd.ctct.ws+xml")) + setattr(cls, "vnd.cups-pdf", PermissibleValue(text="vnd.cups-pdf")) + setattr( + cls, "vnd.cups-postscript", PermissibleValue(text="vnd.cups-postscript") + ) + setattr(cls, "vnd.cups-ppd", PermissibleValue(text="vnd.cups-ppd")) + setattr(cls, "vnd.cups-raster", PermissibleValue(text="vnd.cups-raster")) + setattr(cls, "vnd.cups-raw", PermissibleValue(text="vnd.cups-raw")) + setattr( + cls, + "vnd.cyan.dean.root+xml", + PermissibleValue(text="vnd.cyan.dean.root+xml"), + ) + setattr(cls, "vnd.cybank", PermissibleValue(text="vnd.cybank")) + setattr(cls, "vnd.cyclonedx+json", PermissibleValue(text="vnd.cyclonedx+json")) + setattr(cls, "vnd.cyclonedx+xml", PermissibleValue(text="vnd.cyclonedx+xml")) + setattr( + cls, + "vnd.d2l.coursepackage1p0+zip", + PermissibleValue(text="vnd.d2l.coursepackage1p0+zip"), + ) + setattr(cls, "vnd.d3m-dataset", PermissibleValue(text="vnd.d3m-dataset")) + setattr(cls, "vnd.d3m-problem", PermissibleValue(text="vnd.d3m-problem")) + setattr(cls, "vnd.dart", PermissibleValue(text="vnd.dart")) + setattr( + cls, "vnd.data-vision.rdz", PermissibleValue(text="vnd.data-vision.rdz") + ) + setattr(cls, "vnd.datalog", PermissibleValue(text="vnd.datalog")) + setattr( + cls, "vnd.datapackage+json", PermissibleValue(text="vnd.datapackage+json") + ) + setattr( + cls, "vnd.dataresource+json", PermissibleValue(text="vnd.dataresource+json") + ) + setattr(cls, "vnd.dbf", PermissibleValue(text="vnd.dbf")) + setattr( + cls, + "vnd.debian.binary-package", + PermissibleValue(text="vnd.debian.binary-package"), + ) + setattr(cls, "vnd.dece.data", PermissibleValue(text="vnd.dece.data")) + setattr(cls, "vnd.dece.ttml+xml", PermissibleValue(text="vnd.dece.ttml+xml")) + setattr( + cls, "vnd.dece.unspecified", PermissibleValue(text="vnd.dece.unspecified") + ) + setattr(cls, "vnd.dece.zip", PermissibleValue(text="vnd.dece.zip")) + setattr( + cls, + "vnd.denovo.fcselayout-link", + PermissibleValue(text="vnd.denovo.fcselayout-link"), + ) + setattr(cls, "vnd.desmume.movie", PermissibleValue(text="vnd.desmume.movie")) + setattr( + cls, + "vnd.dir-bi.plate-dl-nosuffix", + PermissibleValue(text="vnd.dir-bi.plate-dl-nosuffix"), + ) + setattr( + cls, "vnd.dm.delegation+xml", PermissibleValue(text="vnd.dm.delegation+xml") + ) + setattr(cls, "vnd.dna", PermissibleValue(text="vnd.dna")) + setattr(cls, "vnd.document+json", PermissibleValue(text="vnd.document+json")) + setattr(cls, "vnd.dolby.mobile.1", PermissibleValue(text="vnd.dolby.mobile.1")) + setattr(cls, "vnd.dolby.mobile.2", PermissibleValue(text="vnd.dolby.mobile.2")) + setattr( + cls, + "vnd.doremir.scorecloud-binary-document", + PermissibleValue(text="vnd.doremir.scorecloud-binary-document"), + ) + setattr(cls, "vnd.dpgraph", PermissibleValue(text="vnd.dpgraph")) + setattr(cls, "vnd.dreamfactory", PermissibleValue(text="vnd.dreamfactory")) + setattr(cls, "vnd.drive+json", PermissibleValue(text="vnd.drive+json")) + setattr(cls, "vnd.dtg.local", PermissibleValue(text="vnd.dtg.local")) + setattr( + cls, "vnd.dtg.local.flash", PermissibleValue(text="vnd.dtg.local.flash") + ) + setattr(cls, "vnd.dtg.local.html", PermissibleValue(text="vnd.dtg.local.html")) + setattr(cls, "vnd.dvb.ait", PermissibleValue(text="vnd.dvb.ait")) + setattr(cls, "vnd.dvb.dvbisl+xml", PermissibleValue(text="vnd.dvb.dvbisl+xml")) + setattr(cls, "vnd.dvb.dvbj", PermissibleValue(text="vnd.dvb.dvbj")) + setattr( + cls, "vnd.dvb.esgcontainer", PermissibleValue(text="vnd.dvb.esgcontainer") + ) + setattr( + cls, + "vnd.dvb.ipdcdftnotifaccess", + PermissibleValue(text="vnd.dvb.ipdcdftnotifaccess"), + ) + setattr( + cls, "vnd.dvb.ipdcesgaccess", PermissibleValue(text="vnd.dvb.ipdcesgaccess") + ) + setattr( + cls, + "vnd.dvb.ipdcesgaccess2", + PermissibleValue(text="vnd.dvb.ipdcesgaccess2"), + ) + setattr(cls, "vnd.dvb.ipdcesgpdd", PermissibleValue(text="vnd.dvb.ipdcesgpdd")) + setattr( + cls, "vnd.dvb.ipdcroaming", PermissibleValue(text="vnd.dvb.ipdcroaming") + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-base", + PermissibleValue(text="vnd.dvb.iptv.alfec-base"), + ) + setattr( + cls, + "vnd.dvb.iptv.alfec-enhancement", + PermissibleValue(text="vnd.dvb.iptv.alfec-enhancement"), + ) + setattr( + cls, + "vnd.dvb.notif-aggregate-root+xml", + PermissibleValue(text="vnd.dvb.notif-aggregate-root+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-container+xml", + PermissibleValue(text="vnd.dvb.notif-container+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-generic+xml", + PermissibleValue(text="vnd.dvb.notif-generic+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-msglist+xml", + PermissibleValue(text="vnd.dvb.notif-ia-msglist+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-request+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-request+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-ia-registration-response+xml", + PermissibleValue(text="vnd.dvb.notif-ia-registration-response+xml"), + ) + setattr( + cls, + "vnd.dvb.notif-init+xml", + PermissibleValue(text="vnd.dvb.notif-init+xml"), + ) + setattr(cls, "vnd.dvb.pfr", PermissibleValue(text="vnd.dvb.pfr")) + setattr(cls, "vnd.dvb.service", PermissibleValue(text="vnd.dvb.service")) + setattr(cls, "vnd.dxr", PermissibleValue(text="vnd.dxr")) + setattr(cls, "vnd.dynageo", PermissibleValue(text="vnd.dynageo")) + setattr(cls, "vnd.dzr", PermissibleValue(text="vnd.dzr")) + setattr( + cls, + "vnd.easykaraoke.cdgdownload", + PermissibleValue(text="vnd.easykaraoke.cdgdownload"), + ) + setattr(cls, "vnd.ecip.rlp", PermissibleValue(text="vnd.ecip.rlp")) + setattr(cls, "vnd.ecdis-update", PermissibleValue(text="vnd.ecdis-update")) + setattr( + cls, + "vnd.eclipse.ditto+json", + PermissibleValue(text="vnd.eclipse.ditto+json"), + ) + setattr(cls, "vnd.ecowin.chart", PermissibleValue(text="vnd.ecowin.chart")) + setattr( + cls, + "vnd.ecowin.filerequest", + PermissibleValue(text="vnd.ecowin.filerequest"), + ) + setattr( + cls, "vnd.ecowin.fileupdate", PermissibleValue(text="vnd.ecowin.fileupdate") + ) + setattr(cls, "vnd.ecowin.series", PermissibleValue(text="vnd.ecowin.series")) + setattr( + cls, + "vnd.ecowin.seriesrequest", + PermissibleValue(text="vnd.ecowin.seriesrequest"), + ) + setattr( + cls, + "vnd.ecowin.seriesupdate", + PermissibleValue(text="vnd.ecowin.seriesupdate"), + ) + setattr(cls, "vnd.efi.img", PermissibleValue(text="vnd.efi.img")) + setattr(cls, "vnd.efi.iso", PermissibleValue(text="vnd.efi.iso")) + setattr(cls, "vnd.eln+zip", PermissibleValue(text="vnd.eln+zip")) + setattr( + cls, + "vnd.emclient.accessrequest+xml", + PermissibleValue(text="vnd.emclient.accessrequest+xml"), + ) + setattr(cls, "vnd.enliven", PermissibleValue(text="vnd.enliven")) + setattr(cls, "vnd.enphase.envoy", PermissibleValue(text="vnd.enphase.envoy")) + setattr( + cls, "vnd.eprints.data+xml", PermissibleValue(text="vnd.eprints.data+xml") + ) + setattr(cls, "vnd.epson.esf", PermissibleValue(text="vnd.epson.esf")) + setattr(cls, "vnd.epson.msf", PermissibleValue(text="vnd.epson.msf")) + setattr( + cls, "vnd.epson.quickanime", PermissibleValue(text="vnd.epson.quickanime") + ) + setattr(cls, "vnd.epson.salt", PermissibleValue(text="vnd.epson.salt")) + setattr(cls, "vnd.epson.ssf", PermissibleValue(text="vnd.epson.ssf")) + setattr( + cls, + "vnd.ericsson.quickcall", + PermissibleValue(text="vnd.ericsson.quickcall"), + ) + setattr( + cls, "vnd.espass-espass+zip", PermissibleValue(text="vnd.espass-espass+zip") + ) + setattr(cls, "vnd.eszigno3+xml", PermissibleValue(text="vnd.eszigno3+xml")) + setattr(cls, "vnd.etsi.aoc+xml", PermissibleValue(text="vnd.etsi.aoc+xml")) + setattr( + cls, "vnd.etsi.asic-s+zip", PermissibleValue(text="vnd.etsi.asic-s+zip") + ) + setattr( + cls, "vnd.etsi.asic-e+zip", PermissibleValue(text="vnd.etsi.asic-e+zip") + ) + setattr(cls, "vnd.etsi.cug+xml", PermissibleValue(text="vnd.etsi.cug+xml")) + setattr( + cls, + "vnd.etsi.iptvcommand+xml", + PermissibleValue(text="vnd.etsi.iptvcommand+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvdiscovery+xml", + PermissibleValue(text="vnd.etsi.iptvdiscovery+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvprofile+xml", + PermissibleValue(text="vnd.etsi.iptvprofile+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-bc+xml", + PermissibleValue(text="vnd.etsi.iptvsad-bc+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-cod+xml", + PermissibleValue(text="vnd.etsi.iptvsad-cod+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvsad-npvr+xml", + PermissibleValue(text="vnd.etsi.iptvsad-npvr+xml"), + ) + setattr( + cls, + "vnd.etsi.iptvservice+xml", + PermissibleValue(text="vnd.etsi.iptvservice+xml"), + ) + setattr( + cls, "vnd.etsi.iptvsync+xml", PermissibleValue(text="vnd.etsi.iptvsync+xml") + ) + setattr( + cls, + "vnd.etsi.iptvueprofile+xml", + PermissibleValue(text="vnd.etsi.iptvueprofile+xml"), + ) + setattr(cls, "vnd.etsi.mcid+xml", PermissibleValue(text="vnd.etsi.mcid+xml")) + setattr(cls, "vnd.etsi.mheg5", PermissibleValue(text="vnd.etsi.mheg5")) + setattr( + cls, + "vnd.etsi.overload-control-policy-dataset+xml", + PermissibleValue(text="vnd.etsi.overload-control-policy-dataset+xml"), + ) + setattr(cls, "vnd.etsi.pstn+xml", PermissibleValue(text="vnd.etsi.pstn+xml")) + setattr(cls, "vnd.etsi.sci+xml", PermissibleValue(text="vnd.etsi.sci+xml")) + setattr( + cls, "vnd.etsi.simservs+xml", PermissibleValue(text="vnd.etsi.simservs+xml") + ) + setattr( + cls, + "vnd.etsi.timestamp-token", + PermissibleValue(text="vnd.etsi.timestamp-token"), + ) + setattr(cls, "vnd.etsi.tsl+xml", PermissibleValue(text="vnd.etsi.tsl+xml")) + setattr(cls, "vnd.etsi.tsl.der", PermissibleValue(text="vnd.etsi.tsl.der")) + setattr( + cls, + "vnd.eu.kasparian.car+json", + PermissibleValue(text="vnd.eu.kasparian.car+json"), + ) + setattr(cls, "vnd.eudora.data", PermissibleValue(text="vnd.eudora.data")) + setattr( + cls, + "vnd.evolv.ecig.profile", + PermissibleValue(text="vnd.evolv.ecig.profile"), + ) + setattr( + cls, + "vnd.evolv.ecig.settings", + PermissibleValue(text="vnd.evolv.ecig.settings"), + ) + setattr( + cls, "vnd.evolv.ecig.theme", PermissibleValue(text="vnd.evolv.ecig.theme") + ) + setattr( + cls, + "vnd.exstream-empower+zip", + PermissibleValue(text="vnd.exstream-empower+zip"), + ) + setattr( + cls, "vnd.exstream-package", PermissibleValue(text="vnd.exstream-package") + ) + setattr(cls, "vnd.ezpix-album", PermissibleValue(text="vnd.ezpix-album")) + setattr(cls, "vnd.ezpix-package", PermissibleValue(text="vnd.ezpix-package")) + setattr( + cls, "vnd.f-secure.mobile", PermissibleValue(text="vnd.f-secure.mobile") + ) + setattr( + cls, + "vnd.fastcopy-disk-image", + PermissibleValue(text="vnd.fastcopy-disk-image"), + ) + setattr( + cls, + "vnd.familysearch.gedcom+zip", + PermissibleValue(text="vnd.familysearch.gedcom+zip"), + ) + setattr(cls, "vnd.fdsn.mseed", PermissibleValue(text="vnd.fdsn.mseed")) + setattr(cls, "vnd.fdsn.seed", PermissibleValue(text="vnd.fdsn.seed")) + setattr(cls, "vnd.ffsns", PermissibleValue(text="vnd.ffsns")) + setattr(cls, "vnd.ficlab.flb+zip", PermissibleValue(text="vnd.ficlab.flb+zip")) + setattr(cls, "vnd.filmit.zfc", PermissibleValue(text="vnd.filmit.zfc")) + setattr(cls, "vnd.fints", PermissibleValue(text="vnd.fints")) + setattr( + cls, + "vnd.firemonkeys.cloudcell", + PermissibleValue(text="vnd.firemonkeys.cloudcell"), + ) + setattr(cls, "vnd.FloGraphIt", PermissibleValue(text="vnd.FloGraphIt")) + setattr(cls, "vnd.fluxtime.clip", PermissibleValue(text="vnd.fluxtime.clip")) + setattr( + cls, + "vnd.font-fontforge-sfd", + PermissibleValue(text="vnd.font-fontforge-sfd"), + ) + setattr(cls, "vnd.framemaker", PermissibleValue(text="vnd.framemaker")) + setattr(cls, "vnd.freelog.comic", PermissibleValue(text="vnd.freelog.comic")) + setattr( + cls, + "vnd.frogans.fnc (OBSOLETE)", + PermissibleValue(text="vnd.frogans.fnc (OBSOLETE)"), + ) + setattr( + cls, + "vnd.frogans.ltf (OBSOLETE)", + PermissibleValue(text="vnd.frogans.ltf (OBSOLETE)"), + ) + setattr(cls, "vnd.fsc.weblaunch", PermissibleValue(text="vnd.fsc.weblaunch")) + setattr( + cls, + "vnd.fujifilm.fb.docuworks", + PermissibleValue(text="vnd.fujifilm.fb.docuworks"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.binder", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujifilm.fb.docuworks.container", + PermissibleValue(text="vnd.fujifilm.fb.docuworks.container"), + ) + setattr( + cls, + "vnd.fujifilm.fb.jfi+xml", + PermissibleValue(text="vnd.fujifilm.fb.jfi+xml"), + ) + setattr(cls, "vnd.fujitsu.oasys", PermissibleValue(text="vnd.fujitsu.oasys")) + setattr(cls, "vnd.fujitsu.oasys2", PermissibleValue(text="vnd.fujitsu.oasys2")) + setattr(cls, "vnd.fujitsu.oasys3", PermissibleValue(text="vnd.fujitsu.oasys3")) + setattr( + cls, "vnd.fujitsu.oasysgp", PermissibleValue(text="vnd.fujitsu.oasysgp") + ) + setattr( + cls, "vnd.fujitsu.oasysprs", PermissibleValue(text="vnd.fujitsu.oasysprs") + ) + setattr(cls, "vnd.fujixerox.ART4", PermissibleValue(text="vnd.fujixerox.ART4")) + setattr( + cls, "vnd.fujixerox.ART-EX", PermissibleValue(text="vnd.fujixerox.ART-EX") + ) + setattr(cls, "vnd.fujixerox.ddd", PermissibleValue(text="vnd.fujixerox.ddd")) + setattr( + cls, + "vnd.fujixerox.docuworks", + PermissibleValue(text="vnd.fujixerox.docuworks"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.binder", + PermissibleValue(text="vnd.fujixerox.docuworks.binder"), + ) + setattr( + cls, + "vnd.fujixerox.docuworks.container", + PermissibleValue(text="vnd.fujixerox.docuworks.container"), + ) + setattr(cls, "vnd.fujixerox.HBPL", PermissibleValue(text="vnd.fujixerox.HBPL")) + setattr(cls, "vnd.fut-misnet", PermissibleValue(text="vnd.fut-misnet")) + setattr(cls, "vnd.futoin+cbor", PermissibleValue(text="vnd.futoin+cbor")) + setattr(cls, "vnd.futoin+json", PermissibleValue(text="vnd.futoin+json")) + setattr(cls, "vnd.fuzzysheet", PermissibleValue(text="vnd.fuzzysheet")) + setattr( + cls, "vnd.genomatix.tuxedo", PermissibleValue(text="vnd.genomatix.tuxedo") + ) + setattr(cls, "vnd.genozip", PermissibleValue(text="vnd.genozip")) + setattr( + cls, "vnd.gentics.grd+json", PermissibleValue(text="vnd.gentics.grd+json") + ) + setattr( + cls, + "vnd.gentoo.catmetadata+xml", + PermissibleValue(text="vnd.gentoo.catmetadata+xml"), + ) + setattr(cls, "vnd.gentoo.ebuild", PermissibleValue(text="vnd.gentoo.ebuild")) + setattr(cls, "vnd.gentoo.eclass", PermissibleValue(text="vnd.gentoo.eclass")) + setattr(cls, "vnd.gentoo.gpkg", PermissibleValue(text="vnd.gentoo.gpkg")) + setattr( + cls, "vnd.gentoo.manifest", PermissibleValue(text="vnd.gentoo.manifest") + ) + setattr(cls, "vnd.gentoo.xpak", PermissibleValue(text="vnd.gentoo.xpak")) + setattr( + cls, + "vnd.gentoo.pkgmetadata+xml", + PermissibleValue(text="vnd.gentoo.pkgmetadata+xml"), + ) + setattr( + cls, + "vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)", + PermissibleValue( + text="vnd.geo+json (OBSOLETED by [RFC7946] in favor of application/geo+json)" + ), + ) + setattr( + cls, + "vnd.geocube+xml (OBSOLETED by request)", + PermissibleValue(text="vnd.geocube+xml (OBSOLETED by request)"), + ) + setattr(cls, "vnd.geogebra.file", PermissibleValue(text="vnd.geogebra.file")) + setattr( + cls, "vnd.geogebra.slides", PermissibleValue(text="vnd.geogebra.slides") + ) + setattr(cls, "vnd.geogebra.tool", PermissibleValue(text="vnd.geogebra.tool")) + setattr( + cls, "vnd.geometry-explorer", PermissibleValue(text="vnd.geometry-explorer") + ) + setattr(cls, "vnd.geonext", PermissibleValue(text="vnd.geonext")) + setattr(cls, "vnd.geoplan", PermissibleValue(text="vnd.geoplan")) + setattr(cls, "vnd.geospace", PermissibleValue(text="vnd.geospace")) + setattr(cls, "vnd.gerber", PermissibleValue(text="vnd.gerber")) + setattr( + cls, + "vnd.globalplatform.card-content-mgt", + PermissibleValue(text="vnd.globalplatform.card-content-mgt"), + ) + setattr( + cls, + "vnd.globalplatform.card-content-mgt-response", + PermissibleValue(text="vnd.globalplatform.card-content-mgt-response"), + ) + setattr( + cls, "vnd.gmx - DEPRECATED", PermissibleValue(text="vnd.gmx - DEPRECATED") + ) + setattr( + cls, + "vnd.gnu.taler.exchange+json", + PermissibleValue(text="vnd.gnu.taler.exchange+json"), + ) + setattr( + cls, + "vnd.gnu.taler.merchant+json", + PermissibleValue(text="vnd.gnu.taler.merchant+json"), + ) + setattr( + cls, + "vnd.google-earth.kml+xml", + PermissibleValue(text="vnd.google-earth.kml+xml"), + ) + setattr( + cls, "vnd.google-earth.kmz", PermissibleValue(text="vnd.google-earth.kmz") + ) + setattr( + cls, "vnd.gov.sk.e-form+xml", PermissibleValue(text="vnd.gov.sk.e-form+xml") + ) + setattr( + cls, "vnd.gov.sk.e-form+zip", PermissibleValue(text="vnd.gov.sk.e-form+zip") + ) + setattr( + cls, + "vnd.gov.sk.xmldatacontainer+xml", + PermissibleValue(text="vnd.gov.sk.xmldatacontainer+xml"), + ) + setattr(cls, "vnd.gpxsee.map+xml", PermissibleValue(text="vnd.gpxsee.map+xml")) + setattr(cls, "vnd.grafeq", PermissibleValue(text="vnd.grafeq")) + setattr(cls, "vnd.gridmp", PermissibleValue(text="vnd.gridmp")) + setattr(cls, "vnd.groove-account", PermissibleValue(text="vnd.groove-account")) + setattr(cls, "vnd.groove-help", PermissibleValue(text="vnd.groove-help")) + setattr( + cls, + "vnd.groove-identity-message", + PermissibleValue(text="vnd.groove-identity-message"), + ) + setattr( + cls, "vnd.groove-injector", PermissibleValue(text="vnd.groove-injector") + ) + setattr( + cls, + "vnd.groove-tool-message", + PermissibleValue(text="vnd.groove-tool-message"), + ) + setattr( + cls, + "vnd.groove-tool-template", + PermissibleValue(text="vnd.groove-tool-template"), + ) + setattr(cls, "vnd.groove-vcard", PermissibleValue(text="vnd.groove-vcard")) + setattr(cls, "vnd.hal+json", PermissibleValue(text="vnd.hal+json")) + setattr(cls, "vnd.hal+xml", PermissibleValue(text="vnd.hal+xml")) + setattr( + cls, + "vnd.HandHeld-Entertainment+xml", + PermissibleValue(text="vnd.HandHeld-Entertainment+xml"), + ) + setattr(cls, "vnd.hbci", PermissibleValue(text="vnd.hbci")) + setattr(cls, "vnd.hc+json", PermissibleValue(text="vnd.hc+json")) + setattr(cls, "vnd.hcl-bireports", PermissibleValue(text="vnd.hcl-bireports")) + setattr(cls, "vnd.hdt", PermissibleValue(text="vnd.hdt")) + setattr(cls, "vnd.heroku+json", PermissibleValue(text="vnd.heroku+json")) + setattr( + cls, "vnd.hhe.lesson-player", PermissibleValue(text="vnd.hhe.lesson-player") + ) + setattr(cls, "vnd.hp-HPGL", PermissibleValue(text="vnd.hp-HPGL")) + setattr(cls, "vnd.hp-hpid", PermissibleValue(text="vnd.hp-hpid")) + setattr(cls, "vnd.hp-hps", PermissibleValue(text="vnd.hp-hps")) + setattr(cls, "vnd.hp-jlyt", PermissibleValue(text="vnd.hp-jlyt")) + setattr(cls, "vnd.hp-PCL", PermissibleValue(text="vnd.hp-PCL")) + setattr(cls, "vnd.hp-PCLXL", PermissibleValue(text="vnd.hp-PCLXL")) + setattr(cls, "vnd.hsl", PermissibleValue(text="vnd.hsl")) + setattr(cls, "vnd.httphone", PermissibleValue(text="vnd.httphone")) + setattr( + cls, + "vnd.hydrostatix.sof-data", + PermissibleValue(text="vnd.hydrostatix.sof-data"), + ) + setattr( + cls, "vnd.hyper-item+json", PermissibleValue(text="vnd.hyper-item+json") + ) + setattr(cls, "vnd.hyper+json", PermissibleValue(text="vnd.hyper+json")) + setattr( + cls, "vnd.hyperdrive+json", PermissibleValue(text="vnd.hyperdrive+json") + ) + setattr( + cls, "vnd.hzn-3d-crossword", PermissibleValue(text="vnd.hzn-3d-crossword") + ) + setattr( + cls, + "vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)", + PermissibleValue( + text="vnd.ibm.afplinedata (OBSOLETED in favor of vnd.afpc.afplinedata)" + ), + ) + setattr( + cls, + "vnd.ibm.electronic-media", + PermissibleValue(text="vnd.ibm.electronic-media"), + ) + setattr(cls, "vnd.ibm.MiniPay", PermissibleValue(text="vnd.ibm.MiniPay")) + setattr( + cls, + "vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)", + PermissibleValue( + text="vnd.ibm.modcap (OBSOLETED in favor of application/vnd.afpc.modca)" + ), + ) + setattr( + cls, + "vnd.ibm.rights-management", + PermissibleValue(text="vnd.ibm.rights-management"), + ) + setattr( + cls, + "vnd.ibm.secure-container", + PermissibleValue(text="vnd.ibm.secure-container"), + ) + setattr(cls, "vnd.iccprofile", PermissibleValue(text="vnd.iccprofile")) + setattr(cls, "vnd.ieee.1905", PermissibleValue(text="vnd.ieee.1905")) + setattr(cls, "vnd.igloader", PermissibleValue(text="vnd.igloader")) + setattr( + cls, + "vnd.imagemeter.folder+zip", + PermissibleValue(text="vnd.imagemeter.folder+zip"), + ) + setattr( + cls, + "vnd.imagemeter.image+zip", + PermissibleValue(text="vnd.imagemeter.image+zip"), + ) + setattr( + cls, "vnd.immervision-ivp", PermissibleValue(text="vnd.immervision-ivp") + ) + setattr( + cls, "vnd.immervision-ivu", PermissibleValue(text="vnd.immervision-ivu") + ) + setattr(cls, "vnd.ims.imsccv1p1", PermissibleValue(text="vnd.ims.imsccv1p1")) + setattr(cls, "vnd.ims.imsccv1p2", PermissibleValue(text="vnd.ims.imsccv1p2")) + setattr(cls, "vnd.ims.imsccv1p3", PermissibleValue(text="vnd.ims.imsccv1p3")) + setattr( + cls, + "vnd.ims.lis.v2.result+json", + PermissibleValue(text="vnd.ims.lis.v2.result+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolconsumerprofile+json", + PermissibleValue(text="vnd.ims.lti.v2.toolconsumerprofile+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy.id+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy.id+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolproxy+json", + PermissibleValue(text="vnd.ims.lti.v2.toolproxy+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings+json"), + ) + setattr( + cls, + "vnd.ims.lti.v2.toolsettings.simple+json", + PermissibleValue(text="vnd.ims.lti.v2.toolsettings.simple+json"), + ) + setattr( + cls, + "vnd.informedcontrol.rms+xml", + PermissibleValue(text="vnd.informedcontrol.rms+xml"), + ) + setattr( + cls, "vnd.infotech.project", PermissibleValue(text="vnd.infotech.project") + ) + setattr( + cls, + "vnd.infotech.project+xml", + PermissibleValue(text="vnd.infotech.project+xml"), + ) + setattr( + cls, + "vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)", + PermissibleValue( + text="vnd.informix-visionary (OBSOLETED in favor of application/vnd.visionary)" + ), + ) + setattr( + cls, + "vnd.innopath.wamp.notification", + PermissibleValue(text="vnd.innopath.wamp.notification"), + ) + setattr(cls, "vnd.insors.igm", PermissibleValue(text="vnd.insors.igm")) + setattr( + cls, "vnd.intercon.formnet", PermissibleValue(text="vnd.intercon.formnet") + ) + setattr(cls, "vnd.intergeo", PermissibleValue(text="vnd.intergeo")) + setattr( + cls, + "vnd.intertrust.digibox", + PermissibleValue(text="vnd.intertrust.digibox"), + ) + setattr( + cls, "vnd.intertrust.nncp", PermissibleValue(text="vnd.intertrust.nncp") + ) + setattr(cls, "vnd.intu.qbo", PermissibleValue(text="vnd.intu.qbo")) + setattr(cls, "vnd.intu.qfx", PermissibleValue(text="vnd.intu.qfx")) + setattr( + cls, "vnd.ipfs.ipns-record", PermissibleValue(text="vnd.ipfs.ipns-record") + ) + setattr(cls, "vnd.ipld.car", PermissibleValue(text="vnd.ipld.car")) + setattr(cls, "vnd.ipld.dag-cbor", PermissibleValue(text="vnd.ipld.dag-cbor")) + setattr(cls, "vnd.ipld.dag-json", PermissibleValue(text="vnd.ipld.dag-json")) + setattr(cls, "vnd.ipld.raw", PermissibleValue(text="vnd.ipld.raw")) + setattr( + cls, + "vnd.iptc.g2.catalogitem+xml", + PermissibleValue(text="vnd.iptc.g2.catalogitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.conceptitem+xml", + PermissibleValue(text="vnd.iptc.g2.conceptitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.knowledgeitem+xml", + PermissibleValue(text="vnd.iptc.g2.knowledgeitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsitem+xml", + PermissibleValue(text="vnd.iptc.g2.newsitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.newsmessage+xml", + PermissibleValue(text="vnd.iptc.g2.newsmessage+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.packageitem+xml", + PermissibleValue(text="vnd.iptc.g2.packageitem+xml"), + ) + setattr( + cls, + "vnd.iptc.g2.planningitem+xml", + PermissibleValue(text="vnd.iptc.g2.planningitem+xml"), + ) + setattr( + cls, + "vnd.ipunplugged.rcprofile", + PermissibleValue(text="vnd.ipunplugged.rcprofile"), + ) + setattr( + cls, + "vnd.irepository.package+xml", + PermissibleValue(text="vnd.irepository.package+xml"), + ) + setattr(cls, "vnd.is-xpr", PermissibleValue(text="vnd.is-xpr")) + setattr(cls, "vnd.isac.fcs", PermissibleValue(text="vnd.isac.fcs")) + setattr(cls, "vnd.jam", PermissibleValue(text="vnd.jam")) + setattr( + cls, "vnd.iso11783-10+zip", PermissibleValue(text="vnd.iso11783-10+zip") + ) + setattr( + cls, + "vnd.japannet-directory-service", + PermissibleValue(text="vnd.japannet-directory-service"), + ) + setattr( + cls, + "vnd.japannet-jpnstore-wakeup", + PermissibleValue(text="vnd.japannet-jpnstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-payment-wakeup", + PermissibleValue(text="vnd.japannet-payment-wakeup"), + ) + setattr( + cls, + "vnd.japannet-registration", + PermissibleValue(text="vnd.japannet-registration"), + ) + setattr( + cls, + "vnd.japannet-registration-wakeup", + PermissibleValue(text="vnd.japannet-registration-wakeup"), + ) + setattr( + cls, + "vnd.japannet-setstore-wakeup", + PermissibleValue(text="vnd.japannet-setstore-wakeup"), + ) + setattr( + cls, + "vnd.japannet-verification", + PermissibleValue(text="vnd.japannet-verification"), + ) + setattr( + cls, + "vnd.japannet-verification-wakeup", + PermissibleValue(text="vnd.japannet-verification-wakeup"), + ) + setattr( + cls, + "vnd.jcp.javame.midlet-rms", + PermissibleValue(text="vnd.jcp.javame.midlet-rms"), + ) + setattr(cls, "vnd.jisp", PermissibleValue(text="vnd.jisp")) + setattr( + cls, + "vnd.joost.joda-archive", + PermissibleValue(text="vnd.joost.joda-archive"), + ) + setattr(cls, "vnd.jsk.isdn-ngn", PermissibleValue(text="vnd.jsk.isdn-ngn")) + setattr(cls, "vnd.kahootz", PermissibleValue(text="vnd.kahootz")) + setattr(cls, "vnd.kde.karbon", PermissibleValue(text="vnd.kde.karbon")) + setattr(cls, "vnd.kde.kchart", PermissibleValue(text="vnd.kde.kchart")) + setattr(cls, "vnd.kde.kformula", PermissibleValue(text="vnd.kde.kformula")) + setattr(cls, "vnd.kde.kivio", PermissibleValue(text="vnd.kde.kivio")) + setattr(cls, "vnd.kde.kontour", PermissibleValue(text="vnd.kde.kontour")) + setattr(cls, "vnd.kde.kpresenter", PermissibleValue(text="vnd.kde.kpresenter")) + setattr(cls, "vnd.kde.kspread", PermissibleValue(text="vnd.kde.kspread")) + setattr(cls, "vnd.kde.kword", PermissibleValue(text="vnd.kde.kword")) + setattr(cls, "vnd.kenameaapp", PermissibleValue(text="vnd.kenameaapp")) + setattr(cls, "vnd.kidspiration", PermissibleValue(text="vnd.kidspiration")) + setattr(cls, "vnd.Kinar", PermissibleValue(text="vnd.Kinar")) + setattr(cls, "vnd.koan", PermissibleValue(text="vnd.koan")) + setattr( + cls, "vnd.kodak-descriptor", PermissibleValue(text="vnd.kodak-descriptor") + ) + setattr(cls, "vnd.las", PermissibleValue(text="vnd.las")) + setattr(cls, "vnd.las.las+json", PermissibleValue(text="vnd.las.las+json")) + setattr(cls, "vnd.las.las+xml", PermissibleValue(text="vnd.las.las+xml")) + setattr(cls, "vnd.laszip", PermissibleValue(text="vnd.laszip")) + setattr(cls, "vnd.leap+json", PermissibleValue(text="vnd.leap+json")) + setattr( + cls, + "vnd.liberty-request+xml", + PermissibleValue(text="vnd.liberty-request+xml"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.desktop", + PermissibleValue(text="vnd.llamagraphics.life-balance.desktop"), + ) + setattr( + cls, + "vnd.llamagraphics.life-balance.exchange+xml", + PermissibleValue(text="vnd.llamagraphics.life-balance.exchange+xml"), + ) + setattr( + cls, + "vnd.logipipe.circuit+zip", + PermissibleValue(text="vnd.logipipe.circuit+zip"), + ) + setattr(cls, "vnd.loom", PermissibleValue(text="vnd.loom")) + setattr(cls, "vnd.lotus-1-2-3", PermissibleValue(text="vnd.lotus-1-2-3")) + setattr(cls, "vnd.lotus-approach", PermissibleValue(text="vnd.lotus-approach")) + setattr( + cls, "vnd.lotus-freelance", PermissibleValue(text="vnd.lotus-freelance") + ) + setattr(cls, "vnd.lotus-notes", PermissibleValue(text="vnd.lotus-notes")) + setattr( + cls, "vnd.lotus-organizer", PermissibleValue(text="vnd.lotus-organizer") + ) + setattr( + cls, "vnd.lotus-screencam", PermissibleValue(text="vnd.lotus-screencam") + ) + setattr(cls, "vnd.lotus-wordpro", PermissibleValue(text="vnd.lotus-wordpro")) + setattr( + cls, "vnd.macports.portpkg", PermissibleValue(text="vnd.macports.portpkg") + ) + setattr( + cls, + "vnd.mapbox-vector-tile", + PermissibleValue(text="vnd.mapbox-vector-tile"), + ) + setattr( + cls, + "vnd.marlin.drm.actiontoken+xml", + PermissibleValue(text="vnd.marlin.drm.actiontoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.conftoken+xml", + PermissibleValue(text="vnd.marlin.drm.conftoken+xml"), + ) + setattr( + cls, + "vnd.marlin.drm.license+xml", + PermissibleValue(text="vnd.marlin.drm.license+xml"), + ) + setattr( + cls, "vnd.marlin.drm.mdcf", PermissibleValue(text="vnd.marlin.drm.mdcf") + ) + setattr(cls, "vnd.mason+json", PermissibleValue(text="vnd.mason+json")) + setattr( + cls, + "vnd.maxar.archive.3tz+zip", + PermissibleValue(text="vnd.maxar.archive.3tz+zip"), + ) + setattr( + cls, + "vnd.maxmind.maxmind-db", + PermissibleValue(text="vnd.maxmind.maxmind-db"), + ) + setattr(cls, "vnd.mcd", PermissibleValue(text="vnd.mcd")) + setattr(cls, "vnd.mdl", PermissibleValue(text="vnd.mdl")) + setattr(cls, "vnd.mdl-mbsdf", PermissibleValue(text="vnd.mdl-mbsdf")) + setattr(cls, "vnd.medcalcdata", PermissibleValue(text="vnd.medcalcdata")) + setattr( + cls, + "vnd.mediastation.cdkey", + PermissibleValue(text="vnd.mediastation.cdkey"), + ) + setattr( + cls, + "vnd.medicalholodeck.recordxr", + PermissibleValue(text="vnd.medicalholodeck.recordxr"), + ) + setattr( + cls, + "vnd.meridian-slingshot", + PermissibleValue(text="vnd.meridian-slingshot"), + ) + setattr(cls, "vnd.mermaid", PermissibleValue(text="vnd.mermaid")) + setattr(cls, "vnd.MFER", PermissibleValue(text="vnd.MFER")) + setattr(cls, "vnd.mfmp", PermissibleValue(text="vnd.mfmp")) + setattr(cls, "vnd.micro+json", PermissibleValue(text="vnd.micro+json")) + setattr(cls, "vnd.micrografx.flo", PermissibleValue(text="vnd.micrografx.flo")) + setattr(cls, "vnd.micrografx.igx", PermissibleValue(text="vnd.micrografx.igx")) + setattr( + cls, + "vnd.microsoft.portable-executable", + PermissibleValue(text="vnd.microsoft.portable-executable"), + ) + setattr( + cls, + "vnd.microsoft.windows.thumbnail-cache", + PermissibleValue(text="vnd.microsoft.windows.thumbnail-cache"), + ) + setattr(cls, "vnd.miele+json", PermissibleValue(text="vnd.miele+json")) + setattr(cls, "vnd.mif", PermissibleValue(text="vnd.mif")) + setattr( + cls, + "vnd.minisoft-hp3000-save", + PermissibleValue(text="vnd.minisoft-hp3000-save"), + ) + setattr( + cls, + "vnd.mitsubishi.misty-guard.trustweb", + PermissibleValue(text="vnd.mitsubishi.misty-guard.trustweb"), + ) + setattr(cls, "vnd.Mobius.DAF", PermissibleValue(text="vnd.Mobius.DAF")) + setattr(cls, "vnd.Mobius.DIS", PermissibleValue(text="vnd.Mobius.DIS")) + setattr(cls, "vnd.Mobius.MBK", PermissibleValue(text="vnd.Mobius.MBK")) + setattr(cls, "vnd.Mobius.MQY", PermissibleValue(text="vnd.Mobius.MQY")) + setattr(cls, "vnd.Mobius.MSL", PermissibleValue(text="vnd.Mobius.MSL")) + setattr(cls, "vnd.Mobius.PLC", PermissibleValue(text="vnd.Mobius.PLC")) + setattr(cls, "vnd.Mobius.TXF", PermissibleValue(text="vnd.Mobius.TXF")) + setattr(cls, "vnd.modl", PermissibleValue(text="vnd.modl")) + setattr( + cls, + "vnd.mophun.application", + PermissibleValue(text="vnd.mophun.application"), + ) + setattr( + cls, + "vnd.mophun.certificate", + PermissibleValue(text="vnd.mophun.certificate"), + ) + setattr( + cls, + "vnd.motorola.flexsuite", + PermissibleValue(text="vnd.motorola.flexsuite"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.adsi", + PermissibleValue(text="vnd.motorola.flexsuite.adsi"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.fis", + PermissibleValue(text="vnd.motorola.flexsuite.fis"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.gotap", + PermissibleValue(text="vnd.motorola.flexsuite.gotap"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.kmr", + PermissibleValue(text="vnd.motorola.flexsuite.kmr"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.ttc", + PermissibleValue(text="vnd.motorola.flexsuite.ttc"), + ) + setattr( + cls, + "vnd.motorola.flexsuite.wem", + PermissibleValue(text="vnd.motorola.flexsuite.wem"), + ) + setattr(cls, "vnd.motorola.iprm", PermissibleValue(text="vnd.motorola.iprm")) + setattr( + cls, "vnd.mozilla.xul+xml", PermissibleValue(text="vnd.mozilla.xul+xml") + ) + setattr(cls, "vnd.ms-artgalry", PermissibleValue(text="vnd.ms-artgalry")) + setattr(cls, "vnd.ms-asf", PermissibleValue(text="vnd.ms-asf")) + setattr( + cls, "vnd.ms-cab-compressed", PermissibleValue(text="vnd.ms-cab-compressed") + ) + setattr(cls, "vnd.ms-3mfdocument", PermissibleValue(text="vnd.ms-3mfdocument")) + setattr(cls, "vnd.ms-excel", PermissibleValue(text="vnd.ms-excel")) + setattr( + cls, + "vnd.ms-excel.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.binary.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.binary.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.sheet.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.sheet.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-excel.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-excel.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-fontobject", PermissibleValue(text="vnd.ms-fontobject")) + setattr(cls, "vnd.ms-htmlhelp", PermissibleValue(text="vnd.ms-htmlhelp")) + setattr(cls, "vnd.ms-ims", PermissibleValue(text="vnd.ms-ims")) + setattr(cls, "vnd.ms-lrm", PermissibleValue(text="vnd.ms-lrm")) + setattr( + cls, + "vnd.ms-office.activeX+xml", + PermissibleValue(text="vnd.ms-office.activeX+xml"), + ) + setattr(cls, "vnd.ms-officetheme", PermissibleValue(text="vnd.ms-officetheme")) + setattr( + cls, + "vnd.ms-playready.initiator+xml", + PermissibleValue(text="vnd.ms-playready.initiator+xml"), + ) + setattr(cls, "vnd.ms-powerpoint", PermissibleValue(text="vnd.ms-powerpoint")) + setattr( + cls, + "vnd.ms-powerpoint.addin.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.addin.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.presentation.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.presentation.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slide.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slide.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.slideshow.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.slideshow.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-powerpoint.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-powerpoint.template.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-PrintDeviceCapabilities+xml", + PermissibleValue(text="vnd.ms-PrintDeviceCapabilities+xml"), + ) + setattr( + cls, + "vnd.ms-PrintSchemaTicket+xml", + PermissibleValue(text="vnd.ms-PrintSchemaTicket+xml"), + ) + setattr(cls, "vnd.ms-project", PermissibleValue(text="vnd.ms-project")) + setattr(cls, "vnd.ms-tnef", PermissibleValue(text="vnd.ms-tnef")) + setattr( + cls, + "vnd.ms-windows.devicepairing", + PermissibleValue(text="vnd.ms-windows.devicepairing"), + ) + setattr( + cls, + "vnd.ms-windows.nwprinting.oob", + PermissibleValue(text="vnd.ms-windows.nwprinting.oob"), + ) + setattr( + cls, + "vnd.ms-windows.printerpairing", + PermissibleValue(text="vnd.ms-windows.printerpairing"), + ) + setattr( + cls, + "vnd.ms-windows.wsd.oob", + PermissibleValue(text="vnd.ms-windows.wsd.oob"), + ) + setattr( + cls, + "vnd.ms-wmdrm.lic-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.lic-chlg-req"), + ) + setattr( + cls, "vnd.ms-wmdrm.lic-resp", PermissibleValue(text="vnd.ms-wmdrm.lic-resp") + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-chlg-req", + PermissibleValue(text="vnd.ms-wmdrm.meter-chlg-req"), + ) + setattr( + cls, + "vnd.ms-wmdrm.meter-resp", + PermissibleValue(text="vnd.ms-wmdrm.meter-resp"), + ) + setattr( + cls, + "vnd.ms-word.document.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.document.macroEnabled.12"), + ) + setattr( + cls, + "vnd.ms-word.template.macroEnabled.12", + PermissibleValue(text="vnd.ms-word.template.macroEnabled.12"), + ) + setattr(cls, "vnd.ms-works", PermissibleValue(text="vnd.ms-works")) + setattr(cls, "vnd.ms-wpl", PermissibleValue(text="vnd.ms-wpl")) + setattr(cls, "vnd.ms-xpsdocument", PermissibleValue(text="vnd.ms-xpsdocument")) + setattr(cls, "vnd.msa-disk-image", PermissibleValue(text="vnd.msa-disk-image")) + setattr(cls, "vnd.mseq", PermissibleValue(text="vnd.mseq")) + setattr(cls, "vnd.msign", PermissibleValue(text="vnd.msign")) + setattr( + cls, "vnd.multiad.creator", PermissibleValue(text="vnd.multiad.creator") + ) + setattr( + cls, + "vnd.multiad.creator.cif", + PermissibleValue(text="vnd.multiad.creator.cif"), + ) + setattr(cls, "vnd.musician", PermissibleValue(text="vnd.musician")) + setattr(cls, "vnd.music-niff", PermissibleValue(text="vnd.music-niff")) + setattr(cls, "vnd.muvee.style", PermissibleValue(text="vnd.muvee.style")) + setattr(cls, "vnd.mynfc", PermissibleValue(text="vnd.mynfc")) + setattr( + cls, + "vnd.nacamar.ybrid+json", + PermissibleValue(text="vnd.nacamar.ybrid+json"), + ) + setattr(cls, "vnd.ncd.control", PermissibleValue(text="vnd.ncd.control")) + setattr(cls, "vnd.ncd.reference", PermissibleValue(text="vnd.ncd.reference")) + setattr( + cls, "vnd.nearst.inv+json", PermissibleValue(text="vnd.nearst.inv+json") + ) + setattr(cls, "vnd.nebumind.line", PermissibleValue(text="vnd.nebumind.line")) + setattr(cls, "vnd.nervana", PermissibleValue(text="vnd.nervana")) + setattr(cls, "vnd.netfpx", PermissibleValue(text="vnd.netfpx")) + setattr( + cls, "vnd.neurolanguage.nlu", PermissibleValue(text="vnd.neurolanguage.nlu") + ) + setattr(cls, "vnd.nimn", PermissibleValue(text="vnd.nimn")) + setattr( + cls, "vnd.nintendo.snes.rom", PermissibleValue(text="vnd.nintendo.snes.rom") + ) + setattr( + cls, + "vnd.nintendo.nitro.rom", + PermissibleValue(text="vnd.nintendo.nitro.rom"), + ) + setattr(cls, "vnd.nitf", PermissibleValue(text="vnd.nitf")) + setattr( + cls, + "vnd.noblenet-directory", + PermissibleValue(text="vnd.noblenet-directory"), + ) + setattr( + cls, "vnd.noblenet-sealer", PermissibleValue(text="vnd.noblenet-sealer") + ) + setattr(cls, "vnd.noblenet-web", PermissibleValue(text="vnd.noblenet-web")) + setattr(cls, "vnd.nokia.catalogs", PermissibleValue(text="vnd.nokia.catalogs")) + setattr( + cls, "vnd.nokia.conml+wbxml", PermissibleValue(text="vnd.nokia.conml+wbxml") + ) + setattr( + cls, "vnd.nokia.conml+xml", PermissibleValue(text="vnd.nokia.conml+xml") + ) + setattr( + cls, + "vnd.nokia.iptv.config+xml", + PermissibleValue(text="vnd.nokia.iptv.config+xml"), + ) + setattr( + cls, + "vnd.nokia.iSDS-radio-presets", + PermissibleValue(text="vnd.nokia.iSDS-radio-presets"), + ) + setattr( + cls, + "vnd.nokia.landmark+wbxml", + PermissibleValue(text="vnd.nokia.landmark+wbxml"), + ) + setattr( + cls, + "vnd.nokia.landmark+xml", + PermissibleValue(text="vnd.nokia.landmark+xml"), + ) + setattr( + cls, + "vnd.nokia.landmarkcollection+xml", + PermissibleValue(text="vnd.nokia.landmarkcollection+xml"), + ) + setattr(cls, "vnd.nokia.ncd", PermissibleValue(text="vnd.nokia.ncd")) + setattr( + cls, + "vnd.nokia.n-gage.ac+xml", + PermissibleValue(text="vnd.nokia.n-gage.ac+xml"), + ) + setattr( + cls, "vnd.nokia.n-gage.data", PermissibleValue(text="vnd.nokia.n-gage.data") + ) + setattr( + cls, + "vnd.nokia.n-gage.symbian.install (OBSOLETE", + PermissibleValue(text="vnd.nokia.n-gage.symbian.install (OBSOLETE"), + ) + setattr( + cls, "vnd.nokia.pcd+wbxml", PermissibleValue(text="vnd.nokia.pcd+wbxml") + ) + setattr(cls, "vnd.nokia.pcd+xml", PermissibleValue(text="vnd.nokia.pcd+xml")) + setattr( + cls, + "vnd.nokia.radio-preset", + PermissibleValue(text="vnd.nokia.radio-preset"), + ) + setattr( + cls, + "vnd.nokia.radio-presets", + PermissibleValue(text="vnd.nokia.radio-presets"), + ) + setattr(cls, "vnd.novadigm.EDM", PermissibleValue(text="vnd.novadigm.EDM")) + setattr(cls, "vnd.novadigm.EDX", PermissibleValue(text="vnd.novadigm.EDX")) + setattr(cls, "vnd.novadigm.EXT", PermissibleValue(text="vnd.novadigm.EXT")) + setattr( + cls, + "vnd.ntt-local.content-share", + PermissibleValue(text="vnd.ntt-local.content-share"), + ) + setattr( + cls, + "vnd.ntt-local.file-transfer", + PermissibleValue(text="vnd.ntt-local.file-transfer"), + ) + setattr( + cls, + "vnd.ntt-local.ogw_remote-access", + PermissibleValue(text="vnd.ntt-local.ogw_remote-access"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_remote", + PermissibleValue(text="vnd.ntt-local.sip-ta_remote"), + ) + setattr( + cls, + "vnd.ntt-local.sip-ta_tcp_stream", + PermissibleValue(text="vnd.ntt-local.sip-ta_tcp_stream"), + ) + setattr( + cls, + "vnd.oasis.opendocument.base", + PermissibleValue(text="vnd.oasis.opendocument.base"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart", + PermissibleValue(text="vnd.oasis.opendocument.chart"), + ) + setattr( + cls, + "vnd.oasis.opendocument.chart-template", + PermissibleValue(text="vnd.oasis.opendocument.chart-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)", + PermissibleValue( + text="vnd.oasis.opendocument.database (OBSOLETED in favor of application/vnd.oasis.opendocument.base)" + ), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula", + PermissibleValue(text="vnd.oasis.opendocument.formula"), + ) + setattr( + cls, + "vnd.oasis.opendocument.formula-template", + PermissibleValue(text="vnd.oasis.opendocument.formula-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics", + PermissibleValue(text="vnd.oasis.opendocument.graphics"), + ) + setattr( + cls, + "vnd.oasis.opendocument.graphics-template", + PermissibleValue(text="vnd.oasis.opendocument.graphics-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image", + PermissibleValue(text="vnd.oasis.opendocument.image"), + ) + setattr( + cls, + "vnd.oasis.opendocument.image-template", + PermissibleValue(text="vnd.oasis.opendocument.image-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation", + PermissibleValue(text="vnd.oasis.opendocument.presentation"), + ) + setattr( + cls, + "vnd.oasis.opendocument.presentation-template", + PermissibleValue(text="vnd.oasis.opendocument.presentation-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet"), + ) + setattr( + cls, + "vnd.oasis.opendocument.spreadsheet-template", + PermissibleValue(text="vnd.oasis.opendocument.spreadsheet-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text", + PermissibleValue(text="vnd.oasis.opendocument.text"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master", + PermissibleValue(text="vnd.oasis.opendocument.text-master"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-master-template", + PermissibleValue(text="vnd.oasis.opendocument.text-master-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-template", + PermissibleValue(text="vnd.oasis.opendocument.text-template"), + ) + setattr( + cls, + "vnd.oasis.opendocument.text-web", + PermissibleValue(text="vnd.oasis.opendocument.text-web"), + ) + setattr(cls, "vnd.obn", PermissibleValue(text="vnd.obn")) + setattr(cls, "vnd.ocf+cbor", PermissibleValue(text="vnd.ocf+cbor")) + setattr( + cls, + "vnd.oci.image.manifest.v1+json", + PermissibleValue(text="vnd.oci.image.manifest.v1+json"), + ) + setattr(cls, "vnd.oftn.l10n+json", PermissibleValue(text="vnd.oftn.l10n+json")) + setattr( + cls, + "vnd.oipf.contentaccessdownload+xml", + PermissibleValue(text="vnd.oipf.contentaccessdownload+xml"), + ) + setattr( + cls, + "vnd.oipf.contentaccessstreaming+xml", + PermissibleValue(text="vnd.oipf.contentaccessstreaming+xml"), + ) + setattr( + cls, + "vnd.oipf.cspg-hexbinary", + PermissibleValue(text="vnd.oipf.cspg-hexbinary"), + ) + setattr( + cls, "vnd.oipf.dae.svg+xml", PermissibleValue(text="vnd.oipf.dae.svg+xml") + ) + setattr( + cls, + "vnd.oipf.dae.xhtml+xml", + PermissibleValue(text="vnd.oipf.dae.xhtml+xml"), + ) + setattr( + cls, + "vnd.oipf.mippvcontrolmessage+xml", + PermissibleValue(text="vnd.oipf.mippvcontrolmessage+xml"), + ) + setattr(cls, "vnd.oipf.pae.gem", PermissibleValue(text="vnd.oipf.pae.gem")) + setattr( + cls, + "vnd.oipf.spdiscovery+xml", + PermissibleValue(text="vnd.oipf.spdiscovery+xml"), + ) + setattr( + cls, "vnd.oipf.spdlist+xml", PermissibleValue(text="vnd.oipf.spdlist+xml") + ) + setattr( + cls, + "vnd.oipf.ueprofile+xml", + PermissibleValue(text="vnd.oipf.ueprofile+xml"), + ) + setattr( + cls, + "vnd.oipf.userprofile+xml", + PermissibleValue(text="vnd.oipf.userprofile+xml"), + ) + setattr(cls, "vnd.olpc-sugar", PermissibleValue(text="vnd.olpc-sugar")) + setattr( + cls, + "vnd.oma.bcast.associated-procedure-parameter+xml", + PermissibleValue(text="vnd.oma.bcast.associated-procedure-parameter+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.drm-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.drm-trigger+xml"), + ) + setattr( + cls, "vnd.oma.bcast.imd+xml", PermissibleValue(text="vnd.oma.bcast.imd+xml") + ) + setattr(cls, "vnd.oma.bcast.ltkm", PermissibleValue(text="vnd.oma.bcast.ltkm")) + setattr( + cls, + "vnd.oma.bcast.notification+xml", + PermissibleValue(text="vnd.oma.bcast.notification+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.provisioningtrigger", + PermissibleValue(text="vnd.oma.bcast.provisioningtrigger"), + ) + setattr( + cls, "vnd.oma.bcast.sgboot", PermissibleValue(text="vnd.oma.bcast.sgboot") + ) + setattr( + cls, + "vnd.oma.bcast.sgdd+xml", + PermissibleValue(text="vnd.oma.bcast.sgdd+xml"), + ) + setattr(cls, "vnd.oma.bcast.sgdu", PermissibleValue(text="vnd.oma.bcast.sgdu")) + setattr( + cls, + "vnd.oma.bcast.simple-symbol-container", + PermissibleValue(text="vnd.oma.bcast.simple-symbol-container"), + ) + setattr( + cls, + "vnd.oma.bcast.smartcard-trigger+xml", + PermissibleValue(text="vnd.oma.bcast.smartcard-trigger+xml"), + ) + setattr( + cls, + "vnd.oma.bcast.sprov+xml", + PermissibleValue(text="vnd.oma.bcast.sprov+xml"), + ) + setattr(cls, "vnd.oma.bcast.stkm", PermissibleValue(text="vnd.oma.bcast.stkm")) + setattr( + cls, + "vnd.oma.cab-address-book+xml", + PermissibleValue(text="vnd.oma.cab-address-book+xml"), + ) + setattr( + cls, + "vnd.oma.cab-feature-handler+xml", + PermissibleValue(text="vnd.oma.cab-feature-handler+xml"), + ) + setattr( + cls, "vnd.oma.cab-pcc+xml", PermissibleValue(text="vnd.oma.cab-pcc+xml") + ) + setattr( + cls, + "vnd.oma.cab-subs-invite+xml", + PermissibleValue(text="vnd.oma.cab-subs-invite+xml"), + ) + setattr( + cls, + "vnd.oma.cab-user-prefs+xml", + PermissibleValue(text="vnd.oma.cab-user-prefs+xml"), + ) + setattr(cls, "vnd.oma.dcd", PermissibleValue(text="vnd.oma.dcd")) + setattr(cls, "vnd.oma.dcdc", PermissibleValue(text="vnd.oma.dcdc")) + setattr(cls, "vnd.oma.dd2+xml", PermissibleValue(text="vnd.oma.dd2+xml")) + setattr( + cls, "vnd.oma.drm.risd+xml", PermissibleValue(text="vnd.oma.drm.risd+xml") + ) + setattr( + cls, + "vnd.oma.group-usage-list+xml", + PermissibleValue(text="vnd.oma.group-usage-list+xml"), + ) + setattr(cls, "vnd.oma.lwm2m+cbor", PermissibleValue(text="vnd.oma.lwm2m+cbor")) + setattr(cls, "vnd.oma.lwm2m+json", PermissibleValue(text="vnd.oma.lwm2m+json")) + setattr(cls, "vnd.oma.lwm2m+tlv", PermissibleValue(text="vnd.oma.lwm2m+tlv")) + setattr(cls, "vnd.oma.pal+xml", PermissibleValue(text="vnd.oma.pal+xml")) + setattr( + cls, + "vnd.oma.poc.detailed-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.detailed-progress-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.final-report+xml", + PermissibleValue(text="vnd.oma.poc.final-report+xml"), + ) + setattr( + cls, + "vnd.oma.poc.groups+xml", + PermissibleValue(text="vnd.oma.poc.groups+xml"), + ) + setattr( + cls, + "vnd.oma.poc.invocation-descriptor+xml", + PermissibleValue(text="vnd.oma.poc.invocation-descriptor+xml"), + ) + setattr( + cls, + "vnd.oma.poc.optimized-progress-report+xml", + PermissibleValue(text="vnd.oma.poc.optimized-progress-report+xml"), + ) + setattr(cls, "vnd.oma.push", PermissibleValue(text="vnd.oma.push")) + setattr( + cls, + "vnd.oma.scidm.messages+xml", + PermissibleValue(text="vnd.oma.scidm.messages+xml"), + ) + setattr( + cls, + "vnd.oma.xcap-directory+xml", + PermissibleValue(text="vnd.oma.xcap-directory+xml"), + ) + setattr( + cls, "vnd.omads-email+xml", PermissibleValue(text="vnd.omads-email+xml") + ) + setattr(cls, "vnd.omads-file+xml", PermissibleValue(text="vnd.omads-file+xml")) + setattr( + cls, "vnd.omads-folder+xml", PermissibleValue(text="vnd.omads-folder+xml") + ) + setattr( + cls, "vnd.omaloc-supl-init", PermissibleValue(text="vnd.omaloc-supl-init") + ) + setattr( + cls, "vnd.oma-scws-config", PermissibleValue(text="vnd.oma-scws-config") + ) + setattr( + cls, + "vnd.oma-scws-http-request", + PermissibleValue(text="vnd.oma-scws-http-request"), + ) + setattr( + cls, + "vnd.oma-scws-http-response", + PermissibleValue(text="vnd.oma-scws-http-response"), + ) + setattr(cls, "vnd.onepager", PermissibleValue(text="vnd.onepager")) + setattr(cls, "vnd.onepagertamp", PermissibleValue(text="vnd.onepagertamp")) + setattr(cls, "vnd.onepagertamx", PermissibleValue(text="vnd.onepagertamx")) + setattr(cls, "vnd.onepagertat", PermissibleValue(text="vnd.onepagertat")) + setattr(cls, "vnd.onepagertatp", PermissibleValue(text="vnd.onepagertatp")) + setattr(cls, "vnd.onepagertatx", PermissibleValue(text="vnd.onepagertatx")) + setattr(cls, "vnd.onvif.metadata", PermissibleValue(text="vnd.onvif.metadata")) + setattr( + cls, + "vnd.openblox.game-binary", + PermissibleValue(text="vnd.openblox.game-binary"), + ) + setattr( + cls, "vnd.openblox.game+xml", PermissibleValue(text="vnd.openblox.game+xml") + ) + setattr(cls, "vnd.openeye.oeb", PermissibleValue(text="vnd.openeye.oeb")) + setattr( + cls, + "vnd.openstreetmap.data+xml", + PermissibleValue(text="vnd.openstreetmap.data+xml"), + ) + setattr( + cls, + "vnd.opentimestamps.ots", + PermissibleValue(text="vnd.opentimestamps.ots"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.custom-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.custom-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.customXmlProperties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.customXmlProperties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawing+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.drawing+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chart+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chart+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.chartshapes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.chartshapes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramColors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramColors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramData+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramData+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.extended-properties+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.extended-properties+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.commentAuthors+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.handoutMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.notesSlide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.notesSlide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presentation.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presentation.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.presProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.presProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slide+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slide+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideLayout+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideLayout+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideMaster+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideMaster+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideshow.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.slideUpdateInfo+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tableStyles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tableStyles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.tags+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.tags+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.presentationml.viewProps+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.presentationml.viewProps+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.connections+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.connections+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.table+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.table+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.theme+xml", + PermissibleValue(text="vnd.openxmlformats-officedocument.theme+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.themeOverride+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.themeOverride+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.vmlDrawing", + PermissibleValue(text="vnd.openxmlformats-officedocument.vmlDrawing"), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.comments+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.comments+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.glossary+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.endnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footer+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footer+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.footnotes+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.settings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.settings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.styles+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.styles+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.template.main+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml", + PermissibleValue( + text="vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.core-properties+xml", + PermissibleValue(text="vnd.openxmlformats-package.core-properties+xml"), + ) + setattr( + cls, + "vnd.openxmlformats-package.digital-signature-xmlsignature+xml", + PermissibleValue( + text="vnd.openxmlformats-package.digital-signature-xmlsignature+xml" + ), + ) + setattr( + cls, + "vnd.openxmlformats-package.relationships+xml", + PermissibleValue(text="vnd.openxmlformats-package.relationships+xml"), + ) + setattr( + cls, + "vnd.oracle.resource+json", + PermissibleValue(text="vnd.oracle.resource+json"), + ) + setattr(cls, "vnd.orange.indata", PermissibleValue(text="vnd.orange.indata")) + setattr(cls, "vnd.osa.netdeploy", PermissibleValue(text="vnd.osa.netdeploy")) + setattr( + cls, + "vnd.osgeo.mapguide.package", + PermissibleValue(text="vnd.osgeo.mapguide.package"), + ) + setattr(cls, "vnd.osgi.bundle", PermissibleValue(text="vnd.osgi.bundle")) + setattr(cls, "vnd.osgi.dp", PermissibleValue(text="vnd.osgi.dp")) + setattr(cls, "vnd.osgi.subsystem", PermissibleValue(text="vnd.osgi.subsystem")) + setattr( + cls, "vnd.otps.ct-kip+xml", PermissibleValue(text="vnd.otps.ct-kip+xml") + ) + setattr( + cls, "vnd.oxli.countgraph", PermissibleValue(text="vnd.oxli.countgraph") + ) + setattr(cls, "vnd.pagerduty+json", PermissibleValue(text="vnd.pagerduty+json")) + setattr(cls, "vnd.palm", PermissibleValue(text="vnd.palm")) + setattr(cls, "vnd.panoply", PermissibleValue(text="vnd.panoply")) + setattr(cls, "vnd.paos.xml", PermissibleValue(text="vnd.paos.xml")) + setattr(cls, "vnd.patentdive", PermissibleValue(text="vnd.patentdive")) + setattr( + cls, "vnd.patientecommsdoc", PermissibleValue(text="vnd.patientecommsdoc") + ) + setattr(cls, "vnd.pawaafile", PermissibleValue(text="vnd.pawaafile")) + setattr(cls, "vnd.pcos", PermissibleValue(text="vnd.pcos")) + setattr(cls, "vnd.pg.format", PermissibleValue(text="vnd.pg.format")) + setattr(cls, "vnd.pg.osasli", PermissibleValue(text="vnd.pg.osasli")) + setattr( + cls, + "vnd.piaccess.application-licence", + PermissibleValue(text="vnd.piaccess.application-licence"), + ) + setattr(cls, "vnd.picsel", PermissibleValue(text="vnd.picsel")) + setattr(cls, "vnd.pmi.widget", PermissibleValue(text="vnd.pmi.widget")) + setattr( + cls, + "vnd.poc.group-advertisement+xml", + PermissibleValue(text="vnd.poc.group-advertisement+xml"), + ) + setattr(cls, "vnd.pocketlearn", PermissibleValue(text="vnd.pocketlearn")) + setattr(cls, "vnd.powerbuilder6", PermissibleValue(text="vnd.powerbuilder6")) + setattr( + cls, "vnd.powerbuilder6-s", PermissibleValue(text="vnd.powerbuilder6-s") + ) + setattr(cls, "vnd.powerbuilder7", PermissibleValue(text="vnd.powerbuilder7")) + setattr(cls, "vnd.powerbuilder75", PermissibleValue(text="vnd.powerbuilder75")) + setattr( + cls, "vnd.powerbuilder75-s", PermissibleValue(text="vnd.powerbuilder75-s") + ) + setattr( + cls, "vnd.powerbuilder7-s", PermissibleValue(text="vnd.powerbuilder7-s") + ) + setattr(cls, "vnd.preminet", PermissibleValue(text="vnd.preminet")) + setattr( + cls, + "vnd.previewsystems.box", + PermissibleValue(text="vnd.previewsystems.box"), + ) + setattr( + cls, "vnd.proteus.magazine", PermissibleValue(text="vnd.proteus.magazine") + ) + setattr(cls, "vnd.psfs", PermissibleValue(text="vnd.psfs")) + setattr(cls, "vnd.pt.mundusmundi", PermissibleValue(text="vnd.pt.mundusmundi")) + setattr( + cls, + "vnd.publishare-delta-tree", + PermissibleValue(text="vnd.publishare-delta-tree"), + ) + setattr(cls, "vnd.pvi.ptid1", PermissibleValue(text="vnd.pvi.ptid1")) + setattr( + cls, "vnd.pwg-multiplexed", PermissibleValue(text="vnd.pwg-multiplexed") + ) + setattr( + cls, + "vnd.pwg-xhtml-print+xml", + PermissibleValue(text="vnd.pwg-xhtml-print+xml"), + ) + setattr( + cls, + "vnd.qualcomm.brew-app-res", + PermissibleValue(text="vnd.qualcomm.brew-app-res"), + ) + setattr(cls, "vnd.quarantainenet", PermissibleValue(text="vnd.quarantainenet")) + setattr( + cls, "vnd.Quark.QuarkXPress", PermissibleValue(text="vnd.Quark.QuarkXPress") + ) + setattr( + cls, + "vnd.quobject-quoxdocument", + PermissibleValue(text="vnd.quobject-quoxdocument"), + ) + setattr( + cls, "vnd.radisys.moml+xml", PermissibleValue(text="vnd.radisys.moml+xml") + ) + setattr( + cls, + "vnd.radisys.msml-audit-conf+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-conn+xml", + PermissibleValue(text="vnd.radisys.msml-audit-conn+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-audit-dialog+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit-stream+xml", + PermissibleValue(text="vnd.radisys.msml-audit-stream+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-audit+xml", + PermissibleValue(text="vnd.radisys.msml-audit+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-conf+xml", + PermissibleValue(text="vnd.radisys.msml-conf+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-base+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-base+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-detect+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-detect+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-fax-sendrecv+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-fax-sendrecv+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-group+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-group+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-speech+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-speech+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog-transform+xml", + PermissibleValue(text="vnd.radisys.msml-dialog-transform+xml"), + ) + setattr( + cls, + "vnd.radisys.msml-dialog+xml", + PermissibleValue(text="vnd.radisys.msml-dialog+xml"), + ) + setattr( + cls, "vnd.radisys.msml+xml", PermissibleValue(text="vnd.radisys.msml+xml") + ) + setattr(cls, "vnd.rainstor.data", PermissibleValue(text="vnd.rainstor.data")) + setattr(cls, "vnd.rapid", PermissibleValue(text="vnd.rapid")) + setattr(cls, "vnd.rar", PermissibleValue(text="vnd.rar")) + setattr(cls, "vnd.realvnc.bed", PermissibleValue(text="vnd.realvnc.bed")) + setattr( + cls, + "vnd.recordare.musicxml", + PermissibleValue(text="vnd.recordare.musicxml"), + ) + setattr( + cls, + "vnd.recordare.musicxml+xml", + PermissibleValue(text="vnd.recordare.musicxml+xml"), + ) + setattr(cls, "vnd.relpipe", PermissibleValue(text="vnd.relpipe")) + setattr( + cls, "vnd.RenLearn.rlprint", PermissibleValue(text="vnd.RenLearn.rlprint") + ) + setattr( + cls, "vnd.resilient.logic", PermissibleValue(text="vnd.resilient.logic") + ) + setattr(cls, "vnd.restful+json", PermissibleValue(text="vnd.restful+json")) + setattr(cls, "vnd.rig.cryptonote", PermissibleValue(text="vnd.rig.cryptonote")) + setattr( + cls, + "vnd.route66.link66+xml", + PermissibleValue(text="vnd.route66.link66+xml"), + ) + setattr(cls, "vnd.rs-274x", PermissibleValue(text="vnd.rs-274x")) + setattr( + cls, "vnd.ruckus.download", PermissibleValue(text="vnd.ruckus.download") + ) + setattr(cls, "vnd.s3sms", PermissibleValue(text="vnd.s3sms")) + setattr( + cls, + "vnd.sailingtracker.track", + PermissibleValue(text="vnd.sailingtracker.track"), + ) + setattr(cls, "vnd.sar", PermissibleValue(text="vnd.sar")) + setattr(cls, "vnd.sbm.cid", PermissibleValue(text="vnd.sbm.cid")) + setattr(cls, "vnd.sbm.mid2", PermissibleValue(text="vnd.sbm.mid2")) + setattr(cls, "vnd.scribus", PermissibleValue(text="vnd.scribus")) + setattr(cls, "vnd.sealed.3df", PermissibleValue(text="vnd.sealed.3df")) + setattr(cls, "vnd.sealed.csf", PermissibleValue(text="vnd.sealed.csf")) + setattr(cls, "vnd.sealed.doc", PermissibleValue(text="vnd.sealed.doc")) + setattr(cls, "vnd.sealed.eml", PermissibleValue(text="vnd.sealed.eml")) + setattr(cls, "vnd.sealed.mht", PermissibleValue(text="vnd.sealed.mht")) + setattr(cls, "vnd.sealed.net", PermissibleValue(text="vnd.sealed.net")) + setattr(cls, "vnd.sealed.ppt", PermissibleValue(text="vnd.sealed.ppt")) + setattr(cls, "vnd.sealed.tiff", PermissibleValue(text="vnd.sealed.tiff")) + setattr(cls, "vnd.sealed.xls", PermissibleValue(text="vnd.sealed.xls")) + setattr( + cls, + "vnd.sealedmedia.softseal.html", + PermissibleValue(text="vnd.sealedmedia.softseal.html"), + ) + setattr( + cls, + "vnd.sealedmedia.softseal.pdf", + PermissibleValue(text="vnd.sealedmedia.softseal.pdf"), + ) + setattr(cls, "vnd.seemail", PermissibleValue(text="vnd.seemail")) + setattr(cls, "vnd.seis+json", PermissibleValue(text="vnd.seis+json")) + setattr(cls, "vnd.sema", PermissibleValue(text="vnd.sema")) + setattr(cls, "vnd.semd", PermissibleValue(text="vnd.semd")) + setattr(cls, "vnd.semf", PermissibleValue(text="vnd.semf")) + setattr( + cls, "vnd.shade-save-file", PermissibleValue(text="vnd.shade-save-file") + ) + setattr( + cls, + "vnd.shana.informed.formdata", + PermissibleValue(text="vnd.shana.informed.formdata"), + ) + setattr( + cls, + "vnd.shana.informed.formtemplate", + PermissibleValue(text="vnd.shana.informed.formtemplate"), + ) + setattr( + cls, + "vnd.shana.informed.interchange", + PermissibleValue(text="vnd.shana.informed.interchange"), + ) + setattr( + cls, + "vnd.shana.informed.package", + PermissibleValue(text="vnd.shana.informed.package"), + ) + setattr( + cls, "vnd.shootproof+json", PermissibleValue(text="vnd.shootproof+json") + ) + setattr(cls, "vnd.shopkick+json", PermissibleValue(text="vnd.shopkick+json")) + setattr(cls, "vnd.shp", PermissibleValue(text="vnd.shp")) + setattr(cls, "vnd.shx", PermissibleValue(text="vnd.shx")) + setattr(cls, "vnd.sigrok.session", PermissibleValue(text="vnd.sigrok.session")) + setattr( + cls, + "vnd.SimTech-MindMapper", + PermissibleValue(text="vnd.SimTech-MindMapper"), + ) + setattr(cls, "vnd.siren+json", PermissibleValue(text="vnd.siren+json")) + setattr(cls, "vnd.smaf", PermissibleValue(text="vnd.smaf")) + setattr(cls, "vnd.smart.notebook", PermissibleValue(text="vnd.smart.notebook")) + setattr(cls, "vnd.smart.teacher", PermissibleValue(text="vnd.smart.teacher")) + setattr( + cls, + "vnd.smintio.portals.archive", + PermissibleValue(text="vnd.smintio.portals.archive"), + ) + setattr( + cls, + "vnd.snesdev-page-table", + PermissibleValue(text="vnd.snesdev-page-table"), + ) + setattr( + cls, + "vnd.software602.filler.form+xml", + PermissibleValue(text="vnd.software602.filler.form+xml"), + ) + setattr( + cls, + "vnd.software602.filler.form-xml-zip", + PermissibleValue(text="vnd.software602.filler.form-xml-zip"), + ) + setattr( + cls, "vnd.solent.sdkm+xml", PermissibleValue(text="vnd.solent.sdkm+xml") + ) + setattr(cls, "vnd.spotfire.dxp", PermissibleValue(text="vnd.spotfire.dxp")) + setattr(cls, "vnd.spotfire.sfs", PermissibleValue(text="vnd.spotfire.sfs")) + setattr(cls, "vnd.sqlite3", PermissibleValue(text="vnd.sqlite3")) + setattr(cls, "vnd.sss-cod", PermissibleValue(text="vnd.sss-cod")) + setattr(cls, "vnd.sss-dtf", PermissibleValue(text="vnd.sss-dtf")) + setattr(cls, "vnd.sss-ntf", PermissibleValue(text="vnd.sss-ntf")) + setattr( + cls, "vnd.stepmania.package", PermissibleValue(text="vnd.stepmania.package") + ) + setattr( + cls, + "vnd.stepmania.stepchart", + PermissibleValue(text="vnd.stepmania.stepchart"), + ) + setattr(cls, "vnd.street-stream", PermissibleValue(text="vnd.street-stream")) + setattr(cls, "vnd.sun.wadl+xml", PermissibleValue(text="vnd.sun.wadl+xml")) + setattr(cls, "vnd.sus-calendar", PermissibleValue(text="vnd.sus-calendar")) + setattr(cls, "vnd.svd", PermissibleValue(text="vnd.svd")) + setattr(cls, "vnd.swiftview-ics", PermissibleValue(text="vnd.swiftview-ics")) + setattr(cls, "vnd.sybyl.mol2", PermissibleValue(text="vnd.sybyl.mol2")) + setattr(cls, "vnd.sycle+xml", PermissibleValue(text="vnd.sycle+xml")) + setattr(cls, "vnd.syft+json", PermissibleValue(text="vnd.syft+json")) + setattr( + cls, + "vnd.syncml.dm.notification", + PermissibleValue(text="vnd.syncml.dm.notification"), + ) + setattr( + cls, "vnd.syncml.dmddf+xml", PermissibleValue(text="vnd.syncml.dmddf+xml") + ) + setattr( + cls, + "vnd.syncml.dmtnds+wbxml", + PermissibleValue(text="vnd.syncml.dmtnds+wbxml"), + ) + setattr( + cls, "vnd.syncml.dmtnds+xml", PermissibleValue(text="vnd.syncml.dmtnds+xml") + ) + setattr( + cls, + "vnd.syncml.dmddf+wbxml", + PermissibleValue(text="vnd.syncml.dmddf+wbxml"), + ) + setattr( + cls, "vnd.syncml.dm+wbxml", PermissibleValue(text="vnd.syncml.dm+wbxml") + ) + setattr(cls, "vnd.syncml.dm+xml", PermissibleValue(text="vnd.syncml.dm+xml")) + setattr( + cls, + "vnd.syncml.ds.notification", + PermissibleValue(text="vnd.syncml.ds.notification"), + ) + setattr(cls, "vnd.syncml+xml", PermissibleValue(text="vnd.syncml+xml")) + setattr( + cls, "vnd.tableschema+json", PermissibleValue(text="vnd.tableschema+json") + ) + setattr( + cls, + "vnd.tao.intent-module-archive", + PermissibleValue(text="vnd.tao.intent-module-archive"), + ) + setattr(cls, "vnd.tcpdump.pcap", PermissibleValue(text="vnd.tcpdump.pcap")) + setattr( + cls, + "vnd.think-cell.ppttc+json", + PermissibleValue(text="vnd.think-cell.ppttc+json"), + ) + setattr(cls, "vnd.tml", PermissibleValue(text="vnd.tml")) + setattr( + cls, + "vnd.tmd.mediaflex.api+xml", + PermissibleValue(text="vnd.tmd.mediaflex.api+xml"), + ) + setattr(cls, "vnd.tmobile-livetv", PermissibleValue(text="vnd.tmobile-livetv")) + setattr(cls, "vnd.tri.onesource", PermissibleValue(text="vnd.tri.onesource")) + setattr(cls, "vnd.trid.tpt", PermissibleValue(text="vnd.trid.tpt")) + setattr(cls, "vnd.triscape.mxs", PermissibleValue(text="vnd.triscape.mxs")) + setattr(cls, "vnd.trueapp", PermissibleValue(text="vnd.trueapp")) + setattr(cls, "vnd.truedoc", PermissibleValue(text="vnd.truedoc")) + setattr( + cls, "vnd.ubisoft.webplayer", PermissibleValue(text="vnd.ubisoft.webplayer") + ) + setattr(cls, "vnd.ufdl", PermissibleValue(text="vnd.ufdl")) + setattr(cls, "vnd.uiq.theme", PermissibleValue(text="vnd.uiq.theme")) + setattr(cls, "vnd.umajin", PermissibleValue(text="vnd.umajin")) + setattr(cls, "vnd.unity", PermissibleValue(text="vnd.unity")) + setattr(cls, "vnd.uoml+xml", PermissibleValue(text="vnd.uoml+xml")) + setattr(cls, "vnd.uplanet.alert", PermissibleValue(text="vnd.uplanet.alert")) + setattr( + cls, + "vnd.uplanet.alert-wbxml", + PermissibleValue(text="vnd.uplanet.alert-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice", + PermissibleValue(text="vnd.uplanet.bearer-choice"), + ) + setattr( + cls, + "vnd.uplanet.bearer-choice-wbxml", + PermissibleValue(text="vnd.uplanet.bearer-choice-wbxml"), + ) + setattr( + cls, "vnd.uplanet.cacheop", PermissibleValue(text="vnd.uplanet.cacheop") + ) + setattr( + cls, + "vnd.uplanet.cacheop-wbxml", + PermissibleValue(text="vnd.uplanet.cacheop-wbxml"), + ) + setattr( + cls, "vnd.uplanet.channel", PermissibleValue(text="vnd.uplanet.channel") + ) + setattr( + cls, + "vnd.uplanet.channel-wbxml", + PermissibleValue(text="vnd.uplanet.channel-wbxml"), + ) + setattr(cls, "vnd.uplanet.list", PermissibleValue(text="vnd.uplanet.list")) + setattr( + cls, "vnd.uplanet.listcmd", PermissibleValue(text="vnd.uplanet.listcmd") + ) + setattr( + cls, + "vnd.uplanet.listcmd-wbxml", + PermissibleValue(text="vnd.uplanet.listcmd-wbxml"), + ) + setattr( + cls, + "vnd.uplanet.list-wbxml", + PermissibleValue(text="vnd.uplanet.list-wbxml"), + ) + setattr(cls, "vnd.uri-map", PermissibleValue(text="vnd.uri-map")) + setattr(cls, "vnd.uplanet.signal", PermissibleValue(text="vnd.uplanet.signal")) + setattr( + cls, + "vnd.valve.source.material", + PermissibleValue(text="vnd.valve.source.material"), + ) + setattr(cls, "vnd.vcx", PermissibleValue(text="vnd.vcx")) + setattr(cls, "vnd.vd-study", PermissibleValue(text="vnd.vd-study")) + setattr(cls, "vnd.vectorworks", PermissibleValue(text="vnd.vectorworks")) + setattr(cls, "vnd.vel+json", PermissibleValue(text="vnd.vel+json")) + setattr( + cls, "vnd.verimatrix.vcas", PermissibleValue(text="vnd.verimatrix.vcas") + ) + setattr( + cls, + "vnd.veritone.aion+json", + PermissibleValue(text="vnd.veritone.aion+json"), + ) + setattr(cls, "vnd.veryant.thin", PermissibleValue(text="vnd.veryant.thin")) + setattr(cls, "vnd.ves.encrypted", PermissibleValue(text="vnd.ves.encrypted")) + setattr( + cls, + "vnd.vidsoft.vidconference", + PermissibleValue(text="vnd.vidsoft.vidconference"), + ) + setattr(cls, "vnd.visio", PermissibleValue(text="vnd.visio")) + setattr(cls, "vnd.visionary", PermissibleValue(text="vnd.visionary")) + setattr( + cls, + "vnd.vividence.scriptfile", + PermissibleValue(text="vnd.vividence.scriptfile"), + ) + setattr(cls, "vnd.vsf", PermissibleValue(text="vnd.vsf")) + setattr(cls, "vnd.wap.sic", PermissibleValue(text="vnd.wap.sic")) + setattr(cls, "vnd.wap.slc", PermissibleValue(text="vnd.wap.slc")) + setattr(cls, "vnd.wap.wbxml", PermissibleValue(text="vnd.wap.wbxml")) + setattr(cls, "vnd.wap.wmlc", PermissibleValue(text="vnd.wap.wmlc")) + setattr(cls, "vnd.wap.wmlscriptc", PermissibleValue(text="vnd.wap.wmlscriptc")) + setattr(cls, "vnd.wasmflow.wafl", PermissibleValue(text="vnd.wasmflow.wafl")) + setattr(cls, "vnd.webturbo", PermissibleValue(text="vnd.webturbo")) + setattr(cls, "vnd.wfa.dpp", PermissibleValue(text="vnd.wfa.dpp")) + setattr(cls, "vnd.wfa.p2p", PermissibleValue(text="vnd.wfa.p2p")) + setattr(cls, "vnd.wfa.wsc", PermissibleValue(text="vnd.wfa.wsc")) + setattr( + cls, + "vnd.windows.devicepairing", + PermissibleValue(text="vnd.windows.devicepairing"), + ) + setattr(cls, "vnd.wmc", PermissibleValue(text="vnd.wmc")) + setattr(cls, "vnd.wmf.bootstrap", PermissibleValue(text="vnd.wmf.bootstrap")) + setattr( + cls, + "vnd.wolfram.mathematica", + PermissibleValue(text="vnd.wolfram.mathematica"), + ) + setattr( + cls, + "vnd.wolfram.mathematica.package", + PermissibleValue(text="vnd.wolfram.mathematica.package"), + ) + setattr(cls, "vnd.wolfram.player", PermissibleValue(text="vnd.wolfram.player")) + setattr(cls, "vnd.wordlift", PermissibleValue(text="vnd.wordlift")) + setattr(cls, "vnd.wordperfect", PermissibleValue(text="vnd.wordperfect")) + setattr(cls, "vnd.wqd", PermissibleValue(text="vnd.wqd")) + setattr( + cls, + "vnd.wrq-hp3000-labelled", + PermissibleValue(text="vnd.wrq-hp3000-labelled"), + ) + setattr(cls, "vnd.wt.stf", PermissibleValue(text="vnd.wt.stf")) + setattr(cls, "vnd.wv.csp+xml", PermissibleValue(text="vnd.wv.csp+xml")) + setattr(cls, "vnd.wv.csp+wbxml", PermissibleValue(text="vnd.wv.csp+wbxml")) + setattr(cls, "vnd.wv.ssp+xml", PermissibleValue(text="vnd.wv.ssp+xml")) + setattr(cls, "vnd.xacml+json", PermissibleValue(text="vnd.xacml+json")) + setattr(cls, "vnd.xara", PermissibleValue(text="vnd.xara")) + setattr(cls, "vnd.xfdl", PermissibleValue(text="vnd.xfdl")) + setattr(cls, "vnd.xfdl.webform", PermissibleValue(text="vnd.xfdl.webform")) + setattr(cls, "vnd.xmi+xml", PermissibleValue(text="vnd.xmi+xml")) + setattr(cls, "vnd.xmpie.cpkg", PermissibleValue(text="vnd.xmpie.cpkg")) + setattr(cls, "vnd.xmpie.dpkg", PermissibleValue(text="vnd.xmpie.dpkg")) + setattr(cls, "vnd.xmpie.plan", PermissibleValue(text="vnd.xmpie.plan")) + setattr(cls, "vnd.xmpie.ppkg", PermissibleValue(text="vnd.xmpie.ppkg")) + setattr(cls, "vnd.xmpie.xlim", PermissibleValue(text="vnd.xmpie.xlim")) + setattr(cls, "vnd.yamaha.hv-dic", PermissibleValue(text="vnd.yamaha.hv-dic")) + setattr( + cls, "vnd.yamaha.hv-script", PermissibleValue(text="vnd.yamaha.hv-script") + ) + setattr( + cls, "vnd.yamaha.hv-voice", PermissibleValue(text="vnd.yamaha.hv-voice") + ) + setattr( + cls, + "vnd.yamaha.openscoreformat.osfpvg+xml", + PermissibleValue(text="vnd.yamaha.openscoreformat.osfpvg+xml"), + ) + setattr( + cls, + "vnd.yamaha.openscoreformat", + PermissibleValue(text="vnd.yamaha.openscoreformat"), + ) + setattr( + cls, + "vnd.yamaha.remote-setup", + PermissibleValue(text="vnd.yamaha.remote-setup"), + ) + setattr( + cls, "vnd.yamaha.smaf-audio", PermissibleValue(text="vnd.yamaha.smaf-audio") + ) + setattr( + cls, + "vnd.yamaha.smaf-phrase", + PermissibleValue(text="vnd.yamaha.smaf-phrase"), + ) + setattr( + cls, + "vnd.yamaha.through-ngn", + PermissibleValue(text="vnd.yamaha.through-ngn"), + ) + setattr( + cls, + "vnd.yamaha.tunnel-udpencap", + PermissibleValue(text="vnd.yamaha.tunnel-udpencap"), + ) + setattr(cls, "vnd.yaoweme", PermissibleValue(text="vnd.yaoweme")) + setattr( + cls, + "vnd.yellowriver-custom-menu", + PermissibleValue(text="vnd.yellowriver-custom-menu"), + ) + setattr( + cls, + "vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)", + PermissibleValue( + text="vnd.youtube.yt (OBSOLETED in favor of video/vnd.youtube.yt)" + ), + ) + setattr(cls, "vnd.zul", PermissibleValue(text="vnd.zul")) + setattr(cls, "vnd.zzazz.deck+xml", PermissibleValue(text="vnd.zzazz.deck+xml")) + setattr(cls, "voicexml+xml", PermissibleValue(text="voicexml+xml")) + setattr(cls, "voucher-cms+json", PermissibleValue(text="voucher-cms+json")) + setattr(cls, "vq-rtcpxr", PermissibleValue(text="vq-rtcpxr")) + setattr(cls, "watcherinfo+xml", PermissibleValue(text="watcherinfo+xml")) + setattr( + cls, "webpush-options+json", PermissibleValue(text="webpush-options+json") + ) + setattr(cls, "whoispp-query", PermissibleValue(text="whoispp-query")) + setattr(cls, "whoispp-response", PermissibleValue(text="whoispp-response")) + setattr(cls, "wordperfect5.1", PermissibleValue(text="wordperfect5.1")) + setattr(cls, "wsdl+xml", PermissibleValue(text="wsdl+xml")) + setattr(cls, "wspolicy+xml", PermissibleValue(text="wspolicy+xml")) + setattr(cls, "x-pki-message", PermissibleValue(text="x-pki-message")) + setattr( + cls, "x-www-form-urlencoded", PermissibleValue(text="x-www-form-urlencoded") + ) + setattr(cls, "x-x509-ca-cert", PermissibleValue(text="x-x509-ca-cert")) + setattr(cls, "x-x509-ca-ra-cert", PermissibleValue(text="x-x509-ca-ra-cert")) + setattr( + cls, "x-x509-next-ca-cert", PermissibleValue(text="x-x509-next-ca-cert") + ) + setattr(cls, "x400-bp", PermissibleValue(text="x400-bp")) + setattr(cls, "xacml+xml", PermissibleValue(text="xacml+xml")) + setattr(cls, "xcap-att+xml", PermissibleValue(text="xcap-att+xml")) + setattr(cls, "xcap-caps+xml", PermissibleValue(text="xcap-caps+xml")) + setattr(cls, "xcap-diff+xml", PermissibleValue(text="xcap-diff+xml")) + setattr(cls, "xcap-el+xml", PermissibleValue(text="xcap-el+xml")) + setattr(cls, "xcap-error+xml", PermissibleValue(text="xcap-error+xml")) + setattr(cls, "xcap-ns+xml", PermissibleValue(text="xcap-ns+xml")) + setattr( + cls, + "xcon-conference-info-diff+xml", + PermissibleValue(text="xcon-conference-info-diff+xml"), + ) + setattr( + cls, + "xcon-conference-info+xml", + PermissibleValue(text="xcon-conference-info+xml"), + ) + setattr(cls, "xenc+xml", PermissibleValue(text="xenc+xml")) + setattr(cls, "xhtml+xml", PermissibleValue(text="xhtml+xml")) + setattr(cls, "xliff+xml", PermissibleValue(text="xliff+xml")) + setattr(cls, "xml-dtd", PermissibleValue(text="xml-dtd")) + setattr(cls, "xml-patch+xml", PermissibleValue(text="xml-patch+xml")) + setattr(cls, "xmpp+xml", PermissibleValue(text="xmpp+xml")) + setattr(cls, "xop+xml", PermissibleValue(text="xop+xml")) + setattr(cls, "xslt+xml", PermissibleValue(text="xslt+xml")) + setattr(cls, "xv+xml", PermissibleValue(text="xv+xml")) + setattr(cls, "yang-data+cbor", PermissibleValue(text="yang-data+cbor")) + setattr(cls, "yang-data+json", PermissibleValue(text="yang-data+json")) + setattr(cls, "yang-data+xml", PermissibleValue(text="yang-data+xml")) + setattr(cls, "yang-patch+json", PermissibleValue(text="yang-patch+json")) + setattr(cls, "yang-patch+xml", PermissibleValue(text="yang-patch+xml")) + setattr(cls, "yin+xml", PermissibleValue(text="yin+xml")) -class ProvisionTypes(EnumDefinitionImpl): +class ProvisionTypes(EnumDefinitionImpl): private = PermissibleValue( text="private", - description="A service, which is provided for one customer exclusively.") + description="A service, which is provided for one customer exclusively.", + ) public = PermissibleValue( text="public", - description="A service, which is used by several customers, simultaneously.") + description="A service, which is used by several customers, simultaneously.", + ) hybrid = PermissibleValue( text="hybrid", - description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""") + description="""A service, which has components, which are exclusively provided to one customers and components, which are used simultaneously with other clients""", + ) _defn = EnumDefinition( name="ProvisionTypes", ) -class TenantSeparation(EnumDefinitionImpl): - physical = PermissibleValue( - text="physical", - description="TBD") +class TenantSeparation(EnumDefinitionImpl): + physical = PermissibleValue(text="physical", description="TBD") _defn = EnumDefinition( name="TenantSeparation", @@ -8687,31 +9533,38 @@ class TenantSeparation(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "hw-virtualized", - PermissibleValue( - text="hw-virtualized", - description="TBD")) - setattr(cls, "sw-virtualized", - PermissibleValue( - text="sw-virtualized", - description="TBD")) - setattr(cls, "os-virtualized", - PermissibleValue( - text="os-virtualized", - description="TBD")) - setattr(cls, "os-hw-virtualized", - PermissibleValue( - text="os-hw-virtualized", - description="TBD")) - setattr(cls, "hw-partitioned", - PermissibleValue( - text="hw-partitioned", - description="TBD")) + setattr( + cls, + "hw-virtualized", + PermissibleValue(text="hw-virtualized", description="TBD"), + ) + setattr( + cls, + "sw-virtualized", + PermissibleValue(text="sw-virtualized", description="TBD"), + ) + setattr( + cls, + "os-virtualized", + PermissibleValue(text="os-virtualized", description="TBD"), + ) + setattr( + cls, + "os-hw-virtualized", + PermissibleValue(text="os-hw-virtualized", description="TBD"), + ) + setattr( + cls, + "hw-partitioned", + PermissibleValue(text="hw-partitioned", description="TBD"), + ) + class FirmType(EnumDefinitionImpl): """ Possible values for VM image's firmerequired hypervisor. """ + BIOS = PermissibleValue(text="BIOS") UEFI = PermissibleValue(text="UEFI") other = PermissibleValue(text="other") @@ -8721,36 +9574,41 @@ class FirmType(EnumDefinitionImpl): description="Possible values for VM image's firmerequired hypervisor.", ) + class WatchDogActions(EnumDefinitionImpl): """ Possible values for VM image's watchdog actions. """ + disabled = PermissibleValue( text="disabled", - description="No watchdog is enabled. No action will be performed if server hangs.") + description="No watchdog is enabled. No action will be performed if server hangs.", + ) reset = PermissibleValue( - text="reset", - description="Restart of guest us forced if server hangs.") + text="reset", description="Restart of guest us forced if server hangs." + ) poweroff = PermissibleValue( - text="poweroff", - description="Power of of guest is forced if server hangs.") + text="poweroff", description="Power of of guest is forced if server hangs." + ) pause = PermissibleValue( - text="pause", - description="Pause of guest is forced, if server hangs.") + text="pause", description="Pause of guest is forced, if server hangs." + ) none = PermissibleValue( text="none", - description="Watchdog is enabled, but not action is defined and performed if server hangs.") + description="Watchdog is enabled, but not action is defined and performed if server hangs.", + ) _defn = EnumDefinition( name="WatchDogActions", description="Possible values for VM image's watchdog actions.", ) -class RNGTypes(EnumDefinitionImpl): +class RNGTypes(EnumDefinitionImpl): Quantum = PermissibleValue( text="Quantum", - description="Hardware random generator is based in electronic quantum effects.") + description="Hardware random generator is based in electronic quantum effects.", + ) _defn = EnumDefinition( name="RNGTypes", @@ -8758,25 +9616,41 @@ class RNGTypes(EnumDefinitionImpl): @classmethod def _addvals(cls): - setattr(cls, "Electrical noise", + setattr( + cls, + "Electrical noise", PermissibleValue( text="Electrical noise", - description="Hardware random generator is based on electronic noise.")) - setattr(cls, "Chaos-based", + description="Hardware random generator is based on electronic noise.", + ), + ) + setattr( + cls, + "Chaos-based", PermissibleValue( text="Chaos-based", - description="Hardware random generator is based on chaos.")) - setattr(cls, "Free-running oscillators", + description="Hardware random generator is based on chaos.", + ), + ) + setattr( + cls, + "Free-running oscillators", PermissibleValue( text="Free-running oscillators", - description="Hardware random generator is based in electronic free-running oscillators.")) - setattr(cls, "None", + description="Hardware random generator is based in electronic free-running oscillators.", + ), + ) + setattr( + cls, + "None", PermissibleValue( text="None", - description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.")) + description="No hardware random generator (RNG) is used. Entropy is taken from /dev/urandom.", + ), + ) -class VMDiskType(EnumDefinitionImpl): +class VMDiskType(EnumDefinitionImpl): RAW = PermissibleValue(text="RAW") QCOW2 = PermissibleValue(text="QCOW2") VHD = PermissibleValue(text="VHD") @@ -8789,464 +9663,1407 @@ class VMDiskType(EnumDefinitionImpl): name="VMDiskType", ) + # Slots class slots: pass -slots.value = Slot(uri=QUDT.value, name="value", curie=QUDT.curie('value'), - model_uri=GX.value, domain=None, range=float) - -slots.unit = Slot(uri=QUDT.unit, name="unit", curie=QUDT.curie('unit'), - model_uri=GX.unit, domain=None, range=str) - -slots.address__countryCode = Slot(uri=GX.countryCode, name="address__countryCode", curie=GX.curie('countryCode'), - model_uri=GX.address__countryCode, domain=None, range=str) - -slots.address__gps = Slot(uri=GX.gps, name="address__gps", curie=GX.curie('gps'), - model_uri=GX.address__gps, domain=None, range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]]) - -slots.address__streetAddress = Slot(uri=VCARD['street-address'], name="address__streetAddress", curie=VCARD.curie('street-address'), - model_uri=GX.address__streetAddress, domain=None, range=Optional[str]) - -slots.address__postalCode = Slot(uri=VCARD['postal-code'], name="address__postalCode", curie=VCARD.curie('postal-code'), - model_uri=GX.address__postalCode, domain=None, range=Optional[str]) - -slots.address__locality = Slot(uri=VCARD.locality, name="address__locality", curie=VCARD.curie('locality'), - model_uri=GX.address__locality, domain=None, range=Optional[str]) - -slots.gPSLocation__latitude = Slot(uri=GX.latitude, name="gPSLocation__latitude", curie=GX.curie('latitude'), - model_uri=GX.gPSLocation__latitude, domain=None, range=str) - -slots.gPSLocation__longitude = Slot(uri=GX.longitude, name="gPSLocation__longitude", curie=GX.curie('longitude'), - model_uri=GX.gPSLocation__longitude, domain=None, range=str) - -slots.gPSLocation__altitude = Slot(uri=GX.altitude, name="gPSLocation__altitude", curie=GX.curie('altitude'), - model_uri=GX.gPSLocation__altitude, domain=None, range=Optional[str]) - -slots.gPSLocation__crs = Slot(uri=GX.crs, name="gPSLocation__crs", curie=GX.curie('crs'), - model_uri=GX.gPSLocation__crs, domain=None, range=Optional[str], - pattern=re.compile(r'^CRS')) - -slots.gPSUnit__degrees = Slot(uri=GX.degrees, name="gPSUnit__degrees", curie=GX.curie('degrees'), - model_uri=GX.gPSUnit__degrees, domain=None, range=int) - -slots.gPSUnit__minutes = Slot(uri=GX.minutes, name="gPSUnit__minutes", curie=GX.curie('minutes'), - model_uri=GX.gPSUnit__minutes, domain=None, range=Optional[int]) - -slots.gPSUnit__seconds = Slot(uri=GX.seconds, name="gPSUnit__seconds", curie=GX.curie('seconds'), - model_uri=GX.gPSUnit__seconds, domain=None, range=Optional[int]) - -slots.gPSUnit__decimals = Slot(uri=GX.decimals, name="gPSUnit__decimals", curie=GX.curie('decimals'), - model_uri=GX.gPSUnit__decimals, domain=None, range=Optional[float]) - -slots.gaiaXEntity__name = Slot(uri=GX.name, name="gaiaXEntity__name", curie=GX.curie('name'), - model_uri=GX.gaiaXEntity__name, domain=None, range=Optional[str]) - -slots.gaiaXEntity__description = Slot(uri=GX.description, name="gaiaXEntity__description", curie=GX.curie('description'), - model_uri=GX.gaiaXEntity__description, domain=None, range=Optional[str]) - -slots.cPU__cpuArchitecture = Slot(uri=GX.cpuArchitecture, name="cPU__cpuArchitecture", curie=GX.curie('cpuArchitecture'), - model_uri=GX.cPU__cpuArchitecture, domain=None, range=Optional[Union[str, "Architectures"]]) - -slots.cPU__cpuFlag = Slot(uri=GX.cpuFlag, name="cPU__cpuFlag", curie=GX.curie('cpuFlag'), - model_uri=GX.cPU__cpuFlag, domain=None, range=Optional[Union[str, List[str]]]) - -slots.cPU__smtEnabled = Slot(uri=GX.smtEnabled, name="cPU__smtEnabled", curie=GX.curie('smtEnabled'), - model_uri=GX.cPU__smtEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.cPU__numberOfCores = Slot(uri=GX.numberOfCores, name="cPU__numberOfCores", curie=GX.curie('numberOfCores'), - model_uri=GX.cPU__numberOfCores, domain=None, range=Optional[int]) - -slots.cPU__numberOfThreads = Slot(uri=GX.numberOfThreads, name="cPU__numberOfThreads", curie=GX.curie('numberOfThreads'), - model_uri=GX.cPU__numberOfThreads, domain=None, range=Optional[int]) - -slots.cPU__baseFrequency = Slot(uri=GX.baseFrequency, name="cPU__baseFrequency", curie=GX.curie('baseFrequency'), - model_uri=GX.cPU__baseFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__boostFrequency = Slot(uri=GX.boostFrequency, name="cPU__boostFrequency", curie=GX.curie('boostFrequency'), - model_uri=GX.cPU__boostFrequency, domain=None, range=Optional[Union[dict, Frequency]]) - -slots.cPU__lastLevelCacheSize = Slot(uri=GX.lastLevelCacheSize, name="cPU__lastLevelCacheSize", curie=GX.curie('lastLevelCacheSize'), - model_uri=GX.cPU__lastLevelCacheSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.cPU__thermalDesignPower = Slot(uri=GX.thermalDesignPower, name="cPU__thermalDesignPower", curie=GX.curie('thermalDesignPower'), - model_uri=GX.cPU__thermalDesignPower, domain=None, range=Optional[Union[dict, Power]]) - -slots.encryption__cipher = Slot(uri=GX.cipher, name="encryption__cipher", curie=GX.curie('cipher'), - model_uri=GX.encryption__cipher, domain=None, range=Union[str, "EncryptionAlgorithm"]) - -slots.encryption__keyManagement = Slot(uri=GX.keyManagement, name="encryption__keyManagement", curie=GX.curie('keyManagement'), - model_uri=GX.encryption__keyManagement, domain=None, range=Union[str, "KeyManagement"]) - -slots.checkSum__checkSumCalculation = Slot(uri=GX.checkSumCalculation, name="checkSum__checkSumCalculation", curie=GX.curie('checkSumCalculation'), - model_uri=GX.checkSum__checkSumCalculation, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.checkSum__checkSumValue = Slot(uri=GX.checkSumValue, name="checkSum__checkSumValue", curie=GX.curie('checkSumValue'), - model_uri=GX.checkSum__checkSumValue, domain=None, range=str) - -slots.signature__signatureValue = Slot(uri=GX.signatureValue, name="signature__signatureValue", curie=GX.curie('signatureValue'), - model_uri=GX.signature__signatureValue, domain=None, range=str) - -slots.signature__hashAlgorithm = Slot(uri=GX.hashAlgorithm, name="signature__hashAlgorithm", curie=GX.curie('hashAlgorithm'), - model_uri=GX.signature__hashAlgorithm, domain=None, range=Union[str, "ChecksumAlgorithm"]) - -slots.signature__signatureAlgorithm = Slot(uri=GX.signatureAlgorithm, name="signature__signatureAlgorithm", curie=GX.curie('signatureAlgorithm'), - model_uri=GX.signature__signatureAlgorithm, domain=None, range=Union[str, "SignatureAlgorithm"]) - -slots.device__vendor = Slot(uri=GX.vendor, name="device__vendor", curie=GX.curie('vendor'), - model_uri=GX.device__vendor, domain=None, range=Optional[str]) - -slots.device__generation = Slot(uri=GX.generation, name="device__generation", curie=GX.curie('generation'), - model_uri=GX.device__generation, domain=None, range=Optional[str]) - -slots.device__defaultOversubscriptionRatio = Slot(uri=GX.defaultOversubscriptionRatio, name="device__defaultOversubscriptionRatio", curie=GX.curie('defaultOversubscriptionRatio'), - model_uri=GX.device__defaultOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.device__supportedOversubscriptionRatio = Slot(uri=GX.supportedOversubscriptionRatio, name="device__supportedOversubscriptionRatio", curie=GX.curie('supportedOversubscriptionRatio'), - model_uri=GX.device__supportedOversubscriptionRatio, domain=None, range=Optional[int]) - -slots.disk__diskSize = Slot(uri=GX.diskSize, name="disk__diskSize", curie=GX.curie('diskSize'), - model_uri=GX.disk__diskSize, domain=None, range=Union[dict, MemorySize]) - -slots.disk__diskType = Slot(uri=GX.diskType, name="disk__diskType", curie=GX.curie('diskType'), - model_uri=GX.disk__diskType, domain=None, range=Optional[Union[str, "DiskTypes"]]) - -slots.disk__diskBusType = Slot(uri=GX.diskBusType, name="disk__diskBusType", curie=GX.curie('diskBusType'), - model_uri=GX.disk__diskBusType, domain=None, range=Optional[str]) - -slots.endpoint__endpointURL = Slot(uri=GX.endpointURL, name="endpoint__endpointURL", curie=GX.curie('endpointURL'), - model_uri=GX.endpoint__endpointURL, domain=None, range=Optional[Union[str, URI]]) - -slots.endpoint__standardConformity = Slot(uri=GX.standardConformity, name="endpoint__standardConformity", curie=GX.curie('standardConformity'), - model_uri=GX.endpoint__standardConformity, domain=None, range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]]) - -slots.endpoint__formalDescription = Slot(uri=GX.formalDescription, name="endpoint__formalDescription", curie=GX.curie('formalDescription'), - model_uri=GX.endpoint__formalDescription, domain=None, range=Optional[str]) - -slots.gPU__gpuMemory = Slot(uri=GX.gpuMemory, name="gPU__gpuMemory", curie=GX.curie('gpuMemory'), - model_uri=GX.gPU__gpuMemory, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.gPU__gpuInterconnection = Slot(uri=GX.gpuInterconnection, name="gPU__gpuInterconnection", curie=GX.curie('gpuInterconnection'), - model_uri=GX.gPU__gpuInterconnection, domain=None, range=Optional[Union[str, "GPUInterconnetionTypes"]]) - -slots.gPU__gpuProcessingUnits = Slot(uri=GX.gpuProcessingUnits, name="gPU__gpuProcessingUnits", curie=GX.curie('gpuProcessingUnits'), - model_uri=GX.gPU__gpuProcessingUnits, domain=None, range=Optional[int]) - -slots.gPU__gpuPassthrough = Slot(uri=GX.gpuPassthrough, name="gPU__gpuPassthrough", curie=GX.curie('gpuPassthrough'), - model_uri=GX.gPU__gpuPassthrough, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__fileSize = Slot(uri=GX.fileSize, name="image__fileSize", curie=GX.curie('fileSize'), - model_uri=GX.image__fileSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__operatingSystem = Slot(uri=GX.operatingSystem, name="image__operatingSystem", curie=GX.curie('operatingSystem'), - model_uri=GX.image__operatingSystem, domain=None, range=Optional[Union[dict, OperatingSystem]]) - -slots.image__cpuReq = Slot(uri=GX.cpuReq, name="image__cpuReq", curie=GX.curie('cpuReq'), - model_uri=GX.image__cpuReq, domain=None, range=Optional[Union[dict, CPU]]) - -slots.image__gpuReq = Slot(uri=GX.gpuReq, name="image__gpuReq", curie=GX.curie('gpuReq'), - model_uri=GX.image__gpuReq, domain=None, range=Optional[Union[dict, GPU]]) - -slots.image__ramReq = Slot(uri=GX.ramReq, name="image__ramReq", curie=GX.curie('ramReq'), - model_uri=GX.image__ramReq, domain=None, range=Optional[Union[dict, Memory]]) - -slots.image__videoRamSize = Slot(uri=GX.videoRamSize, name="image__videoRamSize", curie=GX.curie('videoRamSize'), - model_uri=GX.image__videoRamSize, domain=None, range=Optional[Union[dict, MemorySize]]) - -slots.image__rootDiskReq = Slot(uri=GX.rootDiskReq, name="image__rootDiskReq", curie=GX.curie('rootDiskReq'), - model_uri=GX.image__rootDiskReq, domain=None, range=Optional[Union[dict, Disk]]) - -slots.image__encryption = Slot(uri=GX.encryption, name="image__encryption", curie=GX.curie('encryption'), - model_uri=GX.image__encryption, domain=None, range=Optional[Union[dict, Encryption]]) - -slots.image__checkSum = Slot(uri=GX.checkSum, name="image__checkSum", curie=GX.curie('checkSum'), - model_uri=GX.image__checkSum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.image__secureBoot = Slot(uri=GX.secureBoot, name="image__secureBoot", curie=GX.curie('secureBoot'), - model_uri=GX.image__secureBoot, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__vPMU = Slot(uri=GX.vPMU, name="image__vPMU", curie=GX.curie('vPMU'), - model_uri=GX.image__vPMU, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__multiQueues = Slot(uri=GX.multiQueues, name="image__multiQueues", curie=GX.curie('multiQueues'), - model_uri=GX.image__multiQueues, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__updateStrategy = Slot(uri=GX.updateStrategy, name="image__updateStrategy", curie=GX.curie('updateStrategy'), - model_uri=GX.image__updateStrategy, domain=None, range=Optional[Union[dict, UpdateStrategy]]) - -slots.image__licenseIncluded = Slot(uri=GX.licenseIncluded, name="image__licenseIncluded", curie=GX.curie('licenseIncluded'), - model_uri=GX.image__licenseIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.image__maintenance = Slot(uri=GX.maintenance, name="image__maintenance", curie=GX.curie('maintenance'), - model_uri=GX.image__maintenance, domain=None, range=Optional[Union[dict, MaintenanceSubscription]]) - -slots.maintenanceSubscription__subscriptionIncluded = Slot(uri=GX.subscriptionIncluded, name="maintenanceSubscription__subscriptionIncluded", curie=GX.curie('subscriptionIncluded'), - model_uri=GX.maintenanceSubscription__subscriptionIncluded, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__subscriptionRequired = Slot(uri=GX.subscriptionRequired, name="maintenanceSubscription__subscriptionRequired", curie=GX.curie('subscriptionRequired'), - model_uri=GX.maintenanceSubscription__subscriptionRequired, domain=None, range=Optional[Union[bool, Bool]]) - -slots.maintenanceSubscription__maintainedUntil = Slot(uri=GX.maintainedUntil, name="maintenanceSubscription__maintainedUntil", curie=GX.curie('maintainedUntil'), - model_uri=GX.maintenanceSubscription__maintainedUntil, domain=None, range=Optional[Union[str, XSDDate]]) - -slots.updateStrategy__replaceFrequency = Slot(uri=GX.replaceFrequency, name="updateStrategy__replaceFrequency", curie=GX.curie('replaceFrequency'), - model_uri=GX.updateStrategy__replaceFrequency, domain=None, range=Optional[Union[str, "UpdateFrequency"]]) - -slots.updateStrategy__hotfixHours = Slot(uri=GX.hotfixHours, name="updateStrategy__hotfixHours", curie=GX.curie('hotfixHours'), - model_uri=GX.updateStrategy__hotfixHours, domain=None, range=Optional[int]) - -slots.updateStrategy__oldVersionsValidUntil = Slot(uri=GX.oldVersionsValidUntil, name="updateStrategy__oldVersionsValidUntil", curie=GX.curie('oldVersionsValidUntil'), - model_uri=GX.updateStrategy__oldVersionsValidUntil, domain=None, range=Optional[str]) - -slots.updateStrategy__providedUntil = Slot(uri=GX.providedUntil, name="updateStrategy__providedUntil", curie=GX.curie('providedUntil'), - model_uri=GX.updateStrategy__providedUntil, domain=None, range=Optional[str]) - -slots.latestN__value = Slot(uri=GX.value, name="latestN__value", curie=GX.curie('value'), - model_uri=GX.latestN__value, domain=None, range=Optional[int]) - -slots.issuer__issuerTermsAndConditions = Slot(uri=GX.issuerTermsAndConditions, name="issuer__issuerTermsAndConditions", curie=GX.curie('issuerTermsAndConditions'), - model_uri=GX.issuer__issuerTermsAndConditions, domain=None, range=Union[str, "GaiaXTermsAndConditions"]) - -slots.legalPerson__registrationNumber = Slot(uri=GX.registrationNumber, name="legalPerson__registrationNumber", curie=GX.curie('registrationNumber'), - model_uri=GX.legalPerson__registrationNumber, domain=None, range=URIRef) - -slots.legalPerson__legalAddress = Slot(uri=GX.legalAddress, name="legalPerson__legalAddress", curie=GX.curie('legalAddress'), - model_uri=GX.legalPerson__legalAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__headquartersAddress = Slot(uri=GX.headquartersAddress, name="legalPerson__headquartersAddress", curie=GX.curie('headquartersAddress'), - model_uri=GX.legalPerson__headquartersAddress, domain=None, range=Union[dict, Address]) - -slots.legalPerson__parentOrganizationOf = Slot(uri=GX.parentOrganizationOf, name="legalPerson__parentOrganizationOf", curie=GX.curie('parentOrganizationOf'), - model_uri=GX.legalPerson__parentOrganizationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.legalPerson__subOrganisationOf = Slot(uri=GX.subOrganisationOf, name="legalPerson__subOrganisationOf", curie=GX.curie('subOrganisationOf'), - model_uri=GX.legalPerson__subOrganisationOf, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.localRegistrationNumber__local = Slot(uri=GX.local, name="localRegistrationNumber__local", curie=GX.curie('local'), - model_uri=GX.localRegistrationNumber__local, domain=None, range=URIRef) - -slots.vatID__vatID = Slot(uri=GX.vatID, name="vatID__vatID", curie=GX.curie('vatID'), - model_uri=GX.vatID__vatID, domain=None, range=URIRef) - -slots.leiCode__leiCode = Slot(uri=SCHEMA.leiCode, name="leiCode__leiCode", curie=SCHEMA.curie('leiCode'), - model_uri=GX.leiCode__leiCode, domain=None, range=URIRef) - -slots.eORI__eori = Slot(uri=GX.eori, name="eORI__eori", curie=GX.curie('eori'), - model_uri=GX.eORI__eori, domain=None, range=URIRef) - -slots.eUID__euid = Slot(uri=GX.euid, name="eUID__euid", curie=GX.curie('euid'), - model_uri=GX.eUID__euid, domain=None, range=URIRef) - -slots.memory__memorySize = Slot(uri=GX.memorySize, name="memory__memorySize", curie=GX.curie('memorySize'), - model_uri=GX.memory__memorySize, domain=None, range=Union[dict, MemorySize]) - -slots.memory__memoryClass = Slot(uri=GX.memoryClass, name="memory__memoryClass", curie=GX.curie('memoryClass'), - model_uri=GX.memory__memoryClass, domain=None, range=Optional[Union[str, "MemoryClasses"]]) - -slots.memory__memoryRank = Slot(uri=GX.memoryRank, name="memory__memoryRank", curie=GX.curie('memoryRank'), - model_uri=GX.memory__memoryRank, domain=None, range=Optional[Union[str, "MemoryRanks"]]) - -slots.memory__eccEnabled = Slot(uri=GX.eccEnabled, name="memory__eccEnabled", curie=GX.curie('eccEnabled'), - model_uri=GX.memory__eccEnabled, domain=None, range=Optional[Union[bool, Bool]]) - -slots.memory__hardwareEncryption = Slot(uri=GX.hardwareEncryption, name="memory__hardwareEncryption", curie=GX.curie('hardwareEncryption'), - model_uri=GX.memory__hardwareEncryption, domain=None, range=Optional[Union[bool, Bool]]) - -slots.pXEImage__pxeImageDiskFormat = Slot(uri=GX.pxeImageDiskFormat, name="pXEImage__pxeImageDiskFormat", curie=GX.curie('pxeImageDiskFormat'), - model_uri=GX.pXEImage__pxeImageDiskFormat, domain=None, range=Optional[Union[str, "PXEDiskType"]]) - -slots.resource__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="resource__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.resource__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.virtualResource__copyrightOwnedBy = Slot(uri=GX.copyrightOwnedBy, name="virtualResource__copyrightOwnedBy", curie=GX.curie('copyrightOwnedBy'), - model_uri=GX.virtualResource__copyrightOwnedBy, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__license = Slot(uri=GX.license, name="virtualResource__license", curie=GX.curie('license'), - model_uri=GX.virtualResource__license, domain=None, range=Union[str, List[str]]) - -slots.virtualResource__resourcePolicy = Slot(uri=GX.resourcePolicy, name="virtualResource__resourcePolicy", curie=GX.curie('resourcePolicy'), - model_uri=GX.virtualResource__resourcePolicy, domain=None, range=Union[str, List[str]]) - -slots.physicalResource__maintainedBy = Slot(uri=GX.maintainedBy, name="physicalResource__maintainedBy", curie=GX.curie('maintainedBy'), - model_uri=GX.physicalResource__maintainedBy, domain=None, range=Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]) - -slots.physicalResource__ownedBy = Slot(uri=GX.ownedBy, name="physicalResource__ownedBy", curie=GX.curie('ownedBy'), - model_uri=GX.physicalResource__ownedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__manufacturedBy = Slot(uri=GX.manufacturedBy, name="physicalResource__manufacturedBy", curie=GX.curie('manufacturedBy'), - model_uri=GX.physicalResource__manufacturedBy, domain=None, range=Optional[Union[Union[str, LegalPersonRegistrationNumber], List[Union[str, LegalPersonRegistrationNumber]]]]) - -slots.physicalResource__location = Slot(uri=GX.location, name="physicalResource__location", curie=GX.curie('location'), - model_uri=GX.physicalResource__location, domain=None, range=Union[Union[dict, Address], List[Union[dict, Address]]]) - -slots.softwareResource__checksum = Slot(uri=GX.checksum, name="softwareResource__checksum", curie=GX.curie('checksum'), - model_uri=GX.softwareResource__checksum, domain=None, range=Optional[Union[dict, CheckSum]]) - -slots.softwareResource__signature = Slot(uri=GX.signature, name="softwareResource__signature", curie=GX.curie('signature'), - model_uri=GX.softwareResource__signature, domain=None, range=Optional[Union[dict, Signature]]) - -slots.softwareResource__version = Slot(uri=GX.version, name="softwareResource__version", curie=GX.curie('version'), - model_uri=GX.softwareResource__version, domain=None, range=Optional[str]) - -slots.softwareResource__patchLevel = Slot(uri=GX.patchLevel, name="softwareResource__patchLevel", curie=GX.curie('patchLevel'), - model_uri=GX.softwareResource__patchLevel, domain=None, range=Optional[str]) - -slots.softwareResource__buildDate = Slot(uri=GX.buildDate, name="softwareResource__buildDate", curie=GX.curie('buildDate'), - model_uri=GX.softwareResource__buildDate, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.operatingSystem__osDistribution = Slot(uri=GX.osDistribution, name="operatingSystem__osDistribution", curie=GX.curie('osDistribution'), - model_uri=GX.operatingSystem__osDistribution, domain=None, range=Union[str, "OSDistribution"]) - -slots.hypervisor__hypervisorType = Slot(uri=GX.hypervisorType, name="hypervisor__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.hypervisor__hypervisorType, domain=None, range=Union[str, "HypervisorType"]) - -slots.serviceOffering__providedBy = Slot(uri=GX.providedBy, name="serviceOffering__providedBy", curie=GX.curie('providedBy'), - model_uri=GX.serviceOffering__providedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.serviceOffering__dependsOn = Slot(uri=GX.dependsOn, name="serviceOffering__dependsOn", curie=GX.curie('dependsOn'), - model_uri=GX.serviceOffering__dependsOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__aggregationOfResources = Slot(uri=GX.aggregationOfResources, name="serviceOffering__aggregationOfResources", curie=GX.curie('aggregationOfResources'), - model_uri=GX.serviceOffering__aggregationOfResources, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__serviceOfferingTermsAndConditions = Slot(uri=GX.serviceOfferingTermsAndConditions, name="serviceOffering__serviceOfferingTermsAndConditions", curie=GX.curie('serviceOfferingTermsAndConditions'), - model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, domain=None, range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]]) - -slots.serviceOffering__servicePolicy = Slot(uri=GX.servicePolicy, name="serviceOffering__servicePolicy", curie=GX.curie('servicePolicy'), - model_uri=GX.serviceOffering__servicePolicy, domain=None, range=Union[str, List[str]]) - -slots.serviceOffering__dataProtectionRegime = Slot(uri=GX.dataProtectionRegime, name="serviceOffering__dataProtectionRegime", curie=GX.curie('dataProtectionRegime'), - model_uri=GX.serviceOffering__dataProtectionRegime, domain=None, range=Optional[Union[Union[str, "PersonalDataProtectionRegime"], List[Union[str, "PersonalDataProtectionRegime"]]]]) - -slots.serviceOffering__dataAccountExport = Slot(uri=GX.dataAccountExport, name="serviceOffering__dataAccountExport", curie=GX.curie('dataAccountExport'), - model_uri=GX.serviceOffering__dataAccountExport, domain=None, range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]]) - -slots.serviceOffering__keyword = Slot(uri=GX.keyword, name="serviceOffering__keyword", curie=GX.curie('keyword'), - model_uri=GX.serviceOffering__keyword, domain=None, range=Optional[Union[str, List[str]]]) - -slots.serviceOffering__provisionType = Slot(uri=GX.provisionType, name="serviceOffering__provisionType", curie=GX.curie('provisionType'), - model_uri=GX.serviceOffering__provisionType, domain=None, range=Optional[Union[str, "ProvisionTypes"]]) - -slots.serviceOffering__endpoint = Slot(uri=GX.endpoint, name="serviceOffering__endpoint", curie=GX.curie('endpoint'), - model_uri=GX.serviceOffering__endpoint, domain=None, range=Optional[Union[dict, Endpoint]]) - -slots.serviceOffering__hostedOn = Slot(uri=GX.hostedOn, name="serviceOffering__hostedOn", curie=GX.curie('hostedOn'), - model_uri=GX.serviceOffering__hostedOn, domain=None, range=Optional[Union[str, List[str]]]) - -slots.computeServiceOffering__tenantSeparation = Slot(uri=GX.tenantSeparation, name="computeServiceOffering__tenantSeparation", curie=GX.curie('tenantSeparation'), - model_uri=GX.computeServiceOffering__tenantSeparation, domain=None, range=Optional[Union[str, "TenantSeparation"]]) - -slots.virtualMachineServiceOffering__codeArtifact = Slot(uri=GX.codeArtifact, name="virtualMachineServiceOffering__codeArtifact", curie=GX.curie('codeArtifact'), - model_uri=GX.virtualMachineServiceOffering__codeArtifact, domain=None, range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]]) - -slots.virtualMachineServiceOffering__instantiationReq = Slot(uri=GX.instantiationReq, name="virtualMachineServiceOffering__instantiationReq", curie=GX.curie('instantiationReq'), - model_uri=GX.virtualMachineServiceOffering__instantiationReq, domain=None, range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]]) - -slots.termsAndConditions__url = Slot(uri=GX.url, name="termsAndConditions__url", curie=GX.curie('url'), - model_uri=GX.termsAndConditions__url, domain=None, range=Union[str, URI]) - -slots.termsAndConditions__hash = Slot(uri=GX.hash, name="termsAndConditions__hash", curie=GX.curie('hash'), - model_uri=GX.termsAndConditions__hash, domain=None, range=str) - -slots.dataAccountExport__requestType = Slot(uri=GX.requestType, name="dataAccountExport__requestType", curie=GX.curie('requestType'), - model_uri=GX.dataAccountExport__requestType, domain=None, range=Union[str, "RequestTypes"]) - -slots.dataAccountExport__accessType = Slot(uri=GX.accessType, name="dataAccountExport__accessType", curie=GX.curie('accessType'), - model_uri=GX.dataAccountExport__accessType, domain=None, range=Union[str, "AccessTypes"]) - -slots.dataAccountExport__formatType = Slot(uri=GX.formatType, name="dataAccountExport__formatType", curie=GX.curie('formatType'), - model_uri=GX.dataAccountExport__formatType, domain=None, range=Union[str, "MIMETypes"]) - -slots.standardConformity__title = Slot(uri=GX.title, name="standardConformity__title", curie=GX.curie('title'), - model_uri=GX.standardConformity__title, domain=None, range=str) - -slots.standardConformity__standardReference = Slot(uri=GX.standardReference, name="standardConformity__standardReference", curie=GX.curie('standardReference'), - model_uri=GX.standardConformity__standardReference, domain=None, range=Union[str, URI]) - -slots.standardConformity__publisher = Slot(uri=GX.publisher, name="standardConformity__publisher", curie=GX.curie('publisher'), - model_uri=GX.standardConformity__publisher, domain=None, range=Optional[str]) - -slots.dataResource__producedBy = Slot(uri=GX.producedBy, name="dataResource__producedBy", curie=GX.curie('producedBy'), - model_uri=GX.dataResource__producedBy, domain=None, range=Union[str, LegalPersonRegistrationNumber]) - -slots.dataResource__exposedThrough = Slot(uri=GX.exposedThrough, name="dataResource__exposedThrough", curie=GX.curie('exposedThrough'), - model_uri=GX.dataResource__exposedThrough, domain=None, range=Union[Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]]]) - -slots.dataResource__obsoleteDateTime = Slot(uri=GX.obsoleteDateTime, name="dataResource__obsoleteDateTime", curie=GX.curie('obsoleteDateTime'), - model_uri=GX.dataResource__obsoleteDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__expirationDateTime = Slot(uri=GX.expirationDateTime, name="dataResource__expirationDateTime", curie=GX.curie('expirationDateTime'), - model_uri=GX.dataResource__expirationDateTime, domain=None, range=Optional[Union[str, XSDDateTime]]) - -slots.dataResource__containsPII = Slot(uri=GX.containsPII, name="dataResource__containsPII", curie=GX.curie('containsPII'), - model_uri=GX.dataResource__containsPII, domain=None, range=Union[bool, Bool]) - -slots.dataResource__dataController = Slot(uri=GX.dataController, name="dataResource__dataController", curie=GX.curie('dataController'), - model_uri=GX.dataResource__dataController, domain=None, range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]]) - -slots.dataResource__consent = Slot(uri=GX.consent, name="dataResource__consent", curie=GX.curie('consent'), - model_uri=GX.dataResource__consent, domain=None, range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]]) - -slots.consent__legalBasis = Slot(uri=GX.legalBasis, name="consent__legalBasis", curie=GX.curie('legalBasis'), - model_uri=GX.consent__legalBasis, domain=None, range=str) - -slots.consent__dataProtectionContactPoint = Slot(uri=GX.dataProtectionContactPoint, name="consent__dataProtectionContactPoint", curie=GX.curie('dataProtectionContactPoint'), - model_uri=GX.consent__dataProtectionContactPoint, domain=None, range=Union[str, List[str]]) - -slots.consent__purpose = Slot(uri=GX.purpose, name="consent__purpose", curie=GX.curie('purpose'), - model_uri=GX.consent__purpose, domain=None, range=Union[str, List[str]]) - -slots.consent__consentWithdrawalContactPoint = Slot(uri=GX.consentWithdrawalContactPoint, name="consent__consentWithdrawalContactPoint", curie=GX.curie('consentWithdrawalContactPoint'), - model_uri=GX.consent__consentWithdrawalContactPoint, domain=None, range=Union[str, List[str]]) - -slots.vMImage__vmImageDiskFormat = Slot(uri=GX.vmImageDiskFormat, name="vMImage__vmImageDiskFormat", curie=GX.curie('vmImageDiskFormat'), - model_uri=GX.vMImage__vmImageDiskFormat, domain=None, range=Optional[Union[str, "VMDiskType"]]) - -slots.vMImage__hypervisorType = Slot(uri=GX.hypervisorType, name="vMImage__hypervisorType", curie=GX.curie('hypervisorType'), - model_uri=GX.vMImage__hypervisorType, domain=None, range=Optional[Union[str, "HypervisorType"]]) - -slots.vMImage__firmwareType = Slot(uri=GX.firmwareType, name="vMImage__firmwareType", curie=GX.curie('firmwareType'), - model_uri=GX.vMImage__firmwareType, domain=None, range=Optional[Union[str, "FirmType"]]) - -slots.vMImage__hwRngTypeOfImage = Slot(uri=GX.hwRngTypeOfImage, name="vMImage__hwRngTypeOfImage", curie=GX.curie('hwRngTypeOfImage'), - model_uri=GX.vMImage__hwRngTypeOfImage, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.vMImage__watchDogAction = Slot(uri=GX.watchDogAction, name="vMImage__watchDogAction", curie=GX.curie('watchDogAction'), - model_uri=GX.vMImage__watchDogAction, domain=None, range=Optional[Union[str, "WatchDogActions"]]) - -slots.serverFlavor__cpu = Slot(uri=GX.cpu, name="serverFlavor__cpu", curie=GX.curie('cpu'), - model_uri=GX.serverFlavor__cpu, domain=None, range=Union[dict, CPU]) - -slots.serverFlavor__ram = Slot(uri=GX.ram, name="serverFlavor__ram", curie=GX.curie('ram'), - model_uri=GX.serverFlavor__ram, domain=None, range=Union[dict, Memory]) - -slots.serverFlavor__gpu = Slot(uri=GX.gpu, name="serverFlavor__gpu", curie=GX.curie('gpu'), - model_uri=GX.serverFlavor__gpu, domain=None, range=Optional[Union[dict, GPU]]) - -slots.serverFlavor__network = Slot(uri=GX.network, name="serverFlavor__network", curie=GX.curie('network'), - model_uri=GX.serverFlavor__network, domain=None, range=Optional[str]) - -slots.serverFlavor__bootVolume = Slot(uri=GX.bootVolume, name="serverFlavor__bootVolume", curie=GX.curie('bootVolume'), - model_uri=GX.serverFlavor__bootVolume, domain=None, range=Union[dict, Disk]) - -slots.serverFlavor__additionalVolume = Slot(uri=GX.additionalVolume, name="serverFlavor__additionalVolume", curie=GX.curie('additionalVolume'), - model_uri=GX.serverFlavor__additionalVolume, domain=None, range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]]) - -slots.serverFlavor__confidentialComputing = Slot(uri=GX.confidentialComputing, name="serverFlavor__confidentialComputing", curie=GX.curie('confidentialComputing'), - model_uri=GX.serverFlavor__confidentialComputing, domain=None, range=Optional[Union[dict, ConfidentialComputing]]) - -slots.serverFlavor__hypervisor = Slot(uri=GX.hypervisor, name="serverFlavor__hypervisor", curie=GX.curie('hypervisor'), - model_uri=GX.serverFlavor__hypervisor, domain=None, range=Optional[Union[dict, SoftwareResource]]) - -slots.serverFlavor__hardwareAssistedVirtualization = Slot(uri=GX.hardwareAssistedVirtualization, name="serverFlavor__hardwareAssistedVirtualization", curie=GX.curie('hardwareAssistedVirtualization'), - model_uri=GX.serverFlavor__hardwareAssistedVirtualization, domain=None, range=Optional[Union[bool, Bool]]) - -slots.serverFlavor__hwRngTypeOfFlavor = Slot(uri=GX.hwRngTypeOfFlavor, name="serverFlavor__hwRngTypeOfFlavor", curie=GX.curie('hwRngTypeOfFlavor'), - model_uri=GX.serverFlavor__hwRngTypeOfFlavor, domain=None, range=Optional[Union[str, "RNGTypes"]]) - -slots.confidentialComputing__technology = Slot(uri=GX.technology, name="confidentialComputing__technology", curie=GX.curie('technology'), - model_uri=GX.confidentialComputing__technology, domain=None, range=str) - -slots.confidentialComputing__attestationServiceURI = Slot(uri=GX.attestationServiceURI, name="confidentialComputing__attestationServiceURI", curie=GX.curie('attestationServiceURI'), - model_uri=GX.confidentialComputing__attestationServiceURI, domain=None, range=Optional[Union[str, URI]]) +slots.value = Slot( + uri=QUDT.value, + name="value", + curie=QUDT.curie("value"), + model_uri=GX.value, + domain=None, + range=float, +) + +slots.unit = Slot( + uri=QUDT.unit, + name="unit", + curie=QUDT.curie("unit"), + model_uri=GX.unit, + domain=None, + range=str, +) + +slots.address__countryCode = Slot( + uri=GX.countryCode, + name="address__countryCode", + curie=GX.curie("countryCode"), + model_uri=GX.address__countryCode, + domain=None, + range=str, +) + +slots.address__gps = Slot( + uri=GX.gps, + name="address__gps", + curie=GX.curie("gps"), + model_uri=GX.address__gps, + domain=None, + range=Optional[Union[Union[dict, GPSLocation], List[Union[dict, GPSLocation]]]], +) + +slots.address__streetAddress = Slot( + uri=VCARD["street-address"], + name="address__streetAddress", + curie=VCARD.curie("street-address"), + model_uri=GX.address__streetAddress, + domain=None, + range=Optional[str], +) + +slots.address__postalCode = Slot( + uri=VCARD["postal-code"], + name="address__postalCode", + curie=VCARD.curie("postal-code"), + model_uri=GX.address__postalCode, + domain=None, + range=Optional[str], +) + +slots.address__locality = Slot( + uri=VCARD.locality, + name="address__locality", + curie=VCARD.curie("locality"), + model_uri=GX.address__locality, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__latitude = Slot( + uri=GX.latitude, + name="gPSLocation__latitude", + curie=GX.curie("latitude"), + model_uri=GX.gPSLocation__latitude, + domain=None, + range=str, +) + +slots.gPSLocation__longitude = Slot( + uri=GX.longitude, + name="gPSLocation__longitude", + curie=GX.curie("longitude"), + model_uri=GX.gPSLocation__longitude, + domain=None, + range=str, +) + +slots.gPSLocation__altitude = Slot( + uri=GX.altitude, + name="gPSLocation__altitude", + curie=GX.curie("altitude"), + model_uri=GX.gPSLocation__altitude, + domain=None, + range=Optional[str], +) + +slots.gPSLocation__crs = Slot( + uri=GX.crs, + name="gPSLocation__crs", + curie=GX.curie("crs"), + model_uri=GX.gPSLocation__crs, + domain=None, + range=Optional[str], + pattern=re.compile(r"^CRS"), +) + +slots.gPSUnit__degrees = Slot( + uri=GX.degrees, + name="gPSUnit__degrees", + curie=GX.curie("degrees"), + model_uri=GX.gPSUnit__degrees, + domain=None, + range=int, +) + +slots.gPSUnit__minutes = Slot( + uri=GX.minutes, + name="gPSUnit__minutes", + curie=GX.curie("minutes"), + model_uri=GX.gPSUnit__minutes, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__seconds = Slot( + uri=GX.seconds, + name="gPSUnit__seconds", + curie=GX.curie("seconds"), + model_uri=GX.gPSUnit__seconds, + domain=None, + range=Optional[int], +) + +slots.gPSUnit__decimals = Slot( + uri=GX.decimals, + name="gPSUnit__decimals", + curie=GX.curie("decimals"), + model_uri=GX.gPSUnit__decimals, + domain=None, + range=Optional[float], +) + +slots.gaiaXEntity__name = Slot( + uri=GX.name, + name="gaiaXEntity__name", + curie=GX.curie("name"), + model_uri=GX.gaiaXEntity__name, + domain=None, + range=Optional[str], +) + +slots.gaiaXEntity__description = Slot( + uri=GX.description, + name="gaiaXEntity__description", + curie=GX.curie("description"), + model_uri=GX.gaiaXEntity__description, + domain=None, + range=Optional[str], +) + +slots.cPU__cpuArchitecture = Slot( + uri=GX.cpuArchitecture, + name="cPU__cpuArchitecture", + curie=GX.curie("cpuArchitecture"), + model_uri=GX.cPU__cpuArchitecture, + domain=None, + range=Optional[Union[str, "Architectures"]], +) + +slots.cPU__cpuFlag = Slot( + uri=GX.cpuFlag, + name="cPU__cpuFlag", + curie=GX.curie("cpuFlag"), + model_uri=GX.cPU__cpuFlag, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.cPU__smtEnabled = Slot( + uri=GX.smtEnabled, + name="cPU__smtEnabled", + curie=GX.curie("smtEnabled"), + model_uri=GX.cPU__smtEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.cPU__numberOfCores = Slot( + uri=GX.numberOfCores, + name="cPU__numberOfCores", + curie=GX.curie("numberOfCores"), + model_uri=GX.cPU__numberOfCores, + domain=None, + range=Optional[int], +) + +slots.cPU__numberOfThreads = Slot( + uri=GX.numberOfThreads, + name="cPU__numberOfThreads", + curie=GX.curie("numberOfThreads"), + model_uri=GX.cPU__numberOfThreads, + domain=None, + range=Optional[int], +) + +slots.cPU__baseFrequency = Slot( + uri=GX.baseFrequency, + name="cPU__baseFrequency", + curie=GX.curie("baseFrequency"), + model_uri=GX.cPU__baseFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__boostFrequency = Slot( + uri=GX.boostFrequency, + name="cPU__boostFrequency", + curie=GX.curie("boostFrequency"), + model_uri=GX.cPU__boostFrequency, + domain=None, + range=Optional[Union[dict, Frequency]], +) + +slots.cPU__lastLevelCacheSize = Slot( + uri=GX.lastLevelCacheSize, + name="cPU__lastLevelCacheSize", + curie=GX.curie("lastLevelCacheSize"), + model_uri=GX.cPU__lastLevelCacheSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.cPU__thermalDesignPower = Slot( + uri=GX.thermalDesignPower, + name="cPU__thermalDesignPower", + curie=GX.curie("thermalDesignPower"), + model_uri=GX.cPU__thermalDesignPower, + domain=None, + range=Optional[Union[dict, Power]], +) + +slots.encryption__cipher = Slot( + uri=GX.cipher, + name="encryption__cipher", + curie=GX.curie("cipher"), + model_uri=GX.encryption__cipher, + domain=None, + range=Union[str, "EncryptionAlgorithm"], +) + +slots.encryption__keyManagement = Slot( + uri=GX.keyManagement, + name="encryption__keyManagement", + curie=GX.curie("keyManagement"), + model_uri=GX.encryption__keyManagement, + domain=None, + range=Union[str, "KeyManagement"], +) + +slots.checkSum__checkSumCalculation = Slot( + uri=GX.checkSumCalculation, + name="checkSum__checkSumCalculation", + curie=GX.curie("checkSumCalculation"), + model_uri=GX.checkSum__checkSumCalculation, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.checkSum__checkSumValue = Slot( + uri=GX.checkSumValue, + name="checkSum__checkSumValue", + curie=GX.curie("checkSumValue"), + model_uri=GX.checkSum__checkSumValue, + domain=None, + range=str, +) + +slots.signature__signatureValue = Slot( + uri=GX.signatureValue, + name="signature__signatureValue", + curie=GX.curie("signatureValue"), + model_uri=GX.signature__signatureValue, + domain=None, + range=str, +) + +slots.signature__hashAlgorithm = Slot( + uri=GX.hashAlgorithm, + name="signature__hashAlgorithm", + curie=GX.curie("hashAlgorithm"), + model_uri=GX.signature__hashAlgorithm, + domain=None, + range=Union[str, "ChecksumAlgorithm"], +) + +slots.signature__signatureAlgorithm = Slot( + uri=GX.signatureAlgorithm, + name="signature__signatureAlgorithm", + curie=GX.curie("signatureAlgorithm"), + model_uri=GX.signature__signatureAlgorithm, + domain=None, + range=Union[str, "SignatureAlgorithm"], +) + +slots.device__vendor = Slot( + uri=GX.vendor, + name="device__vendor", + curie=GX.curie("vendor"), + model_uri=GX.device__vendor, + domain=None, + range=Optional[str], +) + +slots.device__generation = Slot( + uri=GX.generation, + name="device__generation", + curie=GX.curie("generation"), + model_uri=GX.device__generation, + domain=None, + range=Optional[str], +) + +slots.device__defaultOversubscriptionRatio = Slot( + uri=GX.defaultOversubscriptionRatio, + name="device__defaultOversubscriptionRatio", + curie=GX.curie("defaultOversubscriptionRatio"), + model_uri=GX.device__defaultOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.device__supportedOversubscriptionRatio = Slot( + uri=GX.supportedOversubscriptionRatio, + name="device__supportedOversubscriptionRatio", + curie=GX.curie("supportedOversubscriptionRatio"), + model_uri=GX.device__supportedOversubscriptionRatio, + domain=None, + range=Optional[int], +) + +slots.disk__diskSize = Slot( + uri=GX.diskSize, + name="disk__diskSize", + curie=GX.curie("diskSize"), + model_uri=GX.disk__diskSize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.disk__diskType = Slot( + uri=GX.diskType, + name="disk__diskType", + curie=GX.curie("diskType"), + model_uri=GX.disk__diskType, + domain=None, + range=Optional[Union[str, "DiskTypes"]], +) + +slots.disk__diskBusType = Slot( + uri=GX.diskBusType, + name="disk__diskBusType", + curie=GX.curie("diskBusType"), + model_uri=GX.disk__diskBusType, + domain=None, + range=Optional[str], +) + +slots.endpoint__endpointURL = Slot( + uri=GX.endpointURL, + name="endpoint__endpointURL", + curie=GX.curie("endpointURL"), + model_uri=GX.endpoint__endpointURL, + domain=None, + range=Optional[Union[str, URI]], +) + +slots.endpoint__standardConformity = Slot( + uri=GX.standardConformity, + name="endpoint__standardConformity", + curie=GX.curie("standardConformity"), + model_uri=GX.endpoint__standardConformity, + domain=None, + range=Union[Union[dict, StandardConformity], List[Union[dict, StandardConformity]]], +) + +slots.endpoint__formalDescription = Slot( + uri=GX.formalDescription, + name="endpoint__formalDescription", + curie=GX.curie("formalDescription"), + model_uri=GX.endpoint__formalDescription, + domain=None, + range=Optional[str], +) + +slots.gPU__gpuMemory = Slot( + uri=GX.gpuMemory, + name="gPU__gpuMemory", + curie=GX.curie("gpuMemory"), + model_uri=GX.gPU__gpuMemory, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.gPU__gpuInterconnection = Slot( + uri=GX.gpuInterconnection, + name="gPU__gpuInterconnection", + curie=GX.curie("gpuInterconnection"), + model_uri=GX.gPU__gpuInterconnection, + domain=None, + range=Optional[Union[str, "GPUInterconnetionTypes"]], +) + +slots.gPU__gpuProcessingUnits = Slot( + uri=GX.gpuProcessingUnits, + name="gPU__gpuProcessingUnits", + curie=GX.curie("gpuProcessingUnits"), + model_uri=GX.gPU__gpuProcessingUnits, + domain=None, + range=Optional[int], +) + +slots.gPU__gpuPassthrough = Slot( + uri=GX.gpuPassthrough, + name="gPU__gpuPassthrough", + curie=GX.curie("gpuPassthrough"), + model_uri=GX.gPU__gpuPassthrough, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__fileSize = Slot( + uri=GX.fileSize, + name="image__fileSize", + curie=GX.curie("fileSize"), + model_uri=GX.image__fileSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__operatingSystem = Slot( + uri=GX.operatingSystem, + name="image__operatingSystem", + curie=GX.curie("operatingSystem"), + model_uri=GX.image__operatingSystem, + domain=None, + range=Optional[Union[dict, OperatingSystem]], +) + +slots.image__cpuReq = Slot( + uri=GX.cpuReq, + name="image__cpuReq", + curie=GX.curie("cpuReq"), + model_uri=GX.image__cpuReq, + domain=None, + range=Optional[Union[dict, CPU]], +) + +slots.image__gpuReq = Slot( + uri=GX.gpuReq, + name="image__gpuReq", + curie=GX.curie("gpuReq"), + model_uri=GX.image__gpuReq, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.image__ramReq = Slot( + uri=GX.ramReq, + name="image__ramReq", + curie=GX.curie("ramReq"), + model_uri=GX.image__ramReq, + domain=None, + range=Optional[Union[dict, Memory]], +) + +slots.image__videoRamSize = Slot( + uri=GX.videoRamSize, + name="image__videoRamSize", + curie=GX.curie("videoRamSize"), + model_uri=GX.image__videoRamSize, + domain=None, + range=Optional[Union[dict, MemorySize]], +) + +slots.image__rootDiskReq = Slot( + uri=GX.rootDiskReq, + name="image__rootDiskReq", + curie=GX.curie("rootDiskReq"), + model_uri=GX.image__rootDiskReq, + domain=None, + range=Optional[Union[dict, Disk]], +) + +slots.image__encryption = Slot( + uri=GX.encryption, + name="image__encryption", + curie=GX.curie("encryption"), + model_uri=GX.image__encryption, + domain=None, + range=Optional[Union[dict, Encryption]], +) + +slots.image__checkSum = Slot( + uri=GX.checkSum, + name="image__checkSum", + curie=GX.curie("checkSum"), + model_uri=GX.image__checkSum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.image__secureBoot = Slot( + uri=GX.secureBoot, + name="image__secureBoot", + curie=GX.curie("secureBoot"), + model_uri=GX.image__secureBoot, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__vPMU = Slot( + uri=GX.vPMU, + name="image__vPMU", + curie=GX.curie("vPMU"), + model_uri=GX.image__vPMU, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__multiQueues = Slot( + uri=GX.multiQueues, + name="image__multiQueues", + curie=GX.curie("multiQueues"), + model_uri=GX.image__multiQueues, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__updateStrategy = Slot( + uri=GX.updateStrategy, + name="image__updateStrategy", + curie=GX.curie("updateStrategy"), + model_uri=GX.image__updateStrategy, + domain=None, + range=Optional[Union[dict, UpdateStrategy]], +) + +slots.image__licenseIncluded = Slot( + uri=GX.licenseIncluded, + name="image__licenseIncluded", + curie=GX.curie("licenseIncluded"), + model_uri=GX.image__licenseIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.image__maintenance = Slot( + uri=GX.maintenance, + name="image__maintenance", + curie=GX.curie("maintenance"), + model_uri=GX.image__maintenance, + domain=None, + range=Optional[Union[dict, MaintenanceSubscription]], +) + +slots.maintenanceSubscription__subscriptionIncluded = Slot( + uri=GX.subscriptionIncluded, + name="maintenanceSubscription__subscriptionIncluded", + curie=GX.curie("subscriptionIncluded"), + model_uri=GX.maintenanceSubscription__subscriptionIncluded, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__subscriptionRequired = Slot( + uri=GX.subscriptionRequired, + name="maintenanceSubscription__subscriptionRequired", + curie=GX.curie("subscriptionRequired"), + model_uri=GX.maintenanceSubscription__subscriptionRequired, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.maintenanceSubscription__maintainedUntil = Slot( + uri=GX.maintainedUntil, + name="maintenanceSubscription__maintainedUntil", + curie=GX.curie("maintainedUntil"), + model_uri=GX.maintenanceSubscription__maintainedUntil, + domain=None, + range=Optional[Union[str, XSDDate]], +) + +slots.updateStrategy__replaceFrequency = Slot( + uri=GX.replaceFrequency, + name="updateStrategy__replaceFrequency", + curie=GX.curie("replaceFrequency"), + model_uri=GX.updateStrategy__replaceFrequency, + domain=None, + range=Optional[Union[str, "UpdateFrequency"]], +) + +slots.updateStrategy__hotfixHours = Slot( + uri=GX.hotfixHours, + name="updateStrategy__hotfixHours", + curie=GX.curie("hotfixHours"), + model_uri=GX.updateStrategy__hotfixHours, + domain=None, + range=Optional[int], +) + +slots.updateStrategy__oldVersionsValidUntil = Slot( + uri=GX.oldVersionsValidUntil, + name="updateStrategy__oldVersionsValidUntil", + curie=GX.curie("oldVersionsValidUntil"), + model_uri=GX.updateStrategy__oldVersionsValidUntil, + domain=None, + range=Optional[str], +) + +slots.updateStrategy__providedUntil = Slot( + uri=GX.providedUntil, + name="updateStrategy__providedUntil", + curie=GX.curie("providedUntil"), + model_uri=GX.updateStrategy__providedUntil, + domain=None, + range=Optional[str], +) + +slots.latestN__value = Slot( + uri=GX.value, + name="latestN__value", + curie=GX.curie("value"), + model_uri=GX.latestN__value, + domain=None, + range=Optional[int], +) + +slots.issuer__issuerTermsAndConditions = Slot( + uri=GX.issuerTermsAndConditions, + name="issuer__issuerTermsAndConditions", + curie=GX.curie("issuerTermsAndConditions"), + model_uri=GX.issuer__issuerTermsAndConditions, + domain=None, + range=Union[str, "GaiaXTermsAndConditions"], +) + +slots.legalPerson__registrationNumber = Slot( + uri=GX.registrationNumber, + name="legalPerson__registrationNumber", + curie=GX.curie("registrationNumber"), + model_uri=GX.legalPerson__registrationNumber, + domain=None, + range=URIRef, +) + +slots.legalPerson__legalAddress = Slot( + uri=GX.legalAddress, + name="legalPerson__legalAddress", + curie=GX.curie("legalAddress"), + model_uri=GX.legalPerson__legalAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__headquartersAddress = Slot( + uri=GX.headquartersAddress, + name="legalPerson__headquartersAddress", + curie=GX.curie("headquartersAddress"), + model_uri=GX.legalPerson__headquartersAddress, + domain=None, + range=Union[dict, Address], +) + +slots.legalPerson__parentOrganizationOf = Slot( + uri=GX.parentOrganizationOf, + name="legalPerson__parentOrganizationOf", + curie=GX.curie("parentOrganizationOf"), + model_uri=GX.legalPerson__parentOrganizationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.legalPerson__subOrganisationOf = Slot( + uri=GX.subOrganisationOf, + name="legalPerson__subOrganisationOf", + curie=GX.curie("subOrganisationOf"), + model_uri=GX.legalPerson__subOrganisationOf, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.localRegistrationNumber__local = Slot( + uri=GX.local, + name="localRegistrationNumber__local", + curie=GX.curie("local"), + model_uri=GX.localRegistrationNumber__local, + domain=None, + range=URIRef, +) + +slots.vatID__vatID = Slot( + uri=GX.vatID, + name="vatID__vatID", + curie=GX.curie("vatID"), + model_uri=GX.vatID__vatID, + domain=None, + range=URIRef, +) + +slots.leiCode__leiCode = Slot( + uri=SCHEMA.leiCode, + name="leiCode__leiCode", + curie=SCHEMA.curie("leiCode"), + model_uri=GX.leiCode__leiCode, + domain=None, + range=URIRef, +) + +slots.eORI__eori = Slot( + uri=GX.eori, + name="eORI__eori", + curie=GX.curie("eori"), + model_uri=GX.eORI__eori, + domain=None, + range=URIRef, +) + +slots.eUID__euid = Slot( + uri=GX.euid, + name="eUID__euid", + curie=GX.curie("euid"), + model_uri=GX.eUID__euid, + domain=None, + range=URIRef, +) + +slots.memory__memorySize = Slot( + uri=GX.memorySize, + name="memory__memorySize", + curie=GX.curie("memorySize"), + model_uri=GX.memory__memorySize, + domain=None, + range=Union[dict, MemorySize], +) + +slots.memory__memoryClass = Slot( + uri=GX.memoryClass, + name="memory__memoryClass", + curie=GX.curie("memoryClass"), + model_uri=GX.memory__memoryClass, + domain=None, + range=Optional[Union[str, "MemoryClasses"]], +) + +slots.memory__memoryRank = Slot( + uri=GX.memoryRank, + name="memory__memoryRank", + curie=GX.curie("memoryRank"), + model_uri=GX.memory__memoryRank, + domain=None, + range=Optional[Union[str, "MemoryRanks"]], +) + +slots.memory__eccEnabled = Slot( + uri=GX.eccEnabled, + name="memory__eccEnabled", + curie=GX.curie("eccEnabled"), + model_uri=GX.memory__eccEnabled, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.memory__hardwareEncryption = Slot( + uri=GX.hardwareEncryption, + name="memory__hardwareEncryption", + curie=GX.curie("hardwareEncryption"), + model_uri=GX.memory__hardwareEncryption, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.pXEImage__pxeImageDiskFormat = Slot( + uri=GX.pxeImageDiskFormat, + name="pXEImage__pxeImageDiskFormat", + curie=GX.curie("pxeImageDiskFormat"), + model_uri=GX.pXEImage__pxeImageDiskFormat, + domain=None, + range=Optional[Union[str, "PXEDiskType"]], +) + +slots.resource__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="resource__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.resource__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.virtualResource__copyrightOwnedBy = Slot( + uri=GX.copyrightOwnedBy, + name="virtualResource__copyrightOwnedBy", + curie=GX.curie("copyrightOwnedBy"), + model_uri=GX.virtualResource__copyrightOwnedBy, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__license = Slot( + uri=GX.license, + name="virtualResource__license", + curie=GX.curie("license"), + model_uri=GX.virtualResource__license, + domain=None, + range=Union[str, List[str]], +) + +slots.virtualResource__resourcePolicy = Slot( + uri=GX.resourcePolicy, + name="virtualResource__resourcePolicy", + curie=GX.curie("resourcePolicy"), + model_uri=GX.virtualResource__resourcePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.physicalResource__maintainedBy = Slot( + uri=GX.maintainedBy, + name="physicalResource__maintainedBy", + curie=GX.curie("maintainedBy"), + model_uri=GX.physicalResource__maintainedBy, + domain=None, + range=Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ], +) + +slots.physicalResource__ownedBy = Slot( + uri=GX.ownedBy, + name="physicalResource__ownedBy", + curie=GX.curie("ownedBy"), + model_uri=GX.physicalResource__ownedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__manufacturedBy = Slot( + uri=GX.manufacturedBy, + name="physicalResource__manufacturedBy", + curie=GX.curie("manufacturedBy"), + model_uri=GX.physicalResource__manufacturedBy, + domain=None, + range=Optional[ + Union[ + Union[str, LegalPersonRegistrationNumber], + List[Union[str, LegalPersonRegistrationNumber]], + ] + ], +) + +slots.physicalResource__location = Slot( + uri=GX.location, + name="physicalResource__location", + curie=GX.curie("location"), + model_uri=GX.physicalResource__location, + domain=None, + range=Union[Union[dict, Address], List[Union[dict, Address]]], +) + +slots.softwareResource__checksum = Slot( + uri=GX.checksum, + name="softwareResource__checksum", + curie=GX.curie("checksum"), + model_uri=GX.softwareResource__checksum, + domain=None, + range=Optional[Union[dict, CheckSum]], +) + +slots.softwareResource__signature = Slot( + uri=GX.signature, + name="softwareResource__signature", + curie=GX.curie("signature"), + model_uri=GX.softwareResource__signature, + domain=None, + range=Optional[Union[dict, Signature]], +) + +slots.softwareResource__version = Slot( + uri=GX.version, + name="softwareResource__version", + curie=GX.curie("version"), + model_uri=GX.softwareResource__version, + domain=None, + range=Optional[str], +) + +slots.softwareResource__patchLevel = Slot( + uri=GX.patchLevel, + name="softwareResource__patchLevel", + curie=GX.curie("patchLevel"), + model_uri=GX.softwareResource__patchLevel, + domain=None, + range=Optional[str], +) + +slots.softwareResource__buildDate = Slot( + uri=GX.buildDate, + name="softwareResource__buildDate", + curie=GX.curie("buildDate"), + model_uri=GX.softwareResource__buildDate, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.operatingSystem__osDistribution = Slot( + uri=GX.osDistribution, + name="operatingSystem__osDistribution", + curie=GX.curie("osDistribution"), + model_uri=GX.operatingSystem__osDistribution, + domain=None, + range=Union[str, "OSDistribution"], +) + +slots.hypervisor__hypervisorType = Slot( + uri=GX.hypervisorType, + name="hypervisor__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.hypervisor__hypervisorType, + domain=None, + range=Union[str, "HypervisorType"], +) + +slots.serviceOffering__providedBy = Slot( + uri=GX.providedBy, + name="serviceOffering__providedBy", + curie=GX.curie("providedBy"), + model_uri=GX.serviceOffering__providedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.serviceOffering__dependsOn = Slot( + uri=GX.dependsOn, + name="serviceOffering__dependsOn", + curie=GX.curie("dependsOn"), + model_uri=GX.serviceOffering__dependsOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__aggregationOfResources = Slot( + uri=GX.aggregationOfResources, + name="serviceOffering__aggregationOfResources", + curie=GX.curie("aggregationOfResources"), + model_uri=GX.serviceOffering__aggregationOfResources, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__serviceOfferingTermsAndConditions = Slot( + uri=GX.serviceOfferingTermsAndConditions, + name="serviceOffering__serviceOfferingTermsAndConditions", + curie=GX.curie("serviceOfferingTermsAndConditions"), + model_uri=GX.serviceOffering__serviceOfferingTermsAndConditions, + domain=None, + range=Union[Union[dict, TermsAndConditions], List[Union[dict, TermsAndConditions]]], +) + +slots.serviceOffering__servicePolicy = Slot( + uri=GX.servicePolicy, + name="serviceOffering__servicePolicy", + curie=GX.curie("servicePolicy"), + model_uri=GX.serviceOffering__servicePolicy, + domain=None, + range=Union[str, List[str]], +) + +slots.serviceOffering__dataProtectionRegime = Slot( + uri=GX.dataProtectionRegime, + name="serviceOffering__dataProtectionRegime", + curie=GX.curie("dataProtectionRegime"), + model_uri=GX.serviceOffering__dataProtectionRegime, + domain=None, + range=Optional[ + Union[ + Union[str, "PersonalDataProtectionRegime"], + List[Union[str, "PersonalDataProtectionRegime"]], + ] + ], +) + +slots.serviceOffering__dataAccountExport = Slot( + uri=GX.dataAccountExport, + name="serviceOffering__dataAccountExport", + curie=GX.curie("dataAccountExport"), + model_uri=GX.serviceOffering__dataAccountExport, + domain=None, + range=Union[Union[dict, DataAccountExport], List[Union[dict, DataAccountExport]]], +) + +slots.serviceOffering__keyword = Slot( + uri=GX.keyword, + name="serviceOffering__keyword", + curie=GX.curie("keyword"), + model_uri=GX.serviceOffering__keyword, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.serviceOffering__provisionType = Slot( + uri=GX.provisionType, + name="serviceOffering__provisionType", + curie=GX.curie("provisionType"), + model_uri=GX.serviceOffering__provisionType, + domain=None, + range=Optional[Union[str, "ProvisionTypes"]], +) + +slots.serviceOffering__endpoint = Slot( + uri=GX.endpoint, + name="serviceOffering__endpoint", + curie=GX.curie("endpoint"), + model_uri=GX.serviceOffering__endpoint, + domain=None, + range=Optional[Union[dict, Endpoint]], +) + +slots.serviceOffering__hostedOn = Slot( + uri=GX.hostedOn, + name="serviceOffering__hostedOn", + curie=GX.curie("hostedOn"), + model_uri=GX.serviceOffering__hostedOn, + domain=None, + range=Optional[Union[str, List[str]]], +) + +slots.computeServiceOffering__tenantSeparation = Slot( + uri=GX.tenantSeparation, + name="computeServiceOffering__tenantSeparation", + curie=GX.curie("tenantSeparation"), + model_uri=GX.computeServiceOffering__tenantSeparation, + domain=None, + range=Optional[Union[str, "TenantSeparation"]], +) + +slots.virtualMachineServiceOffering__codeArtifact = Slot( + uri=GX.codeArtifact, + name="virtualMachineServiceOffering__codeArtifact", + curie=GX.curie("codeArtifact"), + model_uri=GX.virtualMachineServiceOffering__codeArtifact, + domain=None, + range=Union[Union[dict, VMImage], List[Union[dict, VMImage]]], +) + +slots.virtualMachineServiceOffering__instantiationReq = Slot( + uri=GX.instantiationReq, + name="virtualMachineServiceOffering__instantiationReq", + curie=GX.curie("instantiationReq"), + model_uri=GX.virtualMachineServiceOffering__instantiationReq, + domain=None, + range=Union[Union[dict, ServerFlavor], List[Union[dict, ServerFlavor]]], +) + +slots.termsAndConditions__url = Slot( + uri=GX.url, + name="termsAndConditions__url", + curie=GX.curie("url"), + model_uri=GX.termsAndConditions__url, + domain=None, + range=Union[str, URI], +) + +slots.termsAndConditions__hash = Slot( + uri=GX.hash, + name="termsAndConditions__hash", + curie=GX.curie("hash"), + model_uri=GX.termsAndConditions__hash, + domain=None, + range=str, +) + +slots.dataAccountExport__requestType = Slot( + uri=GX.requestType, + name="dataAccountExport__requestType", + curie=GX.curie("requestType"), + model_uri=GX.dataAccountExport__requestType, + domain=None, + range=Union[str, "RequestTypes"], +) + +slots.dataAccountExport__accessType = Slot( + uri=GX.accessType, + name="dataAccountExport__accessType", + curie=GX.curie("accessType"), + model_uri=GX.dataAccountExport__accessType, + domain=None, + range=Union[str, "AccessTypes"], +) + +slots.dataAccountExport__formatType = Slot( + uri=GX.formatType, + name="dataAccountExport__formatType", + curie=GX.curie("formatType"), + model_uri=GX.dataAccountExport__formatType, + domain=None, + range=Union[str, "MIMETypes"], +) + +slots.standardConformity__title = Slot( + uri=GX.title, + name="standardConformity__title", + curie=GX.curie("title"), + model_uri=GX.standardConformity__title, + domain=None, + range=str, +) + +slots.standardConformity__standardReference = Slot( + uri=GX.standardReference, + name="standardConformity__standardReference", + curie=GX.curie("standardReference"), + model_uri=GX.standardConformity__standardReference, + domain=None, + range=Union[str, URI], +) + +slots.standardConformity__publisher = Slot( + uri=GX.publisher, + name="standardConformity__publisher", + curie=GX.curie("publisher"), + model_uri=GX.standardConformity__publisher, + domain=None, + range=Optional[str], +) + +slots.dataResource__producedBy = Slot( + uri=GX.producedBy, + name="dataResource__producedBy", + curie=GX.curie("producedBy"), + model_uri=GX.dataResource__producedBy, + domain=None, + range=Union[str, LegalPersonRegistrationNumber], +) + +slots.dataResource__exposedThrough = Slot( + uri=GX.exposedThrough, + name="dataResource__exposedThrough", + curie=GX.curie("exposedThrough"), + model_uri=GX.dataResource__exposedThrough, + domain=None, + range=Union[ + Union[dict, DataExchangeComponent], List[Union[dict, DataExchangeComponent]] + ], +) + +slots.dataResource__obsoleteDateTime = Slot( + uri=GX.obsoleteDateTime, + name="dataResource__obsoleteDateTime", + curie=GX.curie("obsoleteDateTime"), + model_uri=GX.dataResource__obsoleteDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__expirationDateTime = Slot( + uri=GX.expirationDateTime, + name="dataResource__expirationDateTime", + curie=GX.curie("expirationDateTime"), + model_uri=GX.dataResource__expirationDateTime, + domain=None, + range=Optional[Union[str, XSDDateTime]], +) + +slots.dataResource__containsPII = Slot( + uri=GX.containsPII, + name="dataResource__containsPII", + curie=GX.curie("containsPII"), + model_uri=GX.dataResource__containsPII, + domain=None, + range=Union[bool, Bool], +) + +slots.dataResource__dataController = Slot( + uri=GX.dataController, + name="dataResource__dataController", + curie=GX.curie("dataController"), + model_uri=GX.dataResource__dataController, + domain=None, + range=Optional[Union[Union[dict, Participant], List[Union[dict, Participant]]]], +) + +slots.dataResource__consent = Slot( + uri=GX.consent, + name="dataResource__consent", + curie=GX.curie("consent"), + model_uri=GX.dataResource__consent, + domain=None, + range=Optional[Union[Union[dict, Consent], List[Union[dict, Consent]]]], +) + +slots.consent__legalBasis = Slot( + uri=GX.legalBasis, + name="consent__legalBasis", + curie=GX.curie("legalBasis"), + model_uri=GX.consent__legalBasis, + domain=None, + range=str, +) + +slots.consent__dataProtectionContactPoint = Slot( + uri=GX.dataProtectionContactPoint, + name="consent__dataProtectionContactPoint", + curie=GX.curie("dataProtectionContactPoint"), + model_uri=GX.consent__dataProtectionContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__purpose = Slot( + uri=GX.purpose, + name="consent__purpose", + curie=GX.curie("purpose"), + model_uri=GX.consent__purpose, + domain=None, + range=Union[str, List[str]], +) + +slots.consent__consentWithdrawalContactPoint = Slot( + uri=GX.consentWithdrawalContactPoint, + name="consent__consentWithdrawalContactPoint", + curie=GX.curie("consentWithdrawalContactPoint"), + model_uri=GX.consent__consentWithdrawalContactPoint, + domain=None, + range=Union[str, List[str]], +) + +slots.vMImage__vmImageDiskFormat = Slot( + uri=GX.vmImageDiskFormat, + name="vMImage__vmImageDiskFormat", + curie=GX.curie("vmImageDiskFormat"), + model_uri=GX.vMImage__vmImageDiskFormat, + domain=None, + range=Optional[Union[str, "VMDiskType"]], +) + +slots.vMImage__hypervisorType = Slot( + uri=GX.hypervisorType, + name="vMImage__hypervisorType", + curie=GX.curie("hypervisorType"), + model_uri=GX.vMImage__hypervisorType, + domain=None, + range=Optional[Union[str, "HypervisorType"]], +) + +slots.vMImage__firmwareType = Slot( + uri=GX.firmwareType, + name="vMImage__firmwareType", + curie=GX.curie("firmwareType"), + model_uri=GX.vMImage__firmwareType, + domain=None, + range=Optional[Union[str, "FirmType"]], +) + +slots.vMImage__hwRngTypeOfImage = Slot( + uri=GX.hwRngTypeOfImage, + name="vMImage__hwRngTypeOfImage", + curie=GX.curie("hwRngTypeOfImage"), + model_uri=GX.vMImage__hwRngTypeOfImage, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.vMImage__watchDogAction = Slot( + uri=GX.watchDogAction, + name="vMImage__watchDogAction", + curie=GX.curie("watchDogAction"), + model_uri=GX.vMImage__watchDogAction, + domain=None, + range=Optional[Union[str, "WatchDogActions"]], +) + +slots.serverFlavor__cpu = Slot( + uri=GX.cpu, + name="serverFlavor__cpu", + curie=GX.curie("cpu"), + model_uri=GX.serverFlavor__cpu, + domain=None, + range=Union[dict, CPU], +) + +slots.serverFlavor__ram = Slot( + uri=GX.ram, + name="serverFlavor__ram", + curie=GX.curie("ram"), + model_uri=GX.serverFlavor__ram, + domain=None, + range=Union[dict, Memory], +) + +slots.serverFlavor__gpu = Slot( + uri=GX.gpu, + name="serverFlavor__gpu", + curie=GX.curie("gpu"), + model_uri=GX.serverFlavor__gpu, + domain=None, + range=Optional[Union[dict, GPU]], +) + +slots.serverFlavor__network = Slot( + uri=GX.network, + name="serverFlavor__network", + curie=GX.curie("network"), + model_uri=GX.serverFlavor__network, + domain=None, + range=Optional[str], +) + +slots.serverFlavor__bootVolume = Slot( + uri=GX.bootVolume, + name="serverFlavor__bootVolume", + curie=GX.curie("bootVolume"), + model_uri=GX.serverFlavor__bootVolume, + domain=None, + range=Union[dict, Disk], +) + +slots.serverFlavor__additionalVolume = Slot( + uri=GX.additionalVolume, + name="serverFlavor__additionalVolume", + curie=GX.curie("additionalVolume"), + model_uri=GX.serverFlavor__additionalVolume, + domain=None, + range=Optional[Union[Union[dict, Disk], List[Union[dict, Disk]]]], +) + +slots.serverFlavor__confidentialComputing = Slot( + uri=GX.confidentialComputing, + name="serverFlavor__confidentialComputing", + curie=GX.curie("confidentialComputing"), + model_uri=GX.serverFlavor__confidentialComputing, + domain=None, + range=Optional[Union[dict, ConfidentialComputing]], +) + +slots.serverFlavor__hypervisor = Slot( + uri=GX.hypervisor, + name="serverFlavor__hypervisor", + curie=GX.curie("hypervisor"), + model_uri=GX.serverFlavor__hypervisor, + domain=None, + range=Optional[Union[dict, SoftwareResource]], +) + +slots.serverFlavor__hardwareAssistedVirtualization = Slot( + uri=GX.hardwareAssistedVirtualization, + name="serverFlavor__hardwareAssistedVirtualization", + curie=GX.curie("hardwareAssistedVirtualization"), + model_uri=GX.serverFlavor__hardwareAssistedVirtualization, + domain=None, + range=Optional[Union[bool, Bool]], +) + +slots.serverFlavor__hwRngTypeOfFlavor = Slot( + uri=GX.hwRngTypeOfFlavor, + name="serverFlavor__hwRngTypeOfFlavor", + curie=GX.curie("hwRngTypeOfFlavor"), + model_uri=GX.serverFlavor__hwRngTypeOfFlavor, + domain=None, + range=Optional[Union[str, "RNGTypes"]], +) + +slots.confidentialComputing__technology = Slot( + uri=GX.technology, + name="confidentialComputing__technology", + curie=GX.curie("technology"), + model_uri=GX.confidentialComputing__technology, + domain=None, + range=str, +) + +slots.confidentialComputing__attestationServiceURI = Slot( + uri=GX.attestationServiceURI, + name="confidentialComputing__attestationServiceURI", + curie=GX.curie("attestationServiceURI"), + model_uri=GX.confidentialComputing__attestationServiceURI, + domain=None, + range=Optional[Union[str, URI]], +) diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 1335a28..77dd3b2 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -2,6 +2,7 @@ Methods and classes needed/useful for JSON-LD serialization. """ import inspect + from datetime import date, datetime from typing import List from uuid import uuid4 @@ -18,22 +19,25 @@ from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots from datetime import date, datetime +from typing import List +from uuid import uuid4 -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots - -from linkml_runtime.utils.metamodelcore import URI +from linkml_runtime.linkml_model.meta import ( + EnumDefinition, + PermissibleValue, + PvFormulaOptions, +) from linkml_runtime.utils.enumerations import EnumDefinitionImpl +from linkml_runtime.utils.metamodelcore import URI from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str -from linkml_runtime.linkml_model.meta import EnumDefinition, PermissibleValue, PvFormulaOptions -from typing import List - -from uuid import uuid4 +from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python <<<<<<< HEAD +<<<<<<< HEAD <<<<<<< HEAD classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. """ @@ -42,8 +46,12 @@ def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct classes of Gaia-X Credential does not have an attribute to store instance's id.""" +======= + classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. + """ +>>>>>>> Reformat files - def __init__(self, gx_object: YAMLRoot, gx_id:str=None): + def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index a8b7153..9702139 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -1,4 +1,3 @@ -<<<<<<< HEAD #!/usr/bin/env python3 # vim: set ts=4 sw=4 et: # @@ -14,9 +13,7 @@ import json import generator.common.json_ld as json_ld -======= -from generator.common.json_ld import JsonLdObject ->>>>>>> Add simple FileSystem Wallet + from generator.discovery.openstack.vm_images_discovery import VmDiscovery @@ -24,6 +21,7 @@ from openstack.connection import Connection +s from generator.common.json_ld import JsonLdObject @@ -33,6 +31,7 @@ class OsCloud: "Abstraction for openStack cloud with all its services." + def __init__(self, conn: Connection, config: Dict) -> None: # import copy self.conn = conn diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index b9f2d6e..5d76670 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -63,38 +63,28 @@ def _get_cpu_arch(os_image_arch: str) -> str: import json import urllib3 from linkml_runtime.utils.metamodelcore import URI +from openstack.connection import Connection +from openstack.image.v2.image import Image as OS_Image +import generator.common.const as const from generator.common.expections import MissingMandatoryAttribute - +from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import ChecksumAlgorithm -from generator.common.gx_schema import CPU -from generator.common.gx_schema import Disk -from generator.common.gx_schema import DiskTypes -from generator.common.gx_schema import HypervisorType -from generator.common.gx_schema import Memory -from generator.common.gx_schema import MemorySize -from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import Signature -from generator.common.gx_schema import SignatureAlgorithm -from generator.common.gx_schema import SPDX -from generator.common.gx_schema import UpdateStrategy +from generator.common.gx_schema import ( + CheckSum, + ChecksumAlgorithm, + Disk, + HypervisorType, + Memory, + MemorySize, + OperatingSystem, + Signature, + SignatureAlgorithm, + UpdateStrategy, +) from generator.common.gx_schema import VMImage as GX_Image - from generator.common.json_ld import JsonLdObject -from openstack.connection import Connection -from openstack.image.v2.image import Image as OS_Image - -import generator.common.const as const - -from typing import Dict, Union, List - -from datetime import datetime - -import yaml - def _get_cpu_arch(os_image_arch: str) -> str: try: @@ -104,16 +94,23 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "x86-64" if os_image_arch == "aarch6": return "AArch-32" - if os_image_arch in ["alpha", "armv7l", "lm32", "openrisc", "parisc", "parisc64", "unicore32"]: + if os_image_arch in [ + "alpha", + "armv7l", + "lm32", + "openrisc", + "parisc", + "parisc64", + "unicore32", + ]: return "RISC-V" return CpuArch.other.text except AttributeError as e: raise MissingMandatoryAttribute(e.args) -class VmDiscovery(): - - #def __init__(self) -> None: +class VmDiscovery: + # def __init__(self) -> None: # with open("config/config.yaml", "r") as config_file: # self.config = yaml.safe_load(config_file) @@ -131,10 +128,16 @@ def discover_vm_images(self) -> List[JsonLdObject]: """ images = list() for image in self.conn.list_images(): +<<<<<<< HEAD if image.visibility == 'public': images.append( JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) ) +======= + images.append( + JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) + ) +>>>>>>> Reformat files return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -518,183 +521,279 @@ def _add_operation_system_info( ), ) - def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> None: + def _add_operation_system_info( + self, os_image: OS_Image, gx_image: GX_Image + ) -> None: # Copyright owner and license not supported as Image properties, currently --> Default values from config are used if os_image.os_distro == "arch": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ARCH))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ARCH, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ARCH) + ), + ) elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CENTOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CENTOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CENTOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CENTOS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CENTOS) + ), + ) elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_DEBIAN), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_DEBIAN))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_DEBIAN, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_DEBIAN + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_DEBIAN) + ), + ) elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FEDORA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FEDORA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FEDORA, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FEDORA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FEDORA) + ), + ) elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_FREEBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FREEBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FREEBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_FREEBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_FREEBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_FREEBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_FREEBSD) + ), + ) elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_GENTOO), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_GENTOO))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_GENTOO, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_GENTOO + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_GENTOO) + ), + ) elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRAKE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRAKE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRAKE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRAKE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRAKE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRAKE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRAKE) + ), + ) elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRIVA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRIVA), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRIVA))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MANDRIVA, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_MANDRIVA + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_MANDRIVA + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MANDRIVA) + ), + ) elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MES))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MES, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MES) + ), + ) elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MSDOS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_MSDOS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_MSDOS) + ), + ) elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NETBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NETBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NETBSD, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NETBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NETBSD) + ), + ) elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NOVELL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NOVELL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_NOVELL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_NOVELL + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_NOVELL) + ), + ) elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPENBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPENBSD), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPENBSD))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPENBSD, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPENBSD + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPENBSD + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPENBSD) + ), + ) elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_SOLARIS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_SOLARIS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SOLARIS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SOLARIS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_SOLARIS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_SOLARIS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SOLARIS) + ), + ) elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPEN_SUSE), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPEN_SUSE), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_OPEN_SUSE, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_OPEN_SUSE + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE) + ), + ) elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ROCKY))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ROCKY, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ROCKY) + ), + ) elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_RHEL))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_RHEL, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_RHEL) + ), + ) elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SLED))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_SLED, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), + copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_SLED) + ), + ) elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_UBUNTU), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_UBUNTU))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_UBUNTU, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_UBUNTU + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_UBUNTU) + ), + ) elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_WINDOWS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_WINDOWS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_WINDOWS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_WINDOWS, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_WINDOWS + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_WINDOWS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_WINDOWS) + ), + ) elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CIRROS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CIRROS))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_CIRROS, + resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_CIRROS + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_CIRROS) + ), + ) elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem(version=os_image.os_version, - osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_ALMALINUX), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_ALMALINUX), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ALMALINUX))) + gx_image.operatingSystem = OperatingSystem( + version=os_image.os_version, + osDistribution=const.CONFIG_OS_ALMALINUX, + resourcePolicy=self._get_resource_policy_for_os( + const.CONFIG_OS_ALMALINUX + ), + copyrightOwnedBy=self._get_copyrightowner_for_os( + const.CONFIG_OS_ALMALINUX + ), + license=self._get_license( + self._get_license_for_os(const.CONFIG_OS_ALMALINUX) + ), + ) else: raise ValueError( "Unsupported value for operating system distribution found: '" @@ -704,6 +803,7 @@ def _add_operation_system_info(self, os_image: OS_Image, gx_image: GX_Image) -> def _get_resource_policy_for_os(self, os: str) -> str: try: +<<<<<<< HEAD <<<<<<< HEAD return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ const.CONFIG_RESOURCE_POLICY @@ -712,6 +812,11 @@ def _get_resource_policy_for_os(self, os: str) -> str: ======= return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] >>>>>>> Add simple FileSystem Wallet +======= + return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ + const.CONFIG_RESOURCE_POLICY + ] +>>>>>>> Reformat files except KeyError: return const.DEFAULT_RESOURCE_POLICY @@ -724,12 +829,18 @@ def _get_license_for_os(self, os: str) -> List[str]: return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ const.CONFIG_LICENSE ] +<<<<<<< HEAD +======= +>>>>>>> Reformat files def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: # check if comfig contains image's specific copyright owner try: +<<<<<<< HEAD +======= +>>>>>>> Reformat files gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_COPYRIGHT] @@ -740,12 +851,18 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license +<<<<<<< HEAD gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_LICENSE] +======= + gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ + const.CONFIG_OWN_IMAGES + ][os_image.name][const.CONFIG_LICENSE] +>>>>>>> Reformat files except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -753,8 +870,11 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy +<<<<<<< HEAD +======= +>>>>>>> Reformat files gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_RESOURCE_POLICY] @@ -776,11 +896,11 @@ def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() - for l in licenses: - if l.startswith("http"): - license_list.append(URI(l)) + for lic in licenses: + if lic.startswith("http"): + license_list.append(URI(lic)) else: - license_list.append(l) + license_list.append(lic) return license_list def _add_secure_boot(self, os_image: OS_Image, gx_image: GX_Image) -> None: @@ -819,7 +939,10 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return +<<<<<<< HEAD +======= +>>>>>>> Reformat files gx_image.videoRamSize = MemorySize( value=float(os_image.hw_video_ram), unit=const.UNIT_MB ) @@ -882,11 +1005,17 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: +<<<<<<< HEAD gx_image.buildDate = datetime.strptime( os_image.properties["image_build_date"], "%Y-%m-%d" ) +======= + gx_image.buildDate = datetime.strptime( + os_image.properties["image_build_date"], "%Y-%m-%d" + ) +>>>>>>> Reformat files except KeyError: pass @@ -920,13 +1049,13 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: @staticmethod def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.patchLevel = os_image.properties['patchlevel'] + gx_image.patchLevel = os_image.properties["patchlevel"] except KeyError: pass def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.version = os_image.properties['internal_version'] + gx_image.version = os_image.properties["internal_version"] except KeyError: pass @@ -939,33 +1068,40 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _get_checksum_algo(self, algo: str) -> str: - if algo == 'sha512': - return 'sha-512' - if algo == 'sha224': - return 'sha-224' - if algo == 'sha256': - return 'sha-256' - if algo == 'sha384': - return 'sha-384' - if algo in ['sha-3', 'md5', 'ripemd-160', 'blake2', 'blake3']: + if algo == "sha512": + return "sha-512" + if algo == "sha224": + return "sha-224" + if algo == "sha256": + return "sha-256" + if algo == "sha384": + return "sha-384" + if algo in ["sha-3", "md5", "ripemd-160", "blake2", "blake3"]: return algo return ChecksumAlgorithm.other.text def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: - gx_image.maintenance = os_image.properties['maintained_until'] + gx_image.maintenance = os_image.properties["maintained_until"] except KeyError: pass def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.file = MemorySize(value=float(os_image.size * 1.073741824), unit=const.UNIT_GB) + gx_image.file = MemorySize( + value=float(os_image.size * 1.073741824), unit=const.UNIT_GB + ) def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.signature = Signature( signatureValue=os_image.img_signature, - hashAlgorithm=self._get_checksum_algo(os_image.img_signature_hash_method), - signatureAlgorithm=self._get_signature_algo(os_image.img_signature_key_type)) + hashAlgorithm=self._get_checksum_algo( + os_image.img_signature_hash_method + ), + signatureAlgorithm=self._get_signature_algo( + os_image.img_signature_key_type + ), + ) except AttributeError: pass @@ -1039,5 +1175,11 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: +<<<<<<< HEAD gx_image.hwRngTypeOfImage = "None" +======= + pass + # not supported yet + # gx_image.hwRngTypeOfImage = "None" +>>>>>>> Reformat files diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py index 896b6d2..3c704c3 100644 --- a/generator/wallet/file_wallet.py +++ b/generator/wallet/file_wallet.py @@ -1,11 +1,7 @@ import json import os -from generator.common.json_ld import to_json_ld -from generator.common.json_ld import get_json_ld_context - -from generator.common.json_ld import JsonLdObject - +from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld from generator.wallet.wallet import WalletConnector @@ -21,13 +17,12 @@ def __init__(self, dir: str) -> None: def store_credential(self, credential: JsonLdObject) -> None: super().store_credential(credential) - with open(os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w") as json_file: + with open( + os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" + ) as json_file: props = get_json_ld_context() - props['@graph'] = [credential] + props["@graph"] = [credential] json.dump(props, json_file, indent=4, default=to_json_ld) - - - def get_provider_cred_did(self, service_offering: str) -> str: return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py index 8e5e43a..5c05a31 100644 --- a/generator/wallet/wallet.py +++ b/generator/wallet/wallet.py @@ -1,5 +1,4 @@ -from abc import ABC -from abc import abstractmethod +from abc import ABC, abstractmethod from generator.common.json_ld import JsonLdObject From 55e8c3778347f2fab2c3089d7eecceeb615dcdab Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Tue, 16 Jan 2024 14:34:15 +0100 Subject: [PATCH 168/175] Create python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 1db7538..1b2b751 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -39,3 +39,4 @@ jobs: run: | ls python -m pytest tests/ + From c56ffb325cf595f680fb2dc335db0a4d35d0872a Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Tue, 16 Jan 2024 14:46:40 +0100 Subject: [PATCH 169/175] Fix tests Signed-off-by: Anja Strunk --- .../openstack/vm_images_discovery.py | 46 +------------------ 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 5d76670..ad6b68a 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -128,16 +128,10 @@ def discover_vm_images(self) -> List[JsonLdObject]: """ images = list() for image in self.conn.list_images(): -<<<<<<< HEAD if image.visibility == 'public': images.append( JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) ) -======= - images.append( - JsonLdObject(self._convert_to_gx_image(image), gx_id=image.id) - ) ->>>>>>> Reformat files return images def _convert_to_gx_image(self, os_image: OS_Image) -> GX_Image: @@ -829,18 +823,10 @@ def _get_license_for_os(self, os: str) -> List[str]: return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][os][ const.CONFIG_LICENSE ] -<<<<<<< HEAD - -======= ->>>>>>> Reformat files def _add_copyrigthowner(self, os_image: OS_Image, gx_image: GX_Image) -> None: # check if comfig contains image's specific copyright owner try: -<<<<<<< HEAD - -======= ->>>>>>> Reformat files gx_image.copyrightOwnedBy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_COPYRIGHT] @@ -851,18 +837,10 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific license -<<<<<<< HEAD - gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_LICENSE] - -======= - gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ - const.CONFIG_OWN_IMAGES - ][os_image.name][const.CONFIG_LICENSE] ->>>>>>> Reformat files except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -870,11 +848,6 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: # read mandatory attributes from config or use default values try: # check if comfig contains image's specific resource policy -<<<<<<< HEAD - - -======= ->>>>>>> Reformat files gx_image.resourcePolicy = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_RESOURCE_POLICY] @@ -939,10 +912,6 @@ def _add_video_ram(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: if not os_image.hw_video_ram: return -<<<<<<< HEAD - -======= ->>>>>>> Reformat files gx_image.videoRamSize = MemorySize( value=float(os_image.hw_video_ram), unit=const.UNIT_MB ) @@ -1005,17 +974,10 @@ def _add_name(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: try: -<<<<<<< HEAD - gx_image.buildDate = datetime.strptime( os_image.properties["image_build_date"], "%Y-%m-%d" ) -======= - gx_image.buildDate = datetime.strptime( - os_image.properties["image_build_date"], "%Y-%m-%d" - ) ->>>>>>> Reformat files except KeyError: pass @@ -1175,11 +1137,5 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: -<<<<<<< HEAD - gx_image.hwRngTypeOfImage = "None" -======= - pass - # not supported yet - # gx_image.hwRngTypeOfImage = "None" ->>>>>>> Reformat files + gx_image.hwRngTypeOfImage = "None" From 1f75802e92d8e918c656f535ac23a4c29c78cbe6 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 14:21:52 +0100 Subject: [PATCH 170/175] Fix unit tests Signed-off-by: Anja Strunk --- config/config.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/config/config.yaml b/config/config.yaml index 304a792..694c926 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -135,4 +135,3 @@ default: #wallets: # filesystem: # path: /etc/wallet/gx-credentials/ - From ad43a4b7cfc7dfe365ff84af6a0a77b0c335ae98 Mon Sep 17 00:00:00 2001 From: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Date: Wed, 17 Jan 2024 14:35:15 +0100 Subject: [PATCH 171/175] Update python-app.yml Signed-off-by: anjastrunk <119566837+anjastrunk@users.noreply.github.com> Signed-off-by: Anja Strunk --- .github/workflows/python-app.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/python-app.yml b/.github/workflows/python-app.yml index 1b2b751..1db7538 100644 --- a/.github/workflows/python-app.yml +++ b/.github/workflows/python-app.yml @@ -39,4 +39,3 @@ jobs: run: | ls python -m pytest tests/ - From 192f381f866acdb936ef9834acf3c788c72553ea Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Wed, 17 Jan 2024 17:50:22 +0100 Subject: [PATCH 172/175] Update documentation Signed-off-by: Anja Strunk --- README.md | 1 - cli.py | 20 +++++---- generator/cli.py | 105 ----------------------------------------------- 3 files changed, 13 insertions(+), 113 deletions(-) delete mode 100644 generator/cli.py diff --git a/README.md b/README.md index cf165f6..7136349 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,6 @@ simple SD validator script. Visit the `sd` directory and try to validate your generated SD. Find the examples in `sd` directory and do the validation as follows: - Try to validate a minimal example against the latest GX shapes (feel free to remove some required attribute and check validation result): ```bash diff --git a/cli.py b/cli.py index 8b08cd5..4a294d6 100644 --- a/cli.py +++ b/cli.py @@ -1,3 +1,4 @@ +<<<<<<< HEAD #!/usr/bin/env python3 """Script to validate self-description in JSON-LD format @@ -14,6 +15,10 @@ import sys import warnings +======= +import json +import sys +>>>>>>> Update documentation from typing import List import click @@ -22,20 +27,26 @@ import generator.common.const as const import generator.common.json_ld as json_ld +<<<<<<< HEAD from pyshacl import validate +======= +>>>>>>> Update documentation from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud from generator.wallet.file_wallet import FileSystemWallet from generator.wallet.wallet import WalletConnector from generator.wallet.xfsc_wallet import XFSCWallet +<<<<<<< HEAD import rdflib SHAPES_FILE_FORMAT = "turtle" DATA_FILE_FORMAT = "json-ld" +======= +>>>>>>> Update documentation @click.group() def cli(): @@ -53,13 +64,6 @@ def cli(): # is_flag=True, # help="Use '--no-print' to omit json-ld print on screen.", #) -@click.option( - "--config", - default="config/config.yaml", - help="Path to Configuration file for SCS GX Credential Generator.", -) -@click.option("--timeout", default=12, help="Timeout for API calls in seconds") -@click.argument("cloud") def openstack(cloud, timeout, config): #def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. @@ -135,6 +139,7 @@ def store_creds_in_wallet( w.store_credential(c) +<<<<<<< HEAD def load_file(filepath, file_format=DATA_FILE_FORMAT): """Load file in a given format""" graph = rdflib.Graph() @@ -164,5 +169,6 @@ def load_file(filepath, file_format=DATA_FILE_FORMAT): cli.add_command(kubernetes) #cli.add_command(validate) + if __name__ == "__main__": cli() diff --git a/generator/cli.py b/generator/cli.py deleted file mode 100644 index b23a533..0000000 --- a/generator/cli.py +++ /dev/null @@ -1,105 +0,0 @@ -import json -import sys -from typing import List - -import click -import openstack as os -import yaml - -import generator.common.const as const -import generator.common.json_ld as json_ld -from generator.common.json_ld import JsonLdObject -from generator.discovery.openstack.opentack_discovery import OsCloud -from generator.wallet.file_wallet import FileSystemWallet -from generator.wallet.wallet import WalletConnector -from generator.wallet.xfsc_wallet import XFSCWallet - - -@click.group() -def cli(): - pass - - -@click.command() -@click.option( - "--print-json-ld", - is_flag=True, - help="Use '--print-json-ld' to print all cloud resources as ONE credential on screen.", -) -@click.option( - "--config", - default="../config/config.yaml", - help="Path to Configuration file for SCS GX Credential Generator.", -) -@click.option("--timeout", default=12, help="Timeout for API calls in seconds") -@click.argument("cloud") -def openstack(cloud, timeout, config, print_json_ld): - """Generates Gaia-X Credentials for openstack cloud CLOUD. - CLOUD MUST refer to a name defined in Openstack's configuration file clouds.yaml.""" - - # init Openstack Connections - conn = os.connect(cloud=cloud, timeout=timeout, api_timeout=timeout * 1.5 + 4) - try: - conn.authorize() - except Exception: - print("INFO: Retry connection with 'default' domain", file=sys.stderr) - conn = os.connect( - cloud=cloud, - timeout=timeout, - api_timeout=timeout * 1.5 + 4, - default_domain="default", - project_domain_id="default", - ) - conn.authorize() - - # generate Gaia-X Credentials - with open(config, "r") as config_file: - # init everything - config_dict = yaml.safe_load(config_file) - wallets = init_wallets(config_dict) - os_cloud = OsCloud(conn, config_dict) - - # run discovery - creds = os_cloud.discover_properties() - - # store creds in wallets and print them as overall JSON-LD - store_creds_in_wallet(wallets, creds) - if print_json_ld: - props = json_ld.get_json_ld_context() - props["@graph"] = creds - print(json.dumps(props, indent=4, default=json_ld.to_json_ld)) - - -@click.command() -def kubernetes(): - """Generates Gaia-X Credentials for kubernetes.""" - pass - - -def init_wallets(config: dict) -> List[WalletConnector]: - wallets = list() - for wallet in config[const.CONFIG_WALLETS]: - if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append( - FileSystemWallet( - config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] - ) - ) - elif wallet == const.CONFIG_XFSC_WALLET: - wallets.append(XFSCWallet()) - return wallets - - -def store_creds_in_wallet( - wallets: List[WalletConnector], creds: List[JsonLdObject] -) -> None: - for w in wallets: - for c in creds: - w.store_credential(c) - - -cli.add_command(openstack) -cli.add_command(kubernetes) - -if __name__ == "__main__": - cli() From 1dd8e245bd2752e39f668ca3ee90e236ced54506 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 29 Feb 2024 11:33:18 +0100 Subject: [PATCH 173/175] Refactoring Signed-off-by: Anja Strunk --- README.md | 4 - cli.py | 73 +++++++++---------- .../openstack/vm_images_discovery.py | 17 ++--- generator/wallet/file_wallet.py | 28 ------- generator/wallet/wallet.py | 36 --------- generator/wallet/xfsc_wallet.py | 8 -- 6 files changed, 38 insertions(+), 128 deletions(-) delete mode 100644 generator/wallet/file_wallet.py delete mode 100644 generator/wallet/wallet.py delete mode 100644 generator/wallet/xfsc_wallet.py diff --git a/README.md b/README.md index 7136349..79e7577 100644 --- a/README.md +++ b/README.md @@ -107,10 +107,6 @@ required attribute and check validation result): ``` -## Compliance - -GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). -GX Credential Generator **does not** create W3C complaint [Verifiable Credentials](https://www.w3.org/TR/vc-data-model/). ## Configuration diff --git a/cli.py b/cli.py index 4a294d6..43b5ca2 100644 --- a/cli.py +++ b/cli.py @@ -1,4 +1,3 @@ -<<<<<<< HEAD #!/usr/bin/env python3 """Script to validate self-description in JSON-LD format @@ -15,10 +14,7 @@ import sys import warnings -======= -import json -import sys ->>>>>>> Update documentation + from typing import List import click @@ -27,26 +23,20 @@ import generator.common.const as const import generator.common.json_ld as json_ld -<<<<<<< HEAD from pyshacl import validate -======= ->>>>>>> Update documentation from generator.common.json_ld import JsonLdObject from generator.discovery.openstack.opentack_discovery import OsCloud -from generator.wallet.file_wallet import FileSystemWallet -from generator.wallet.wallet import WalletConnector -from generator.wallet.xfsc_wallet import XFSCWallet +#from generator.wallet.file_wallet import FileSystemWallet +#from generator.wallet.wallet import WalletConnector +#from generator.wallet.xfsc_wallet import XFSCWallet -<<<<<<< HEAD import rdflib SHAPES_FILE_FORMAT = "turtle" DATA_FILE_FORMAT = "json-ld" -======= ->>>>>>> Update documentation @click.group() def cli(): @@ -64,6 +54,11 @@ def cli(): # is_flag=True, # help="Use '--no-print' to omit json-ld print on screen.", #) +@click.option( + "--config", + default="config/config.yaml", + help="Path to Configuration file for SCS GX Credential Generator.", +) def openstack(cloud, timeout, config): #def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. @@ -114,32 +109,30 @@ def kubernetes(): pass -def init_wallets(config: dict) -> List[WalletConnector]: - wallets = list() - try: - for wallet in config[const.CONFIG_WALLETS]: - if wallet == const.CONFIG_FILESYSTEM_WALLET: - wallets.append( - FileSystemWallet( - config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] - ) - ) - elif wallet == const.CONFIG_XFSC_WALLET: - wallets.append(XFSCWallet()) - except KeyError: - pass - return wallets - - -def store_creds_in_wallet( - wallets: List[WalletConnector], creds: List[JsonLdObject] -) -> None: - for w in wallets: - for c in creds: - w.store_credential(c) - - -<<<<<<< HEAD +#def init_wallets(config: dict) -> List[WalletConnector]: +# wallets = list() +# try: +# for wallet in config[const.CONFIG_WALLETS]: +# if wallet == const.CONFIG_FILESYSTEM_WALLET: +# wallets.append( +# FileSystemWallet( +# config[const.CONFIG_WALLETS][const.CONFIG_FILESYSTEM_WALLET]["path"] +# ) +# ) +# elif wallet == const.CONFIG_XFSC_WALLET: +# wallets.append(XFSCWallet()) +# except KeyError: +# pass +# return wallets + + +#def store_creds_in_wallet( +# wallets: List[WalletConnector], creds: List[JsonLdObject] +#) -> None: +# for w in wallets: +# for c in creds: +# w.store_credential(c) + def load_file(filepath, file_format=DATA_FILE_FORMAT): """Load file in a given format""" graph = rdflib.Graph() diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index ad6b68a..9c3c39c 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -17,6 +17,7 @@ import generator.common.const as const #from generator.common.expections import MissingMandatoryAttribute + from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import ( @@ -68,6 +69,7 @@ def _get_cpu_arch(os_image_arch: str) -> str: import generator.common.const as const from generator.common.expections import MissingMandatoryAttribute + from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import ( @@ -106,7 +108,8 @@ def _get_cpu_arch(os_image_arch: str) -> str: return "RISC-V" return CpuArch.other.text except AttributeError as e: - raise MissingMandatoryAttribute(e.args) + #raise MissingMandatoryAttribute(e.args) + return CpuArch.other.text class VmDiscovery: @@ -241,6 +244,7 @@ def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: #raise MissingMandatoryAttribute(e.args) pass + def _add_operation_system_info( self, os_image: OS_Image, gx_image: GX_Image ) -> None: @@ -797,20 +801,9 @@ def _add_operation_system_info( def _get_resource_policy_for_os(self, os: str) -> str: try: -<<<<<<< HEAD -<<<<<<< HEAD - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ - const.CONFIG_RESOURCE_POLICY - ] - -======= - return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][const.CONFIG_RESOURCE_POLICY] ->>>>>>> Add simple FileSystem Wallet -======= return self.config[const.CONFIG_DEFAULT][const.CONFIG_OPERATING_SYSTEM][ const.CONFIG_RESOURCE_POLICY ] ->>>>>>> Reformat files except KeyError: return const.DEFAULT_RESOURCE_POLICY diff --git a/generator/wallet/file_wallet.py b/generator/wallet/file_wallet.py deleted file mode 100644 index 3c704c3..0000000 --- a/generator/wallet/file_wallet.py +++ /dev/null @@ -1,28 +0,0 @@ -import json -import os - -from generator.common.json_ld import JsonLdObject, get_json_ld_context, to_json_ld -from generator.wallet.wallet import WalletConnector - - -class FileSystemWallet(WalletConnector, object): - """ - Abstraction for filesystem acting as a wallet. - """ - - def __init__(self, dir: str) -> None: - super().__init__() - self.dir = dir - - def store_credential(self, credential: JsonLdObject) -> None: - super().store_credential(credential) - - with open( - os.path.join(self.dir, "vm_image_" + credential.gx_id + ".json-ld"), "w" - ) as json_file: - props = get_json_ld_context() - props["@graph"] = [credential] - json.dump(props, json_file, indent=4, default=to_json_ld) - - def get_provider_cred_did(self, service_offering: str) -> str: - return super().get_provider_cred_did(service_offering) diff --git a/generator/wallet/wallet.py b/generator/wallet/wallet.py deleted file mode 100644 index 5c05a31..0000000 --- a/generator/wallet/wallet.py +++ /dev/null @@ -1,36 +0,0 @@ -from abc import ABC, abstractmethod - -from generator.common.json_ld import JsonLdObject - - -class WalletConnector(ABC): - """ - Abstraction for wallet connections. A wallet stores Gaia-X credentials and class WalletsConnector - wraps API calls for different kind of wallets. - """ - - @abstractmethod - def store_credential(self, credential: JsonLdObject) -> None: - """ - Stores given CREDENTIAL in this wallet. - @param credential: credential to be stored in JSON-LD - @type JsonLdObject - @return: None - """ - pass - - @abstractmethod - def get_provider_cred_did(self, service_offering: str) -> str: - """Returns DID of provider of given service offering. - - Parameters - ---------- - service_offering : str - DID of service offering - - Returns - ------- - str - DID of service offering's provider - """ - return "" diff --git a/generator/wallet/xfsc_wallet.py b/generator/wallet/xfsc_wallet.py deleted file mode 100644 index 489c619..0000000 --- a/generator/wallet/xfsc_wallet.py +++ /dev/null @@ -1,8 +0,0 @@ -from generator.wallet.wallet import WalletConnector - - -class XFSCWallet(WalletConnector): - """ - Abstraction XFSC wallet, called Organization Credential Manager. - See https://projects.eclipse.org/projects/technology.xfsc - """ From b9f0d54aeca5ce7cd5ec4a6d9ae34223495513cd Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 29 Feb 2024 13:09:46 +0100 Subject: [PATCH 174/175] sign-off commits Signed-off-by: Anja Strunk --- cli.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/cli.py b/cli.py index 8b08cd5..fc524be 100644 --- a/cli.py +++ b/cli.py @@ -14,6 +14,7 @@ import sys import warnings + from typing import List import click @@ -164,5 +165,6 @@ def load_file(filepath, file_format=DATA_FILE_FORMAT): cli.add_command(kubernetes) #cli.add_command(validate) + if __name__ == "__main__": cli() From a71744a1ac2cb42b8dec2e3e1ef624b965d78126 Mon Sep 17 00:00:00 2001 From: Anja Strunk Date: Thu, 29 Feb 2024 13:11:16 +0100 Subject: [PATCH 175/175] Sign-off commits Signed-off-by: Anja Strunk --- README.md | 8 + cli.py | 2 + generator/common/const.py | 9 +- generator/common/json_ld.py | 70 +-- .../discovery/openstack/opentack_discovery.py | 18 +- .../openstack/vm_images_discovery.py | 407 ------------------ tests/common.py | 2 + tests/test_vm_image_discovery.py | 23 +- 8 files changed, 26 insertions(+), 513 deletions(-) diff --git a/README.md b/README.md index 79e7577..6f9ac7d 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ cd gx-credential-generator pip install -r requirements.txt ``` + ### OpenStack a. Create `clouds.yaml` configuration file @@ -64,7 +65,9 @@ a. Create `clouds.yaml` configuration file - `auth.project_domain_name` - `region_name` + b. Generate Gaia-X Credentials + - To print OpenStack properties in JSON-LD ```bash python3 cli.py openstack @@ -100,6 +103,7 @@ simple SD validator script. Visit the `sd` directory and try to validate your generated SD. Find the examples in `sd` directory and do the validation as follows: + Try to validate a minimal example against the latest GX shapes (feel free to remove some required attribute and check validation result): ```bash @@ -107,6 +111,10 @@ required attribute and check validation result): ``` +## Compliance + +GX Credential Generator creates credentials compliant with the latest (3024/01/19) Credential Schema, which can be downloaded from the [GX registry](https://registry.lab.gaia-x.eu/v1/api/trusted-shape-registry/v1/shapes/trustframework). +GX Credential Generator **does not** create W3C complaint [Verifiable Credentials](https://www.w3.org/TR/vc-data-model/). ## Configuration diff --git a/cli.py b/cli.py index 43b5ca2..70653da 100644 --- a/cli.py +++ b/cli.py @@ -59,6 +59,8 @@ def cli(): default="config/config.yaml", help="Path to Configuration file for SCS GX Credential Generator.", ) +@click.option("--timeout", default=12, help="Timeout for API calls in seconds") +@click.argument("cloud") def openstack(cloud, timeout, config): #def openstack(cloud, timeout, config, no_print, wallet): """Generates Gaia-X Credentials for openstack cloud CLOUD. diff --git a/generator/common/const.py b/generator/common/const.py index d25dc09..e9095f0 100644 --- a/generator/common/const.py +++ b/generator/common/const.py @@ -23,6 +23,7 @@ CONFIG_FILESYSTEM_WALLET = "filesystem" CONFIG_XFSC_WALLET = "xfsc" + CONFIG_OS_ALP = "Alpine Linux" CONFIG_OS_ARCH = "Arch Linux" CONFIG_OS_CENTOS = "CentOS Linux" @@ -46,11 +47,3 @@ CONFIG_OS_WINDOWS = "Microsoft Windows" CONFIG_OS_CIRROS = "CirrOS" CONFIG_OS_ALMALINUX = "AlmaLinux" -<<<<<<< HEAD -DEFAULT_RESOURCE_POLICY = "default: allow intent" -DEFAULT_FIRMWARE_TYPE = "other" -DEFAULT_WATCHDOG_ACTION = "none" - - -UNIT_MB = "https://qudt.org/vocab:unit/MegaBYTE" -UNIT_GB = "https://qudt.org/vocab:unit/GigaBYTE" diff --git a/generator/common/json_ld.py b/generator/common/json_ld.py index 77dd3b2..199d599 100644 --- a/generator/common/json_ld.py +++ b/generator/common/json_ld.py @@ -2,22 +2,6 @@ Methods and classes needed/useful for JSON-LD serialization. """ import inspect - -from datetime import date, datetime -from typing import List -from uuid import uuid4 - -from linkml_runtime.linkml_model.meta import ( - EnumDefinition, - PermissibleValue, - PvFormulaOptions, -) -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from linkml_runtime.utils.metamodelcore import URI -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str - -from generator.common.gx_schema import GX, QUDT, SCHEMA, VCARD, slots - from datetime import date, datetime from typing import List from uuid import uuid4 @@ -36,21 +20,9 @@ class JsonLdObject: """Wrapper class to store properties and id of a GX object instance. This class is required, because python -<<<<<<< HEAD -<<<<<<< HEAD -<<<<<<< HEAD classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. """ - def __init__(self, gx_object: YAMLRoot, gx_id: str = None): - """ - Create a new object of JsonLdObejct - classes of Gaia-X Credential does not have an attribute to store instance's id.""" -======= - classes of Gaia-X Credential does not have an attribute to store instance's id and id is essential in GX Credentials. - """ ->>>>>>> Reformat files - def __init__(self, gx_object: YAMLRoot, gx_id: str = None): """ Create a new object of JsonLdObejct @@ -123,34 +95,7 @@ def to_json_ld(obj) -> dict: continue slot_curie = get_slot_curie(key, obj) if isinstance(value, list): - # Add type for datetime - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:dateTime" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, XSDDate): - # add type for date - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:date" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, float): - # add type for float - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:float" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, str) and value.startswith("http"): - # linkML's python generator maps datatype 'anyURI' to 'string', but we need a URL here. Hence, we must - # check if string is a URL, by evaluation string's start and change datatype in JSON-LD appropriately. - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:anyURI" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, bool): - # add type for boolean - json_ld[slot_curie] = dict() - json_ld[slot_curie]["@type"] = "xsd:boolean" - json_ld[slot_curie]["@value"] = value - elif isinstance(value, list): - if isinstance(value, list): - # call to_json_ld for each entry in list + # call to_json_ld for each entry in list json_ld[slot_curie] = list() for item in value: json_ld[slot_curie].append(to_json_ld(item)) @@ -184,7 +129,7 @@ def to_json_ld(obj) -> dict: def get_slot_curie(slot_name: str, gx_object: object) -> str: """ - Returns curie of slot with given SLOT_NAME of given GX_OBJECT. + Return curie of slot with given SLOT_NAME of given GX_OBJECT. @param slot_name: name of slot whose curie is requested @type slot_name: str @param gx_object: GX object given slot may belong to @@ -201,9 +146,11 @@ def get_slot_curie(slot_name: str, gx_object: object) -> str: def get_types(gx_object: type) -> List[type]: """ - Returns all types as curie of given GX_OBJECT. Types are instance's class as well as all its super classes. - @param gaia_object: GX object, whose type is to be retrived - @type gaia_object: type + Return all types as curie of given GX_OBJECT. Types are instance's class as well as all super classes. + @param gx_object: GX object, whose type is to be retrieved + @type gx_object: type + @return: list of types if given GX_OBJECT + @rtype: list of types """ types = [] for base in _get_super_classes(gx_object): @@ -211,9 +158,6 @@ def get_types(gx_object: type) -> List[type]: types.append(base.class_class_curie) except AttributeError: pass - for base in inspect.getmro(gx_object): - if isinstance(base, YAMLRoot): - types.append(base.class_class_curie) return types diff --git a/generator/discovery/openstack/opentack_discovery.py b/generator/discovery/openstack/opentack_discovery.py index 9702139..93c0ef4 100644 --- a/generator/discovery/openstack/opentack_discovery.py +++ b/generator/discovery/openstack/opentack_discovery.py @@ -11,23 +11,11 @@ from typing import Dict, List -import json -import generator.common.json_ld as json_ld - - -from generator.discovery.openstack.vm_images_discovery import VmDiscovery - -from linkml_runtime.utils.yamlutils import YAMLRoot - from openstack.connection import Connection -s - - from generator.common.json_ld import JsonLdObject -from uuid import uuid4 -import generator.common.json_ld as json_ld -from generator.common.gx_schema import VMImage +from generator.discovery.openstack.vm_images_discovery import VmDiscovery + class OsCloud: "Abstraction for openStack cloud with all its services." @@ -43,9 +31,11 @@ def discover_properties(self) -> List[JsonLdObject]: """ Discover all attributes of OS Cloud. + @return: all attributes as list of YAMLRoot """ creds = list() vm_dis = VmDiscovery(self.conn, self.config) creds.extend(vm_dis.discover_vm_images()) + return creds diff --git a/generator/discovery/openstack/vm_images_discovery.py b/generator/discovery/openstack/vm_images_discovery.py index 9c3c39c..77d2f3c 100644 --- a/generator/discovery/openstack/vm_images_discovery.py +++ b/generator/discovery/openstack/vm_images_discovery.py @@ -17,59 +17,6 @@ import generator.common.const as const #from generator.common.expections import MissingMandatoryAttribute - -from generator.common.gx_schema import CPU, SPDX -from generator.common.gx_schema import Architectures as CpuArch -from generator.common.gx_schema import ( - CheckSum, - ChecksumAlgorithm, - Disk, - HypervisorType, - Memory, - MemorySize, - OperatingSystem, - Signature, - SignatureAlgorithm, - UpdateStrategy, -) -from generator.common.gx_schema import VMImage as GX_Image -from generator.common.json_ld import JsonLdObject - - -def _get_cpu_arch(os_image_arch: str) -> str: - try: - if os_image_arch == "i686": - return "x86-32" - if os_image_arch in ["x86_64", "ia64"]: - return "x86-64" - if os_image_arch == "aarch6": - return "AArch-32" - if os_image_arch in [ - "alpha", - "armv7l", - "lm32", - "openrisc", - "parisc", - "parisc64", - "unicore32", - ]: - return "RISC-V" - return CpuArch.other.text - except AttributeError as e: - #raise MissingMandatoryAttribute(e.args) - return CpuArch.other.text - -import typing -from json import JSONDecoder -import json -import urllib3 -from linkml_runtime.utils.metamodelcore import URI -from openstack.connection import Connection -from openstack.image.v2.image import Image as OS_Image - -import generator.common.const as const -from generator.common.expections import MissingMandatoryAttribute - from generator.common.gx_schema import CPU, SPDX from generator.common.gx_schema import Architectures as CpuArch from generator.common.gx_schema import ( @@ -244,281 +191,6 @@ def _add_min_disk_req(self, image: OS_Image, gx_image: GX_Image) -> None: #raise MissingMandatoryAttribute(e.args) pass - - def _add_operation_system_info( - self, os_image: OS_Image, gx_image: GX_Image - ) -> None: - # Copyright owner and license not supported as Image properties, currently --> Default values from config are used - - if os_image.os_distro == "arch": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_ARCH, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ARCH), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ARCH), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ARCH) - ), - ) - elif os_image.os_distro == "centos": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_CENTOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CENTOS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CENTOS - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CENTOS) - ), - ) - elif os_image.os_distro == "debian": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_DEBIAN, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_DEBIAN), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_DEBIAN - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_DEBIAN) - ), - ) - elif os_image.os_distro == "fedora": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_FEDORA, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_FEDORA), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FEDORA - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FEDORA) - ), - ) - elif os_image.os_distro == "freebsd": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_FREEBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_FREEBSD - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_FREEBSD - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_FREEBSD) - ), - ) - elif os_image.os_distro == "gentoo": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_GENTOO, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_GENTOO), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_GENTOO - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_GENTOO) - ), - ) - elif os_image.os_distro == "mandrake": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRAKE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRAKE - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRAKE - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRAKE) - ), - ) - elif os_image.os_distro == "mandriva": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_MANDRIVA, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_MANDRIVA - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_MANDRIVA - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MANDRIVA) - ), - ) - elif os_image.os_distro == "mes": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_MES, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MES), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MES), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MES) - ), - ) - elif os_image.os_distro == "msdos": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_MSDOS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_MSDOS), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_MSDOS), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_MSDOS) - ), - ) - elif os_image.os_distro == "netbsd": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_NETBSD, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NETBSD), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NETBSD - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NETBSD) - ), - ) - elif os_image.os_distro == "netware": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_NOVELL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_NOVELL), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_NOVELL - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_NOVELL) - ), - ) - elif os_image.os_distro == "openbsd": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPENBSD, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPENBSD - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPENBSD - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPENBSD) - ), - ) - elif os_image.os_distro == "opensolaris": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_SOLARIS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_SOLARIS - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_SOLARIS - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SOLARIS) - ), - ) - elif os_image.os_distro == "opensuse": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_OPEN_SUSE, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_OPEN_SUSE - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_OPEN_SUSE - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_OPEN_SUSE) - ), - ) - elif os_image.os_distro == "rocky": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_ROCKY, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_ROCKY), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_ROCKY), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ROCKY) - ), - ) - elif os_image.os_distro == "rhel": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_RHEL, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_RHEL), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_RHEL), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_RHEL) - ), - ) - elif os_image.os_distro == "sled": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_SLED, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_SLED), - copyrightOwnedBy=self._get_copyrightowner_for_os(const.CONFIG_OS_SLED), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_SLED) - ), - ) - elif os_image.os_distro == "ubuntu": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_UBUNTU, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_UBUNTU), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_UBUNTU - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_UBUNTU) - ), - ) - elif os_image.os_distro == "windows": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_WINDOWS, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_WINDOWS - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_WINDOWS - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_WINDOWS) - ), - ) - elif os_image.os_distro == "cirros": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_CIRROS, - resourcePolicy=self._get_resource_policy_for_os(const.CONFIG_OS_CIRROS), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_CIRROS - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_CIRROS) - ), - ) - elif os_image.os_distro == "almalinux": - gx_image.operatingSystem = OperatingSystem( - version=os_image.os_version, - osDistribution=const.CONFIG_OS_ALMALINUX, - resourcePolicy=self._get_resource_policy_for_os( - const.CONFIG_OS_ALMALINUX - ), - copyrightOwnedBy=self._get_copyrightowner_for_os( - const.CONFIG_OS_ALMALINUX - ), - license=self._get_license( - self._get_license_for_os(const.CONFIG_OS_ALMALINUX) - ), - ) - def _add_operation_system_info( self, os_image: OS_Image, gx_image: GX_Image ) -> None: @@ -833,7 +505,6 @@ def _add_license(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.license = self.config[const.CONFIG_CLOUD_RESOURCES][ const.CONFIG_OWN_IMAGES ][os_image.name][const.CONFIG_LICENSE] - except KeyError: gx_image.license = gx_image.operatingSystem.license @@ -849,18 +520,6 @@ def _add_resource_policy(self, os_image: OS_Image, gx_image: GX_Image) -> None: def _get_license(self, licenses: List[str]) -> List[Union[str, SPDX]]: license_list = list() - for lic in licenses: - if lic.startswith("http"): - license_list.append(URI(lic)) - else: - license_list.append(lic) - return license_list - - - @staticmethod - def _get_license(licenses: List[str]) -> List[Union[str, SPDX]]: - - license_list = list() for lic in licenses: if lic.startswith("http"): @@ -970,39 +629,16 @@ def _add_build_date(self, os_image: OS_Image, gx_image: GX_Image) -> None: gx_image.buildDate = datetime.strptime( os_image.properties["image_build_date"], "%Y-%m-%d" ) - except KeyError: pass def _add_license_included(self, os_image: OS_Image, gx_image: GX_Image) -> None: - try: gx_image.licenseIncluded = os_image.properties["licenseIncluded"] except KeyError: pass def _add_patch_level(self, os_image: OS_Image, gx_image: GX_Image) -> None: - - try: - gx_image.patchLevel = os_image.properties["patchlevel"] - except KeyError: - pass - - - def _add_version(self, os_image: OS_Image, gx_image: GX_Image) -> None: - try: - gx_image.version = os_image.properties["internal_version"] - except KeyError: - pass - - def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: - try: - algo = self._get_checksum_algo(os_image.hash_algo) - value = os_image.hash_value - gx_image.checksum = CheckSum(checkSumValue=value, checkSumCalculation=algo) - - @staticmethod - def _add_patch_level(os_image: OS_Image, gx_image: GX_Image) -> None: try: gx_image.patchLevel = os_image.properties["patchlevel"] except KeyError: @@ -1022,46 +658,6 @@ def _add_checksum(self, os_image: OS_Image, gx_image: GX_Image) -> None: except AttributeError: pass - def _get_checksum_algo(self, algo: str) -> str: - if algo == "sha512": - return "sha-512" - if algo == "sha224": - return "sha-224" - if algo == "sha256": - return "sha-256" - if algo == "sha384": - return "sha-384" - if algo in ["sha-3", "md5", "ripemd-160", "blake2", "blake3"]: - return algo - return ChecksumAlgorithm.other.text - - def _add_maintenance_until(self, os_image: OS_Image, gx_image: GX_Image) -> None: - try: - gx_image.maintenance = os_image.properties["maintained_until"] - except KeyError: - pass - - def _add_file_size(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.file = MemorySize( - value=float(os_image.size * 1.073741824), unit=const.UNIT_GB - ) - - def _add_signature(self, os_image: OS_Image, gx_image: GX_Image) -> None: - try: - gx_image.signature = Signature( - signatureValue=os_image.img_signature, - hashAlgorithm=self._get_checksum_algo( - os_image.img_signature_hash_method - ), - signatureAlgorithm=self._get_signature_algo( - os_image.img_signature_key_type - ), - ) - except AttributeError: - pass - - - def _get_checksum_algo(self, algo: str) -> str: if algo == "sha512": return "sha-512" @@ -1120,8 +716,6 @@ def _get_signature_algo(self, algo: str) -> str: return SignatureAlgorithm.other.text def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: - - try: gx_image.aggregationOfResources = self.config[const.CONFIG_OWN_IMAGES][ os_image.name @@ -1130,5 +724,4 @@ def _add_aggregation_of(self, os_image: OS_Image, gx_image: GX_Image) -> None: pass def _add_rng_model(self, os_image: OS_Image, gx_image: GX_Image) -> None: - gx_image.hwRngTypeOfImage = "None" diff --git a/tests/common.py b/tests/common.py index fe44886..a9d5e33 100644 --- a/tests/common.py +++ b/tests/common.py @@ -20,6 +20,7 @@ from typing import List + class OpenstackTestcase(unittest.TestCase): def check_gaia_x_entity(self, ob_1: GaiaXEntity, ob_2: GaiaXEntity): self.assertEqual(ob_1.name, ob_2.name, @@ -171,6 +172,7 @@ def check_vm_image(self, ob_1: VMImage, ob_2: VMImage): self.assertEqual(ob_1.hwRngTypeOfImage, str(ob_2.hwRngTypeOfImage), "VM_Image.hwRngTypeOfImage") self.assertEqual(ob_1.watchDogAction, str(ob_2.watchDogAction), "VM_Image.watchDogAction") + class TestConnection: """ Wrap connection to OpenStack Cluster diff --git a/tests/test_vm_image_discovery.py b/tests/test_vm_image_discovery.py index ee4c174..cb257f1 100644 --- a/tests/test_vm_image_discovery.py +++ b/tests/test_vm_image_discovery.py @@ -23,27 +23,6 @@ from tests.common import OpenstackTestcase from tests.common import TestConnection -from generator.common.gx_schema import Architectures as CpuArch -from generator.common.gx_schema import CheckSum -from generator.common.gx_schema import CPU -from generator.common.gx_schema import Disk -from generator.common.gx_schema import Memory -from generator.common.gx_schema import MemorySize -from generator.common.gx_schema import OperatingSystem -from generator.common.gx_schema import WatchDogActions -from generator.common.gx_schema import VMImage as GX_Image - -from generator.common.json_ld import to_json_ld - -from generator.discovery.openstack.vm_images_discovery import VmDiscovery - -from openstack.image.v2.image import Image as OS_Image - -from pyshacl import validate - -from tests.common import OpenstackTestcase -from tests.common import TestConnection - def _get_gx_images(): @@ -242,6 +221,7 @@ def test_discovery_vm_images(self): self.check_vm_image(image_1.gx_object, image_2.gx_object) def test_json_ld(self): + conforms, _, _ = validate(data_graph=json.dumps( _get_gx_images()[0], indent=4, default=to_json_ld), @@ -253,5 +233,6 @@ def test_json_ld(self): self.assertTrue(conforms) + if __name__ == '__main__': unittest.main()